4.5. OpenID-Connect 클라이언트를 사용하여 Red Hat Single Sign-On에서 EAP 애플리케이션 자동 등록

이 예에서는 OpenID-Connect 클라이언트 어댑터를 사용하여 EAP 프로젝트에 대해 Red Hat Single Sign-On 영역, 역할 및 사용자 자격 증명을 준비합니다. 이러한 자격 증명은 자동으로 Red Hat Single Sign-On 클라이언트 등록을 위해 OpenShift용 EAP 템플릿에 제공됩니다. 배포되면 Red Hat Single Sign-On 사용자를 사용하여 JBoss EAP 인증 및 액세스할 수 있습니다.

참고

이 예에서는 OpenID-Connect 클라이언트를 사용하지만 SAML 클라이언트도 사용할 수 있습니다. OpenID - Connect와 SAML 클라이언트 간의 차이점에 대한 자세한 내용은 Red Hat Single Sign-On Client 등록 방법 및 자동 및 수동 Red Hat Single Sign -On 클라이언트 등록 방법을 참조하십시오.

사전 요구 사항

4.5.1. OpenShift 배포를 위한 Red Hat Single Sign-On 인증 준비

cluster:admin 역할을 보유한 사용자로 OpenShift CLI에 로그인합니다.

  1. 새 프로젝트를 생성합니다.

    $ oc new-project eap-app-demo
  2. default 서비스 계정에 view 역할을 추가합니다. 이를 통해 서비스 계정에서 클러스터를 관리하는 데 필요한 CloudEvent -app-demo 네임스페이스의 모든 리소스를 볼 수 있습니다.

    $ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
  3. EAP 템플릿에는 SSL 키 저장소 및 CloudEvent 키 저장소가 필요합니다.
    이 예제에서는 Java 개발 키트에 포함된 패키지인 keytool 을 사용하여 이러한 키 저장소에 대한 자체 서명된 인증서를 생성합니다. 다음 명령은 암호를 입력하라는 메시지를 표시합니다.

    1. SSL 키 저장소에 대한 보안 키를 생성합니다.

      $ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
    2. CloudEvent 키 저장소에 대한 보안 키를 생성합니다.

      $ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
  4. SSL 및 JGroup 키 저장소 파일을 사용하여 OpenShift 시크릿에 대한 EAP를 생성합니다.

    $ oc create secret generic eap-ssl-secret --from-file=eapkeystore.jks
    $ oc create secret generic eap-jgroup-secret --from-file=eapjgroups.jceks
  5. default 서비스 계정에 EAP 시크릿을 추가합니다.

    $ oc secrets link default eap-ssl-secret eap-jgroup-secret

4.5.2. Red Hat Single Sign-On 인증 정보 준비

Red Hat Single Sign-On 배포 중에 생성된 관리자 계정을 사용하여 https://secure-sso- <project-name > . <hostname> /auth/admin 에서 암호화된 Red Hat Single Sign-On 웹 서버에 로그인합니다.

절차

사용자 이름

  1. 사이드바 상단에 있는 영역 네임스페이스 위로 커서를 올려 놓고 AddECDHE를 클릭합니다.
  2. 영역 이름을 입력하고 (이 예제에서는 10.0.0.1 -demo사용) 만들기 를 클릭합니다.

공개 키 복사

새로 생성된 10.0.0.1 -demo 영역에서 Keys 탭을 클릭하고 생성된 공개 키를 복사합니다. 이 예에서는 간결성을 위해 & lt;realm-public-key& gt; 변수를 사용합니다. 이는 나중에 Red Hat Single Sign-On 사용 JBoss EAP 이미지를 배포하는 데 사용됩니다.

역할 생성

예제 EAP 애플리케이션의 web.xml 에 정의된 JEE 역할에 해당하는 이름으로 Red Hat Single Sign-On에서 역할을 생성합니다. 이 역할은 사용자 애플리케이션에 대한 액세스를 인증하기 위해 Red Hat Single Sign-On 애플리케이션 사용자에게 할당됩니다.

  1. Configure sidebar에서 Roles 를 클릭하여 이 영역에 대한 역할을 나열합니다. 이는 새 영역이므로 기본 offline_access 역할만 있어야 합니다.
  2. 역할 추가를 클릭합니다.
  3. 역할 이름을 입력하고 (이 예제에서는 role#177 -user-role사용) 저장 을 클릭합니다.

사용자 및 역할 할당

두 사용자 생성: - 영역 관리 사용자에게 Red Hat Single Sign -On 서버에서 자동 Red Hat Single Sign-On 클라이언트 등록을 처리할 수 있는 영역 관리 역할을 할당합니다. - 이전 단계에서 생성한 애플리케이션 사용자에게 JEE 역할을 할당하여 사용자 애플리케이션에 대한 액세스를 인증합니다.

realm 관리 사용자를 생성합니다.

  1. Manage sidebar에서 Users 를 클릭하여 영역의 사용자 정보를 확인합니다.
  2. 사용자 추가를 클릭합니다.
  3. 유효한 Username 을 입력하고 (이 예제에서는 사용자 10.0.0.1 -mgmt-user사용) 저장 을 클릭합니다.
  4. 사용자 구성을 편집합니다. 사용자 공간에서 Credentials 탭을 클릭하고 사용자 암호를 입력합니다. 암호가 확인되면 암호 재설정을 클릭하여 사용자 암호 를 설정할 수 있습니다. 팝업 창에서 추가 확인 메시지를 표시합니다.
  5. Role Mappings 를 클릭하여 영역 및 클라이언트 역할 구성을 나열합니다. 클라이언트 역할 드롭다운 메뉴에서 realm-management 를 선택하고 사용 가능한 모든 역할을 사용자에게 추가합니다. 이는 JBoss EAP 이미지에서 클라이언트를 생성하는 데 사용할 수 있는 Red Hat Single Sign-On 서버 권한을 사용자에게 제공합니다.

애플리케이션 사용자를 생성합니다.

  1. Manage sidebar에서 Users 를 클릭하여 영역의 사용자 정보를 확인합니다.
  2. 사용자 추가를 클릭합니다.
  3. 유효한 사용자 이름애플리케이션 사용자에 대한 추가 선택적 정보를 입력하고 저장 을 클릭합니다.
  4. 사용자 구성을 편집합니다. 사용자 공간에서 Credentials 탭을 클릭하고 사용자 암호를 입력합니다. 암호가 확인되면 암호 재설정을 클릭하여 사용자 암호 를 설정할 수 있습니다. 팝업 창에서 추가 확인 메시지를 표시합니다.
  5. Role Mappings 를 클릭하여 영역 및 클라이언트 역할 구성을 나열합니다. 사용 가능한 역할에서 이전에 만든 역할을 추가합니다.

4.5.3. Red Hat Single Sign-On 지원 JBoss EAP 이미지 배포

,Procedure

  1. OpenShift 웹 콘솔로 돌아가서 프로젝트에 추가 를 클릭하여 기본 이미지 스트림 및 템플릿을 나열합니다.
  2. 키워드 검색 모음으로 필터링 을 사용하여 sso 와 일치하는 목록으로 제한합니다. 원하는 애플리케이션 템플릿을 표시하려면 모두 보기 를 클릭해야 할 수 있습니다.
  3. 10.0.0.1 71-sso-s2i 이미지를 선택하여 모든 배포 매개변수를 나열합니다. EAP 빌드 중에 Red Hat Single Sign-On 자격 증명을 구성하려면 다음 Red Hat Single Sign-On 매개변수를 포함합니다.

    Variable값 예

    APPLICATION_NAME

    sso

    HOSTNAME_HTTPS

    secure-sample-jsp.eap-app-demo.openshift32.example.com

    HOSTNAME_HTTP

    sample-jsp.eap-app-demo.openshift32.example.com

    SOURCE_REPOSITORY_URL

    https://repository-example.com/developer/application

    SSO_URL

    https://secure-sso-sso-app-demo.openshift32.example.com/auth

    SSO_REALM

    eap-demo

    SSO_USERNAME

    eap-mgmt-user

    SSO_PASSWORD

    암호

    SSO_PUBLIC_KEY

    <realm-public-key>

    HTTPS_KEYSTORE

    eapkeystore.jks

    HTTPS_PASSWORD

    암호

    HTTPS_SECRET

    eap-ssl-secret

    JGROUPS_ENCRYPT_KEYSTORE

    eapjgroups.jceks

    JGROUPS_ENCRYPT_PASSWORD

    암호

    JGROUPS_ENCRYPT_SECRET

    eap-jgroup-secret

  4. 생성을 클릭하여 JBoss EAP 이미지를 배포합니다.

JBoss EAP 이미지를 배포하는 데 몇 분이 걸릴 수 있습니다.

4.5.4. Red Hat Single Sign-On을 사용하여 JBoss EAP 서버에 로그인

절차

  1. JBoss EAP 애플리케이션 서버에 액세스하여 로그인을 클릭합니다. Red Hat Single Sign-On 로그인으로 리디렉션됩니다.
  2. 예제에서 생성된 Red Hat Single Sign-On 사용자를 사용하여 로그인합니다. Red Hat Single Sign-On 서버에 대해 인증되어 JBoss EAP 애플리케이션 서버로 돌아갑니다.