5.11. 사용자 프로필 정의


Red Hat Single Sign-On에서 사용자는 속성 세트와 연결되어 있습니다. 이러한 속성은 Red Hat Single Sign-On 내의 사용자를 더 잘 설명하고 식별하며 애플리케이션에 대한 추가 정보를 전달하는 데 사용됩니다.

사용자 프로필은 사용자 특성을 나타내고 영역 내에서 관리되는 방법을 나타내는 잘 정의된 스키마를 정의합니다. 이를 통해 관리자는 사용자 정보에 대한 일관된 보기를 제공하여 속성 관리 방법에 대한 다양한 측면을 제어하고 추가 특성을 지원하기 위해 Red Hat Single Sign-On을 훨씬 쉽게 확장할 수 있습니다.

다른 기능 중에서 사용자 프로필을 사용하면 관리자가 다음을 수행할 수 있습니다.

  • 사용자 속성에 대한 스키마 정의
  • 컨텍스트 정보에 따라 속성이 필요한지 여부를 정의합니다(예: 사용자 또는 관리자만 필요한 경우 또는 요청된 범위에 따라 둘 다 필요한 경우)
  • 사용자 속성 보기 및 편집에 대한 특정 권한을 정의하여 일부 속성을 보거나 변경할 수 없는 강력한 개인 정보 보호 요구 사항을 준수할 수 있습니다(관리자 포함)
  • 사용자 정보가 항상 업데이트되고 속성과 관련된 메타데이터 및 규칙을 준수하도록 사용자 프로필 컴플라이언스를 동적으로 적용
  • 기본 제공 유효성 검사기를 활용하거나 사용자 지정 항목을 작성하여 특성별로 유효성 검사 규칙을 정의합니다.
  • 특성 정의에 따라 사용자가 등록, 업데이트 프로파일, 브로커링 및 개인 정보와 같이 상호 작용하는 양식을 동적으로 렌더링합니다.

사용자 프로필 기능은 User Profile SPI에 의해 지원됩니다. 기본적으로 이러한 기능은 비활성화되어 있으며 영역은 기존 동작과 역호환성을 유지하는 기본 구성을 사용하도록 구성됩니다.

참고

레거시 동작은 사용자 이름, 이메일, 이름, 사용자 정의 속성 관리 방법에 대한 제한 없이 Red Hat Single Sign-On에서 사용하는 기본 제약 조건을 유지하는 것입니다. 계정 콘솔을 통한 계정 등록, 프로파일 업데이트, 브로커링 및 관리와 같은 사용자 흐름과 관련하여 사용자는 앞서 언급한 속성을 사용하여 추가 속성을 지원하기 위해 이전에 지정한 특성을 변경할 수 있습니다.

Red Hat Single Sign-On을 이미 사용 중인 경우 기존 동작으로 지금까지 사용 중인 것입니다.

기존 동작과 달리 선언적 공급자는 관리 콘솔 및 잘 정의된 JSON 스키마를 통해 영역에 사용자 프로필 구성을 정의할 수 있는 유연성을 제공합니다.

다음 섹션에서는 선언적 공급자를 사용하여 자체 사용자 프로필 구성을 정의하는 방법을 살펴보겠습니다.

참고

향후 Red Hat Single Sign-On에서는 레거시 동작이 더 이상 지원되지 않습니다. 이상적으로 User Profile에서 제공하는 새로운 기능을 살펴보고 그에 따라 해당 영역을 마이그레이션해야 합니다.

5.11.1. 사용자 프로필 활성화

참고

선언적 사용자 프로필은 기술 프리뷰 이며 완전히 지원되지 않습니다. 이 기능은 기본적으로 비활성화되어 있습니다.

-Dkeycloak.profile=preview 또는 -Dkeycloak.profile.feature.declarative_user_profile=enabled 를 사용하여 서버를 시작하려면 다음을 수행합니다. 자세한 내용은 프로필을 참조하십시오.

declarative_user_profile 기능을 활성화하는 것 외에도 영역에 대해 User Profile을 활성화해야 합니다. 이렇게 하려면 왼쪽 메뉴에서 CloudEvent Settings 링크를 클릭하고 User Profile Enabled 스위치를 켭니다.

user profile enabling

활성화한 후 저장 버튼을 클릭하면 사용자 속성에 대한 구성을 관리할 수 있는 위치에서 User Profile (사용자 프로필) 탭에 액세스할 수 있습니다.

영역의 사용자 프로필을 활성화하면 Red Hat Single Sign-On은 사용자 프로필 구성에 따라 속성을 관리하는 방법에 대한 추가 제약 조건이 적용됩니다. 요약하면 이 기능이 활성화될 때 예상되는 사항 목록은 다음과 같습니다.

  • 관리 관점에서 사용자 세부 정보 페이지의 속성 탭에는 사용자 프로필 구성에 정의된 속성만 표시됩니다. 특성별로 정의된 조건도 특성을 관리할 때 고려됩니다.
  • 계정 콘솔의 등록, 업데이트 프로파일, 브로커링 및 개인 정보와 같은 사용자 대면 양식은 사용자 프로필 구성에 따라 동적으로 렌더링됩니다. 이를 위해 Red Hat Single Sign-On은 서로 다른 템플릿을 사용하여 이러한 양식을 동적으로 렌더링할 예정입니다.

다음 주제에서는 사용자 프로필 구성을 관리하는 방법과 해당 구성이 귀하의 영역에 미치는 영향에 대해 살펴보겠습니다.

5.11.2. 사용자 프로필 관리

사용자 프로필 구성은 실제 기준으로 관리됩니다. 이를 위해 왼쪽 메뉴에서 CloudEvent Settings 링크를 클릭한 다음 User Profile 탭을 클릭합니다.

사용자 프로필 탭

user profile tab

특성 하위 탭에는 현재 사용자 프로필과 연결된 속성 목록이 있습니다. 기본적으로 구성은 사용자 루트 속성을 기반으로 생성되며 각 속성은 검증 및 권한 부여 측면에서 몇 가지 기본값으로 구성됩니다.

특성 그룹 하위 탭에서 특성 그룹을 관리할 수 있습니다. 특성 그룹을 사용하면 사용자가 폼을 렌더링할 때 속성의 상관 관계를 조정할 수 있습니다.An attribute group allows you to correlate attributes so that they are displayed together when rendering user facet forms.

참고

현재 속성 그룹은 렌더링 목적에만 사용되지만 나중에 연결된 속성에 대한 최상위 구성을 정의할 수도 있어야 합니다.

JSON 편집기 하위 탭에서는 잘 정의된 JSON 스키마를 사용하여 구성을 보고 편집할 수 있습니다. 다른 탭에서 변경한 내용은 이 탭에 표시된 JSON 구성에 반영됩니다.

다음 섹션에서는 특성 하위 탭에서 구성을 관리하는 방법을 알아봅니다.

5.11.3. 속성 관리

특성 하위 탭에서 사용자 프로필과 연결된 특성을 생성, 편집 및 삭제할 수 있습니다.

새 속성을 정의하고 사용자 프로필과 연결하려면 속성 목록의 오른쪽 상단에 있는 만들기 버튼을 클릭합니다.

특성 구성

user profile create attribute

특성을 구성할 때 다음 설정을 정의할 수 있습니다.

이름
특성의 이름입니다.
표시 이름
속성의 사용자에게 친숙한 이름, 주로 사용자 방향 양식을 렌더링할 때 사용됩니다. 메시지 번들에서 값을 로드할 수 있도록 국제화를 지원합니다.
특성 그룹
속성이 속하는 속성 그룹(있는 경우)입니다.
범위 시 활성화됨
특성을 동적으로 사용하도록 범위 목록을 정의할 수 있습니다. 설정하지 않으면 속성이 항상 활성화되며 사용자 프로필을 관리할 때는 사용자용 양식을 렌더링할 때에도 해당 제한 조건이 항상 적용됩니다. 그렇지 않으면 클라이언트에서 목록의 범위를 요청하는 경우에만 동일한 제약 조건이 적용됩니다.
필수 항목
필요에 따라 속성을 설정합니다. 활성화되지 않은 경우 속성은 선택 사항입니다. 그렇지 않으면 사용자 및 관리자에게 특성을 제공해야 하며, 클라이언트가 요청한 범위를 기반으로 사용자 또는 관리자에게만 필요한 속성도 수행할 수 있습니다.
권한
이 섹션에서는 사용자와 관리자에 대한 읽기 및 쓰기 권한을 정의할 수 있습니다.
검증
이 섹션에서는 특성 값을 관리할 때 수행할 검증을 정의할 수 있습니다. Red Hat Single Sign-On에서는 자체적으로 추가할 수 있는 다양한 기본 제공 검증기를 제공합니다.
주석
이 섹션에서는 주석을 속성에 연결할 수 있습니다. 주석은 렌더링을 위해 추가 메타데이터를 프런트 엔드에 전달하는 데 주로 유용합니다.

5.11.3.1. 권한 관리

Permission 섹션에서 사용자 액세스 수준을 정의할 수 있으며 관리자는 특성을 읽고 쓸 수 있습니다.

속성 권한

user profile permission

이를 위해 다음 설정을 사용할 수 있습니다.

사용자가 볼 수 있습니까?
활성화된 경우 사용자가 특성을 볼 수 있습니다. 그렇지 않으면 사용자가 속성에 액세스할 수 없습니다.
사용자가 편집할 수 있습니까?
활성화된 경우 사용자는 특성을 보고 편집할 수 있습니다. 그렇지 않으면 사용자가 속성에 쓸 수 있는 권한이 없습니다.
admin view 할 수 있습니까?
활성화된 경우 관리자는 속성을 볼 수 있습니다. 그렇지 않으면 관리자가 속성에 액세스할 수 없습니다.
관리자가 편집할 수 있습니까?
사용 가능한 경우 관리자는 특성을 보고 편집할 수 있습니다. 그렇지 않으면 관리자가 해당 속성에 쓸 수 있는 권한이 없습니다.
참고

특성을 생성할 때 속성으로 설정된 권한이 없습니다. 결과적으로 사용자 또는 관리자가 속성에 액세스할 수 없습니다. 특성을 만든 후에는 대상 대상 사용자만 속성을 볼 수 있도록 권한을 설정해야 합니다.Once you create the attribute, make sure to set the permissions accordingly to that the attribute is only visible by the target audience.

권한 부여는 특성을 관리하는 방법과 사용자를 위한 양식에서 속성을 렌더링하는 방법에 대한 직접적인 영향을 미칩니다.

예를 들어, 사용자가 속성을 볼 수 있는 것으로 표시함으로써 관리자는 관리 콘솔(사용자 API에서)을 통해 사용자를 관리할 때 속성에 액세스할 수 없습니다. 또한 사용자는 프로필을 업데이트할 때 속성을 변경할 수 없습니다. 기존 ID 저장소(federation)에서 사용자 속성을 가져오고 소스 ID 저장소 이외의 속성을 업데이트하지 않고 사용자에게 속성을 표시하도록 하는 경우 흥미로운 구성입니다.

마찬가지로, 사용자에 대한 읽기 전용 액세스 권한이 있는 관리자에게만 속성을 쓰기 가능으로 표시할 수도 있습니다. 이 경우 관리자만 특성을 관리할 수 있습니다.

개인 정보 보호 요구 사항에 따라 사용자에 대한 읽기-쓰기 권한이 있는 속성에 관리자에 액세스할 수 없게 될 수도 있습니다.

사용자 프로필 구성에 새 속성을 추가할 때마다 올바른 권한을 설정해야 합니다.

5.11.3.2. 검증 관리

유효성 검사 섹션에서 다양한 형식의 유효성 검사를 선택하여 특성 값이 특정 규칙을 준수하는지 확인할 수 있습니다.In the Validation section, you can choose from different forms of validation to make sure the attribute value conforms to specific rules.

특성 유효성 검사

user profile validation

Red Hat Single Sign-On은 즉시 다양한 검증기를 제공합니다.

이름설명설정

길이

최소 및 최대 길이에 따라 문자열 값의 길이를 확인합니다.

min: 허용되는 최소 길이를 정의하는 정수입니다.

최대 허용 길이를 정의하는 정수입니다.

Trim-disabled: 유효성 검사 전에 값을 제거할지 여부를 정의하는 부울입니다.

integer

값이 정수이고 낮은 범위 및/또는 상위 범위 내에 있는지 확인합니다. 범위를 정의하지 않으면 유효성 검사기에서 값이 유효한 숫자인지 여부만 확인합니다.

min: 더 낮은 범위를 정의하는 정수입니다.

max: 상한 범위를 정의하는 정수입니다.

double

값이 double이고 더 낮은 범위 및/또는 상위 범위 내에 있는지 확인합니다. 범위를 정의하지 않으면 유효성 검사기에서 값이 유효한 숫자인지 여부만 확인합니다.

min: 더 낮은 범위를 정의하는 정수입니다.

max: 상한 범위를 정의하는 정수입니다.

uri

값이 유효한 URI인지 확인합니다.

없음

패턴

값이 특정 RegEx 패턴과 일치하는지 확인합니다.

패턴: 값을 검증할 때 사용할 RegEx 패턴입니다.

Error-message: i18n 번들의 오류 메시지 키입니다. 설정하지 않으면 일반 메시지가 사용됩니다.

email

값에 유효한 이메일 형식이 있는지 확인합니다.

없음

local-date

영역 및/또는 사용자 로케일에 따라 값의 유효한 형식이 있는지 확인합니다.

없음

person-name-prohibited-characters

값이 스크립트 삽입과 같은 공격에 대한 추가 장벽으로 유효한 사람 이름인지 확인합니다. 유효성 검사는 사용자 이름에 일반이 아닌 문자를 차단하는 기본 RegEx 패턴을 기반으로 합니다.

Error-message: i18n 번들의 오류 메시지 키입니다. 설정하지 않으면 일반 메시지가 사용됩니다.

username-prohibited-characters

값이 스크립트 삽입과 같은 공격에 대한 추가 장벽으로 유효한 사용자 이름인지 확인합니다. 유효성 검사는 사용자 이름에서 일반적이지 않은 문자를 차단하는 기본 RegEx 패턴을 기반으로 합니다.

Error-message: i18n 번들의 오류 메시지 키입니다. 설정하지 않으면 일반 메시지가 사용됩니다.

options

값이 정의된 허용되는 값 집합에서 있는지 확인합니다. select 및 multiselect 필드를 통해 입력한 값을 확인하는 데 유용합니다.

options: 허용되는 값을 포함하는 문자열의 배열입니다.

5.11.3.2.1. 주석 관리

추가 정보를 프런트 엔드에 전달하기 위해 속성을 주석으로 장식하여 속성을 렌더링하는 방법을 지정할 수 있습니다. 이 기능은 주로 Red Hat Single Sign-On 주제를 확장하여 속성과 관련된 주석을 기반으로 페이지를 동적으로 렌더링할 때 유용합니다. 이 메커니즘은 예를 들어 속성에 대해 양식 입력 filed를 구성하는 데 사용됩니다.

특성 주석

user profile annotation

5.11.4. 특성 그룹 관리

특성 그룹 하위 탭에서 특성 그룹을 생성, 편집 및 삭제할 수 있습니다. 특성 그룹을 사용하면 사용자 쪽 양식에서 함께 렌더링되도록 관련 속성의 컨테이너를 정의할 수 있습니다.

특성 그룹 목록

user profile attribute group list

참고

속성에 바인딩된 특성 그룹을 삭제할 수 없습니다. 이를 위해 먼저 특성을 업데이트하여 바인딩을 제거해야 합니다.

새 그룹을 만들려면 속성 그룹 목록의 오른쪽 상단에 있는 만들기 버튼을 클릭합니다.

특성 그룹 구성

user profile create attribute group

그룹을 구성할 때 다음 설정을 정의할 수 있습니다.

이름
그룹의 이름입니다.
표시 이름
그룹에 대해 사용자에게 친숙한 이름으로, 주로 사용자 연결 양식을 렌더링할 때 사용됩니다. 메시지 번들에서 값을 로드할 수 있도록 국제화를 지원합니다.
설명 표시
사용자 방향 양식을 렌더링할 때 툴팁으로 표시되는 사용자에게 친숙한 텍스트입니다.
주석
이 섹션에서는 주석을 속성에 연결할 수 있습니다. 주석은 렌더링을 위해 추가 메타데이터를 프런트 엔드에 전달하는 데 주로 유용합니다.

5.11.5. JSON 구성 사용

사용자 프로필 구성은 잘 정의된 JSON 스키마를 사용하여 저장됩니다. JSON 편집기 하위 탭을 클릭하여 사용자 프로필 구성을 직접 편집하도록 선택할 수 있습니다.

JSON 설정

user profile json config

JSON 스키마는 다음과 같이 정의됩니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "required": {
        "roles": [ "user", "admin" ],
        "scopes": [ "foo", "bar" ]
      },
      "permissions": {
        "view": [ "admin", "user" ],
        "edit": [ "admin", "user" ]
      },
      "validations": {
        "email": {},
        "length": {
          "max": 255
        }
      },
      "annotations": {
        "myannotation": "myannotation-value"
      }
    }
  ],
  "groups": [
    {
      "name": "personalInfo",
      "displayHeader": "Personal Information"
    }
  ]
}

스키마는 필요한 만큼의 속성을 지원합니다.

각 속성에 대해 필요한,권한주석 설정을 선택적으로 정의해야 합니다.

5.11.5.1. 필수 속성

required 설정은 속성이 필요한지 여부를 정의합니다. Red Hat Single Sign-On을 사용하면 다양한 조건에 따라 필요에 따라 속성을 설정할 수 있습니다.

필수 설정이 빈 오브젝트로 정의되면 항상 속성이 필요합니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "required": {}
  ]
}

반면 사용자 또는 관리자 또는 둘 다에 필요한 속성을 설정하도록 선택할 수 있습니다. 사용자가 Red Hat Single Sign-On에서 인증할 때 특정 범위가 요청되는 경우에만 속성을 필요에 따라 표시합니다.

사용자 및/또는 관리자에게 필요한 속성을 표시하려면 다음과 같이 roles 속성을 설정합니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "required": {
        "roles": ["user"]
      }
  ]
}

roles 속성에는 각각 사용자 또는 관리자에게 속성이 필요한지 여부에 따라 값이 사용자 또는 admin 일 수 있는 배열이 필요합니다.

마찬가지로 사용자를 인증할 때 클라이언트가 하나 이상의 범위를 요청할 때 필요한 속성을 만들 수 있습니다. 다음과 같이 scopes 속성을 사용할 수 있습니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "required": {
        "scopes": ["foo"]
      }
  ]
}

scopes 속성은 클라이언트 범위를 나타내는 모든 문자열 값이 될 수 있는 배열입니다.

5.11.5.2. permissions 속성

특성 수준 권한 속성을 사용하여 속성에 대한 읽기 및 쓰기 권한을 정의할 수 있습니다. 권한은 사용자 또는 관리자의 특성 또는 둘 다에서 이러한 작업을 수행할 수 있는지 여부에 따라 설정됩니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "permissions": {
        "view": ["admin"],
        "edit": ["user"]
      }
  ]
}

보기편집 속성은 각각 속성을 볼 수 있는지 또는 관리자가 속성을 편집할 수 있는지에 따라 사용자 또는 관리자 의 값이 사용자 또는 관리자 중 하나일 수 있는 배열을 예상합니다.

편집 권한이 부여되면 권한이 암시적으로 부여됩니다.

5.11.5.3. annotations 속성

attribute-level 주석 속성을 사용하여 추가 메타데이터를 속성에 연결할 수 있습니다. 주석은 사용자 프로필 구성을 기반으로 특성을 프론트엔드에 렌더링하는 사용자 속성에 대한 추가 정보를 전달하는 데 주로 유용합니다. 각 주석은 키/값 쌍입니다.

{
  "attributes": [
    {
      "name": "myattribute",
      "annotations": {
        "foo": ["foo-value"],
        "bar": ["bar-value"]
      }
  ]
}

5.11.6. 동적 양식 사용

User Profile의 주요 기능 중 하나는 속성 메타데이터에 따라 사용자용 양식을 동적으로 렌더링할 수 있다는 점입니다. 영역에 기능이 활성화되면 등록 및 업데이트 프로필과 같은 양식이 특정 topic 템플릿을 사용하여 렌더링되어 사용자 프로필 구성을 기반으로 페이지를 동적으로 렌더링합니다.

즉, 기본 렌더링 메커니즘이 요구 사항에 적합한 경우 템플릿을 전혀 사용자 지정할 필요가 없습니다. 여전히 이러한 문제에 대한 사용자 지정이 필요한 경우 다음을 확인해야 하는 템플릿은 다음과 같습니다.

템플릿설명

base/login/update-user-profile.ftl

업데이트 프로필 페이지를 렌더링하는 템플릿입니다.

base/login/register-user-profile.ftl

등록 페이지를 렌더링하는 템플릿입니다.

base/login/idp-review-user-profile.ftl

브로커를 통해 사용자를 페더링할 때 사용자 프로필을 검토/업데이트하기 위해 페이지를 렌더링하는 템플릿입니다.

base/login/user-profile-commons.ftl

특성 구성에 따라 입력 필드를 양식으로 렌더링하는 템플릿입니다. 위에서 설명한 세 페이지 템플릿 모두에서 사용됩니다. 여기에서 새로운 입력 유형을 구현할 수 있습니다.

기본 렌더링 메커니즘은 다음과 같은 기능을 제공합니다.

  • 속성으로 설정된 권한에 따라 필드를 동적으로 표시합니다.
  • 속성으로 설정된 제약 조건에 따라 필수 필드의 마커를 동적으로 렌더링합니다.
  • 동적으로 필드 입력 유형(텍스트, 날짜, 번호, 선택, 다중 선택)을 속성으로 설정합니다.
  • 속성으로 설정된 권한에 따라 읽기 전용 필드를 동적으로 렌더링합니다.
  • 속성으로 설정된 순서에 따라 필드의 순서를 동적으로 정렬합니다.
  • 동일한 특성 그룹에 속하는 필드를 동적으로 그룹화합니다.

5.11.6.1. 순서 지정 속성

특성 목록 페이지에서 위쪽 및 아래쪽 화살표를 클릭하여 속성 순서를 설정합니다.

속성 순서 지정

user profile attribute list order

이 페이지에서 설정한 순서는 필드가 동적 형식으로 렌더링될 때 적용됩니다.

5.11.6.2. 특성 그룹화

동적 양식이 렌더링되면 동일한 특성 그룹에 속하는 속성을 그룹화하려고 합니다.

동적 업데이트 프로필 양식

user profile update profile

참고

특성이 특성 그룹에 연결되어 있는 경우 동일한 그룹 내의 속성이 동일한 그룹 헤더 내에서 함께 닫히도록 속성 순서도 중요합니다. 그렇지 않으면 그룹 내의 속성이 순차적 순서에 없는 경우 동일한 그룹 헤더가 동적 형식으로 여러 번 렌더링될 수 있습니다.

5.11.6.3. 속성에 대해 제출된 양식 입력 구성

Red Hat Single Sign-On은 동적 양식 및 시각화의 속성에 사용할 입력 유형을 구성하는 기본 주석을 제공합니다.

사용 가능한 주석은 다음과 같습니다.

이름설명

inputType

형식 입력 필드의 유형입니다. 사용 가능한 유형은 아래 표에 설명되어 있습니다.

inputHelperTextBefore

입력 필드 이전에 렌더링된 도우미 텍스트입니다. 여기에서 직접 텍스트 또는 국제화 패턴(예: ${i18n.key})을 사용할 수 있습니다. 텍스트가 페이지에 렌더링될 때 html 이스케이프되지 않으므로 여기에 HTML 태그를 사용하여 텍스트를 포맷할 수 있지만 html 제어 문자도 올바르게 이스케이프해야 합니다.

inputHelperTextAfter

입력 필드 이후에 도움말 텍스트가 렌더링되었습니다. 여기에서 직접 텍스트 또는 국제화 패턴(예: ${i18n.key})을 사용할 수 있습니다. 텍스트가 페이지에 렌더링될 때 html 이스케이프되지 않으므로 여기에 HTML 태그를 사용하여 텍스트를 포맷할 수 있지만 html 제어 문자도 올바르게 이스케이프해야 합니다.

inputOptionsFromValidation

select 및 multiselect 유형의 주석입니다. 사용자 정의 속성 검증의 선택적 이름으로 부터 입력 옵션을 가져옵니다. 자세한 설명은 아래를 참조하십시오.

inputOptionLabelsI18nPrefix

select 및 multiselect 유형의 주석입니다. UI에서 옵션을 렌더링하는 국제화 키 접두사입니다. 자세한 설명은 아래를 참조하십시오.

inputOptionLabels

select 및 multiselect 유형의 주석입니다. 옵션에 대한 UI 레이블을 정의하는 선택적 맵입니다(직접 또는 국제화 사용). 자세한 설명은 아래를 참조하십시오.

inputTypePlaceholder

필드에 적용되는 HTML 입력 자리 표시자 특성 - 입력 필드의 예상 값(예: 샘플 값 또는 예상 형식의 짧은 설명)을 설명하는 짧은 힌트를 지정합니다. 사용자가 값을 입력하기 전에 입력 필드에 짧은 힌트가 표시됩니다.

inputTypeSize

필드에 적용되는 HTML 입력 크기 특성 - 단일 줄 입력 필드의 너비를 문자 단위로 지정합니다. HTML 선택 유형을 기반으로 하는 필드의 경우 표시된 옵션이 있는 행 수를 지정합니다. 사용 된 주제의 css에 따라 작동하지 않을 수 있습니다!

inputTypeCols

필드에 적용되는 HTML 입력 cols 특성 - textarea 유형의 너비를 문자 단위로 지정합니다. 사용 된 주제의 css에 따라 작동하지 않을 수 있습니다!

inputTypeRows

필드에 적용되는 HTML 입력 특성 - 텍스트 영역 유형에 대한 높이를 지정합니다. 선택 필드의 경우 옵션이 표시된 행 수를 지정합니다. 사용 된 주제의 css에 따라 작동하지 않을 수 있습니다!

inputTypePattern

클라이언트 측 검증을 제공하는 필드에 적용되는 HTML 입력 패턴 특성 - 입력 필드의 값을 확인하는 정규식을 지정합니다. 단일 줄 입력에 유용합니다.

inputTypeMaxLength

필드에 적용된 HTML 입력 maxlength 속성 - 입력 필드에 입력할 수 있는 텍스트의 최대 길이인 클라이언트 측 유효성 검사를 제공합니다. 텍스트 필드에 유용합니다.

inputTypeMinLength

필드에 적용된 HTML 입력 minlength 속성 - 입력 필드에 입력할 수 있는 텍스트의 최소 길이인 클라이언트 측 유효성 검사를 제공합니다. 텍스트 필드에 유용합니다.

inputTypeMax

필드에 적용된 HTML 입력 max 속성은 입력 필드에 입력할 수 있는 클라이언트 측 검증 - 최대 값을 제공합니다. 숫자 필드에 유용합니다.

inputTypeMin

필드에 적용된 HTML 입력 min 속성 - 입력 필드에 입력할 수 있는 클라이언트 측 유효성 검사를 제공하는 최소 값입니다. 숫자 필드에 유용합니다.

inputTypeStep

필드에 적용되는 HTML 입력 단계 특성 - 입력 필드에서 적법한 숫자 간의 간격을 지정합니다. 숫자 필드에 유용합니다.

참고

필드 유형에서는 HTML 양식 필드 태그와 적용되는 속성을 사용합니다. HTML 사양과 브라우저 지원에 따라 작동합니다.

또한 비주얼 렌더링은 사용된me에 적용된 css style에 따라 달라집니다.

사용 가능한 inputType 주석 값:

이름설명사용된 HTML 태그

text

단일 줄 텍스트 입력.

input

textarea

여러 줄 텍스트 입력.

textarea

선택 사항

공통 단일 선택 입력. 아래 옵션을 구성하는 방법을 설명합니다.

선택 사항

Select-radiobuttons

라디오 버튼 그룹을 통해 단일 선택 입력. 아래 옵션을 구성하는 방법을 설명합니다.

입력 그룹

MultiSelect

일반적인 다중 선택 입력입니다. 아래 옵션을 구성하는 방법을 설명합니다.

선택 사항

multiselect-checkboxes

확인란 그룹을 통해 입력을 선택합니다. 아래 옵션을 구성하는 방법을 설명합니다.

입력 그룹

html5-email

HTML 5 사양을 기반으로 한 이메일 주소에 대한 단일 줄 텍스트 입력.

input

html5-tel

HTML 5 사양을 기반으로 전화 번호에 대한 단일 줄 텍스트 입력.

input

html5-url

HTML 5 사양을 기반으로 하는 URL에 대한 단일 줄 텍스트 입력.

input

html5-number

HTML 5 사양에 따라 숫자( 단계별정수 또는 부동 소수점)에 대한 단일 줄 입력입니다.

input

html5-range

HTML 5 사양을 기반으로 입력한 숫자의 축소입니다.

input

html5-datetime-local

HTML 5 사양을 기반으로 하는 날짜 시간 입력.

input

html5-date

HTML 5 사양을 기반으로 하는 날짜 입력입니다.

input

html5-month

HTML 5 사양을 기반으로 한 월 입력입니다.

input

html5-week

HTML 5 사양을 기반으로 하는 주 입력.

input

html5-time

HTML 5 사양을 기반으로 하는 시간 입력.

input

5.11.6.3.1. select 및 multiselect 필드에 대한 옵션 정의

select 및 multiselect 필드에 대한 옵션은 유효성 검사에서 가져와 검증에 적용되어 UI에 제공된 필드 옵션이 항상 일관되게 유지되도록 합니다. 기본적으로 옵션은 기본 제공 옵션 검증에서 가져옵니다.

select 및 multiselect 옵션에 대해 다양한 방법으로 사람이 읽을 수 있는 레이블을 제공할 수 있습니다. 가장 간단한 경우는 특성 값이 UI 레이블과 같은 경우입니다. 이 경우에는 추가 구성이 필요하지 않습니다.

UI 라벨과 동일한 옵션 값

user profile select options simple

특성 값이 UI에 적합하지 않은 경우 inputOptionLabelsI18nPrefix 주석에서 제공하는 간단한 국제화 지원을 사용할 수 있습니다. 국제화 키의 접두사를 정의합니다. 옵션 값은 이 접두사에 추가되는 점입니다.

i18n 키 접두사를 사용한 UI 라벨에 대한 간단한 국제화

user profile select options simple i18n

옵션 값에 대한 로컬화된 UI 레이블 텍스트는 공통 로컬화 메커니즘을 사용하여 userprofile.jobtitle.swenguserprofile.jobtitle.swarch 키를 통해 제공해야 합니다.

또한 inputOptionLabels 주석을 사용하여 개별 옵션에 대한 라벨을 제공할 수도 있습니다. 여기에는 옵션에 대한 레이블 맵이 포함되어 있습니다. 맵의 key는 옵션 값(Validation에서 정의됨)이며 맵의 값은 UI 라벨 텍스트 자체이거나 해당 옵션에 대한 국제화 패턴(예: ${i18n.key})입니다.

참고

User Profile JSON 편집기 를 사용하여 map을 inputOptionLabels 주석 값으로 입력해야 합니다.

국제화가 없는 개별 옵션에 대해 직접 입력한 레이블의 예는 다음과 같습니다.

"attributes": [
...
{
  "name": "jobTitle",
  "validations": {
    "options": {
      "options":[
        "sweng",
        "swarch"
      ]
    }
  },
  "annotations": {
    "inputType": "select",
    "inputOptionLabels": {
      "sweng": "Software Engineer",
      "swarch": "Software Architect"
    }
  }
}
...
]

개별 옵션에 대한 국제화된 레이블의 예:

"attributes": [
...
{
  "name": "jobTitle",
  "validations": {
    "options": {
      "options":[
        "sweng",
        "swarch"
      ]
    }
  },
  "annotations": {
    "inputType": "select-radiobuttons",
    "inputOptionLabels": {
      "sweng": "${jobtitle.swengineer}",
      "swarch": "${jobtitle.swarchitect}"
    }
  }
}
...
]

지역화된 텍스트를 Jobtitle.swovn 및 jobtitle.sw architect 키를 통해 제공한 다음 공통 현지화 메커니즘을 사용해야 합니다.

사용자 정의 검증기를 사용하면 inputOptionsFromValidation 속성 주석으로 옵션을 제공할 수 있습니다. 이 검증에는 다양한 옵션을 제공하는 옵션 config가 있어야 합니다. 국제화는 기본 제공 옵션 검증에서 제공하는 옵션과 동일한 방식으로 작동합니다.

사용자 정의 검증기에서 제공하는 옵션

user profile select options custom validator

5.11.7. 사용자 프로필 규정 준수 강제 적용

사용자 프로필이 구성을 준수하도록 하려면 관리자는 VerifyProfile 필수 조치를 사용하여 결국 사용자가 Red Hat Single Sign-On에 인증할 때 프로필을 업데이트하도록 할 수 있습니다.

참고

VerifyProfile 작업은 UpdateProfile 작업과 유사합니다. 그러나 사용자 프로필에서 제공하는 모든 기능을 활용하여 사용자 프로필 구성의 준수를 자동으로 시행합니다.

활성화되면 사용자가 인증할 때 VerifyProfile 작업이 다음 단계를 수행합니다.

  • 사용자 프로필이 영역으로 설정된 사용자 프로필 구성을 완전히 준수하는지 확인합니다.
  • 그렇지 않은 경우 인증 중에 추가 단계를 수행하여 사용자가 누락되거나 유효하지 않은 속성을 업데이트할 수 있습니다.
  • 사용자 프로필이 구성과 호환되는 경우 추가 단계가 수행되지 않으며 사용자는 인증 프로세스를 계속합니다.

기본적으로 VerifyProfile 작업이 비활성화됩니다. 활성화하려면 왼쪽 메뉴에서 Authentication 링크를 클릭한 다음 Required Actions 탭을 클릭합니다. 이 탭에서 Register 버튼을 클릭하고 VerifyProfile 작업을 선택합니다.

VerifyProfile 필수 작업 등록

user profile register verify profile action

5.11.8. 사용자 프로필로 마이그레이션

영역에 User Profile 기능을 활성화하기 전에 알아야 할 몇 가지 중요한 고려 사항이 있습니다. 특성 메타데이터를 관리할 수 있는 단일 환경을 제공하므로 이 기능은 사용자에게 설정할 수 있는 속성과 관리 방법에 대해 매우 엄격한 기능입니다.

사용자 관리 측면에서 관리자는 사용자 프로필 구성에 정의된 속성만 관리할 수 있습니다. 사용자로 설정하고 사용자 프로필 구성에 아직 정의되어 있지 않은 다른 속성에는 액세스할 수 없습니다. 사용자 또는 관리자에게 노출하려는 모든 사용자 속성으로 사용자 프로필 구성을 업데이트하는 것이 좋습니다.

사용자 정보를 쿼리하기 위해 User REST API에 액세스하는 사용자에게 동일한 권장 사항이 적용됩니다.

해당 속성에 액세스하려면 LDAP_ID,LDAP_ENTRY_DN, KERBEROS_PRINCIPAL 과 같은 Red Hat Single Sign-On 내부 사용자 속성에 대한 속성을 액세스할 수 있습니다. 관리 콘솔을 통해 사용자 속성을 관리하거나 사용자 API를 통해 사용자를 쿼리할 때 이러한 속성을 관리자에게만 볼 수 있도록 이러한 속성을 관리자에게만 표시하는 것이 좋습니다.

파일과 관련하여 기존 템플릿(사용자 루트 속성을 사용하여 하드 코딩됨)에 대한 사용자 지정이 이미 있는 경우 사용자 쪽 양식을 렌더링하지만 이러한 양식을 동적으로 렌더링하는 새 템플릿을 사용하지 않습니다. 이상적으로 템플릿에 사용자 정의를 사용하지 말고 이러한 새 템플릿에서 제공하는 동작을 계속하여 양식을 동적으로 렌더링하는 것이 좋습니다. 요구 사항을 해결하기에 아직 충분하지 않은 경우 새 템플릿을 개선하는 것이 적합한지 여부를 논의할 수 있도록 사용자 지정하거나 피드백을 제공할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.