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 클라이언트 등록 방법을 참조하십시오.
사전 요구 사항
- OpenShift 배포 준비 섹션에 설명된 단계는 이미 수행되어 있습니다.
4.5.1. OpenShift 배포를 위한 Red Hat Single Sign-On 인증 준비
cluster:admin 역할을 보유한 사용자로 OpenShift CLI에 로그인합니다.
새 프로젝트를 생성합니다.
$ oc new-project eap-app-demo
default서비스 계정에view역할을 추가합니다. 이를 통해 서비스 계정에서 클러스터를 관리하는 데 필요한 CloudEvent-app-demo네임스페이스의 모든 리소스를 볼 수 있습니다.$ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
EAP 템플릿에는 SSL 키 저장소 및 CloudEvent 키 저장소가 필요합니다.
이 예제에서는 Java 개발 키트에 포함된 패키지인keytool을 사용하여 이러한 키 저장소에 대한 자체 서명된 인증서를 생성합니다. 다음 명령은 암호를 입력하라는 메시지를 표시합니다.
SSL 키 저장소에 대한 보안 키를 생성합니다.
$ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
CloudEvent 키 저장소에 대한 보안 키를 생성합니다.
$ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
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
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 웹 서버에 로그인합니다.
절차
사용자 이름
- 사이드바 상단에 있는 영역 네임스페이스 위로 커서를 올려 놓고 AddECDHE를 클릭합니다.
- 영역 이름을 입력하고 (이 예제에서는 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 애플리케이션 사용자에게 할당됩니다.
- Configure sidebar에서 Roles 를 클릭하여 이 영역에 대한 역할을 나열합니다. 이는 새 영역이므로 기본 offline_access 역할만 있어야 합니다.
- 역할 추가를 클릭합니다.
- 역할 이름을 입력하고 (이 예제에서는 role#177 -user-role사용) 저장 을 클릭합니다.
사용자 및 역할 할당
두 사용자 생성: - 영역 관리 사용자에게 Red Hat Single Sign -On 서버에서 자동 Red Hat Single Sign-On 클라이언트 등록을 처리할 수 있는 영역 관리 역할을 할당합니다. - 이전 단계에서 생성한 애플리케이션 사용자에게 JEE 역할을 할당하여 사용자 애플리케이션에 대한 액세스를 인증합니다.
realm 관리 사용자를 생성합니다.
- Manage sidebar에서 Users 를 클릭하여 영역의 사용자 정보를 확인합니다.
- 사용자 추가를 클릭합니다.
- 유효한 Username 을 입력하고 (이 예제에서는 사용자 10.0.0.1 -mgmt-user사용) 저장 을 클릭합니다.
- 사용자 구성을 편집합니다. 사용자 공간에서 Credentials 탭을 클릭하고 사용자 암호를 입력합니다. 암호가 확인되면 암호 재설정을 클릭하여 사용자 암호 를 설정할 수 있습니다. 팝업 창에서 추가 확인 메시지를 표시합니다.
- Role Mappings 를 클릭하여 영역 및 클라이언트 역할 구성을 나열합니다. 클라이언트 역할 드롭다운 메뉴에서 realm-management 를 선택하고 사용 가능한 모든 역할을 사용자에게 추가합니다. 이는 JBoss EAP 이미지에서 클라이언트를 생성하는 데 사용할 수 있는 Red Hat Single Sign-On 서버 권한을 사용자에게 제공합니다.
애플리케이션 사용자를 생성합니다.
- Manage sidebar에서 Users 를 클릭하여 영역의 사용자 정보를 확인합니다.
- 사용자 추가를 클릭합니다.
- 유효한 사용자 이름 및 애플리케이션 사용자에 대한 추가 선택적 정보를 입력하고 저장 을 클릭합니다.
- 사용자 구성을 편집합니다. 사용자 공간에서 Credentials 탭을 클릭하고 사용자 암호를 입력합니다. 암호가 확인되면 암호 재설정을 클릭하여 사용자 암호 를 설정할 수 있습니다. 팝업 창에서 추가 확인 메시지를 표시합니다.
- Role Mappings 를 클릭하여 영역 및 클라이언트 역할 구성을 나열합니다. 사용 가능한 역할에서 이전에 만든 역할을 추가합니다.
4.5.3. Red Hat Single Sign-On 지원 JBoss EAP 이미지 배포
,Procedure
- OpenShift 웹 콘솔로 돌아가서 프로젝트에 추가 를 클릭하여 기본 이미지 스트림 및 템플릿을 나열합니다.
- 키워드 검색 모음으로 필터링 을 사용하여 sso 와 일치하는 목록으로 제한합니다. 원하는 애플리케이션 템플릿을 표시하려면 모두 보기 를 클릭해야 할 수 있습니다.
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
- 생성을 클릭하여 JBoss EAP 이미지를 배포합니다.
JBoss EAP 이미지를 배포하는 데 몇 분이 걸릴 수 있습니다.
4.5.4. Red Hat Single Sign-On을 사용하여 JBoss EAP 서버에 로그인
절차
- JBoss EAP 애플리케이션 서버에 액세스하여 로그인을 클릭합니다. Red Hat Single Sign-On 로그인으로 리디렉션됩니다.
- 예제에서 생성된 Red Hat Single Sign-On 사용자를 사용하여 로그인합니다. Red Hat Single Sign-On 서버에 대해 인증되어 JBoss EAP 애플리케이션 서버로 돌아갑니다.