1장. ID 저장소 구성


1.1. 집계 영역 생성

1.1.1. Elytron의 집계 영역

집계 영역, 집계-realm 을 사용하면 인증 및 다른 보안 영역 또는 Elytron의 승인을 위해 여러 보안 영역의 집계를 위해 하나의 보안 영역을 사용할 수 있습니다.

예를 들어, 파일 시스템 -realm의 인증 및 집계ldap-realm 을 사용하고 승인을 위해 ldap-realm 을 사용하도록 집계-realm을 구성할 수 있습니다.

ID는 다음과 같이 여러 권한 부여 영역으로 구성된 집계 영역에서 생성됩니다.

  • 각 권한 부여 영역의 속성 값이 로드됩니다.
  • 속성이 두 개 이상의 권한 부여 영역에 정의된 경우 처음 생성된 속성 값이 사용됩니다.

다음 예제에서는 여러 권한 부여 영역에 동일한 ID 속성에 대한 정의가 포함된 경우 ID가 생성되는 방법을 보여줍니다.

집계 영역 구성의 예

/subsystem=elytron/aggregate-realm=exampleSecurityRealm:add(authentication-realm=exampleLDAPRealm,authorization-realms=[exampleLDAPRealm,exampleFileSystemRealm])
Copy to Clipboard Toggle word wrap

이 예제에서 구성된 aggregate-realm 은 LDAP 영역인 "exampleLDAPRealm"과 파일 시스템 영역인 "exampleFilesystemRealm"이라는 두 개의 기존 보안 영역을 참조합니다.

  • LDAP 영역에서 얻은 속성 값입니다.

    mail: administrator@example.com
    telephoneNumber: 0000 0000
    Copy to Clipboard Toggle word wrap
  • 파일 시스템 영역에서 얻은 속성 값입니다.

    mail: user@example.com
    website: http://www.example.com/
    Copy to Clipboard Toggle word wrap

집계 영역에서 얻은 결과 ID:

mail: administrator@example.com
telephoneNumber: 0000 0000
website: http://www.example.com/
Copy to Clipboard Toggle word wrap

예제 aggregate-realm 은 LDAP 영역이 파일 시스템 영역보다 먼저 참조되므로 LDAP 영역에 정의된 속성의 값을 사용합니다.

1.1.2. 집계 영역에 필요한 보안 영역을 생성하는 예

다음 예제에서는 ldap-realmfilesystem-realm 생성을 보여줍니다. 이러한 보안 영역은 집계- 현지에서 참조할 수 있습니다.

1.1.2.1. Elytron 예제에서 ldap-realm 생성

LDAP(Lightweight Directory Access Protocol) ID 저장소에서 지원하는 Elytron 보안 영역을 생성하여 JBoss EAP 서버 인터페이스 또는 서버에 배포된 애플리케이션을 보호합니다.

이 절차의 예에서는 다음 LDAP Data Interchange Format(LDIF)이 사용됩니다.

dn: ou=Users,dc=wildfly,dc=org
objectClass: organizationalUnit
objectClass: top
ou: Users

dn: uid=user1,ou=Users,dc=wildfly,dc=org
objectClass: top
objectClass: person
objectClass: inetOrgPerson
cn: user1
sn: user1
uid: user1
userPassword: passwordUser1
mail: administrator@example.com
telephoneNumber: 0000 0000

dn: ou=Roles,dc=wildfly,dc=org
objectclass: top
objectclass: organizationalUnit
ou: Roles

dn: cn=Admin,ou=Roles,dc=wildfly,dc=org
objectClass: top
objectClass: groupOfNames
cn: Admin
member: uid=user1,ou=Users,dc=wildfly,dc=org
Copy to Clipboard Toggle word wrap

예제에 사용되는 LDAP 연결 매개변수는 다음과 같습니다.

  • LDAP URL: ldap://10.88.0.2
  • LDAP 관리자 암호: secret

    Elytron은 LDAP 서버와 연결하려면 이 작업이 필요합니다.

  • LDAP 관리자 고유 이름(DN): (cn=admin,dc=wildfly,dc=org)
  • LDAP 조직: wildfly

    조직 이름을 지정하지 않으면 기본값은 Example Inc 입니다.

  • LDAP 도메인: wildfly.org

    이는 플랫폼에 LDAP 검색 참조가 수신될 때 일치하는 이름입니다.

사전 요구 사항

  • LDAP ID 저장소를 구성했습니다.
  • JBoss EAP가 실행 중입니다.

프로세스

  1. LDAP 서버에 연결하는 데 사용되는 URL과 주체를 제공하는 디렉터리 컨텍스트를 구성합니다.

    /subsystem=elytron/dir-context=<dir_context_name>:add(url="<LDAP_URL>",principal="<principal_distinguished_name>",credential-reference=<credential_reference>)
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/dir-context=exampleDirContext:add(url="ldap://10.88.0.2",principal="cn=admin,dc=wildfly,dc=org",credential-reference={clear-text="secret"})
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

  2. 디렉터리 컨텍스트를 참조하는 LDAP 영역을 생성합니다. Search Base DN과 사용자 매핑 방법을 지정합니다.

    구문

    /subsystem=elytron/ldap-realm=<ldap_realm_name>add:(dir-context=<dir_context_name>,identity-mapping=search-base-dn="ou=<organization_unit>,dc=<domain_component>",rdn-identifier="<relative_distinguished_name_identifier>",user-password-mapper={from=<password_attribute_name>},attribute-mapping=[{filter-base-dn="ou=<organization_unit>,dc=<domain_component>",filter="<ldap_filter>",from="<ldap_attribute_name>",to="<identity_attribute_name>"}]})
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/ldap-realm=exampleLDAPRealm:add(dir-context=exampleDirContext,identity-mapping={search-base-dn="ou=Users,dc=wildfly,dc=org",rdn-identifier="uid",user-password-mapper={from="userPassword"},attribute-mapping=[{filter-base-dn="ou=Roles,dc=wildfly,dc=org",filter="(&(objectClass=groupOfNames)(member={1}))",from="cn",to="Roles"},{from="mail",to="mail"},{from="telephoneNumber",to="telephoneNumber"}]})
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

이제 이 영역을 사용하여 보안 도메인을 생성하거나 페일오버-realm ,distributed-realm 또는 aggregate-realm 의 다른 영역과 결합할 수 있습니다.

1.1.2.2. Ely tron에서 파일 시스템 생성 예

파일 시스템 기반 ID 저장소에서 지원하는 Elytron 보안 영역을 생성하여 JBoss EAP 서버 인터페이스 또는 서버에 배포된 애플리케이션을 보호합니다.

사전 요구 사항

  • JBoss EAP가 실행 중입니다.

프로세스

  1. Elytron에서 filesystem-realm 을 만듭니다.

    구문

    /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add(path=<file_path>)
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add(path=fs-realm-users,relative-to=jboss.server.config.dir)
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

  2. 사용자를 영역에 추가하고 사용자 역할을 구성합니다.

    1. 사용자를 추가합니다.

      구문

      /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)
      Copy to Clipboard Toggle word wrap

      예제

      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add-identity(identity=user1)
      {"outcome" => "success"}
      Copy to Clipboard Toggle word wrap

    2. 사용자의 역할을 설정합니다.

      구문

      /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>,name=<roles_attribute_name>, value=[<role_1>,<role_N>])
      Copy to Clipboard Toggle word wrap

      예제

      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add-identity-attribute(identity=user1, name=Roles, value=["Admin","Guest"])
      {"outcome" => "success"}
      Copy to Clipboard Toggle word wrap

    3. 사용자의 속성을 설정합니다.

      구문

      /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity-attribute(identity=<user_name>,name=<attribute_name>, value=[<attribute_value>])
      Copy to Clipboard Toggle word wrap

      예제

      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add-identity-attribute(identity=user1, name=mail, value=["user@example.com"])
      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add-identity-attribute(identity=user1, name=website, value=["http://www.example.com/"])
      Copy to Clipboard Toggle word wrap

이제 이 영역을 사용하여 보안 도메인을 생성하거나 페일오버-realm ,distributed-realm 또는 aggregate-realm 의 다른 영역과 결합할 수 있습니다.

1.1.3. Elytron에서 집계- 현지 생성

권한을 위해 여러 보안 영역 의 인증 및 집계에 하나의 보안 영역을 사용하는 Elytron에 집계를 생성합니다. aggregate-realm 을 사용하여 관리 인터페이스 및 배포된 애플리케이션에 인증 및 권한 부여를 추가하는 보안 도메인을 생성합니다.

사전 요구 사항

  • JBoss EAP가 실행 중입니다.
  • 집계 영역에서 참조할 영역을 생성했습니다.

프로세스

  1. 기존 보안 영역에서 집계 를 생성합니다.

    구문

    /subsystem=elytron/aggregate-realm=<aggregate_realm_name>:add(authentication-realm=<security_realm_for_authentication>, authorization-realms=[<security_realm_for_authorization_1>,<security_realm_for_authorization_2>,...,<security_realm_for_authorization_N>])
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/aggregate-realm=exampleSecurityRealm:add(authentication-realm=exampleLDAPRealm,authorization-realms=[exampleLDAPRealm,exampleFileSystemRealm])
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

  2. 특성을 역할에 매핑하는 역할 디코더를 생성합니다.

    구문

    /subsystem=elytron/simple-role-decoder=<role_decoder_name>:add(attribute=<attribute>)
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles)
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

  3. aggregate-realm 및 역할 디코더를 참조하는 보안 도메인을 생성합니다.

    구문

    /subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<aggregate_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<aggregate_realm_name>,role-decoder="<role_decoder_name>"}])
    Copy to Clipboard Toggle word wrap

    예제

    /subsystem=elytron/security-domain=exampleSecurityDomain:add(default-realm=exampleSecurityRealm,permission-mapper=default-permission-mapper,realms=[{realm=exampleSecurityRealm,role-decoder="from-roles-attribute"}])
    {"outcome" => "success"}
    Copy to Clipboard Toggle word wrap

이제 생성된 보안 도메인을 사용하여 관리 인터페이스 및 애플리케이션에 인증 및 권한 부여를 추가할 수 있습니다. 자세한 내용은 관리 인터페이스 및 애플리케이션 보안을 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동