1.4. 장애 조치 영역 생성


1.4.1. Elytron의 장애 조치 영역

하나의 보안 영역이 실패하는 경우 Elytron에서는 다른 하나를 백업으로 사용하도록 Elytron에서 두 개의 기존 보안 영역을 참조하는 장애 조치( failover) 보안 영역인 페일오버-realm 을 구성할 수 있습니다.

Elytron의 페일오버 는 다음 두 가지 보안 영역을 참조합니다.

  • delegate-realm: 사용할 기본 보안 영역입니다.
  • failover-realm: 백업으로 사용할 보안 영역입니다.

페일오버-realm 구성 예

/subsystem=elytron/failover-realm=exampleSecurityRealm:add(delegate-realm=exampleLDAPRealm,failover-realm=exampleFileSystemRealm)

예제에서 ldap-realmLDAPRealm 은 delegate realm 및 exampleFileSystemRealm 으로 사용됩니다. 이 방법은 filesystem-realmfailover-realm 으로 사용됩니다. ldap-realm 이 실패하는 경우 Elytron은 인증 및 권한 부여를 위해 filesystem-realm 을 사용합니다.

참고

페일오버-realm 에서는 delegate -realm 이 실패하는 경우에만 페일오버 -realm이 호출됩니다. delegate -realm 에 대한 연결이 성공하지만 필요한 ID를 찾을 수 없는 경우 장애 조치 영역은 호출되지 않습니다. 여러 보안 영역에서 ID를 검색하려면 distributed-realm 을 사용합니다.

1.4.2. 장애 조치 영역에 필요한 보안 영역을 생성하는 예

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

1.4.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: userPassword1

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

예제에 사용되는 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>)

    예제

    /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"}

  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>"}]})

    예제

    /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"}]})
    {"outcome" => "success"}

이제 이 영역을 사용하여 보안 도메인을 생성하거나 페일오버-realm ,distributed-realm 또는 aggregate-realm 의 다른 영역과 결합할 수 있습니다. ldap -realm 에 대해 캐싱-realm 을 구성하여 조회 결과를 캐시하고 성능을 향상시킬 수도 있습니다.

1.4.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>)

    예제

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

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

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

      구문

      /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:add-identity(identity=<user_name>)

      예제

      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:add-identity(identity=user1)
      {"outcome" => "success"}

    2. 사용자의 암호를 설정합니다.

      구문

      /subsystem=elytron/filesystem-realm=<filesystem_realm_name>:set-password(identity=<user_name>, clear={password=<password>})

      예제

      /subsystem=elytron/filesystem-realm=exampleFileSystemRealm:set-password(identity=user1, clear={password="passwordUser1"})
      {"outcome" => "success"}

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

      구문

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

      예제

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

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

1.4.3. Elytron에서 장애 조치(failover) 만들기

기존 보안 영역을 위임 영역, 사용할 기본 영역 및 페일오버 영역으로 참조하는 Elytron에 장애 조치(failover) 보안 영역을 만듭니다. Elytron은 위임 영역이 실패하는 경우 구성된 장애 조치 영역을 사용합니다. 보안 영역을 사용하여 관리 인터페이스 또는 서버에 배포된 애플리케이션에 인증 및 권한 부여를 추가하는 보안 도메인을 생성합니다.

사전 요구 사항

  • JBoss EAP가 실행 중입니다.
  • 위임 및 페일오버 영역으로 사용할 영역을 생성했습니다.

프로세스

  1. 기존 보안 영역에서 페일오버-realm 을 만듭니다.

    구문

    /subsystem=elytron/failover-realm=<failover_realm_name>:add(delegate-realm=<realm_to_use_by_default>,failover-realm=<realm_to_use_as_backup>)

    예제

    /subsystem=elytron/failover-realm=exampleSecurityRealm:add(delegate-realm=exampleLDAPRealm,failover-realm=exampleFileSystemRealm)
    {"outcome" => "success"}

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

    구문

    /subsystem=elytron/simple-role-decoder=<role_decoder_name>:add(attribute=<attribute>)

    예제

    /subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles)
    {"outcome" => "success"}

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

    구문

    /subsystem=elytron/security-domain=<security_domain_name>:add(default-realm=<failover_realm_name>,permission-mapper=default-permission-mapper,realms=[{realm=<failover_realm_name>,role-decoder="<role_decoder_name>"}])

    예제

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

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

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동