외부 ID 제공자를 사용한 사용자 관리
이 항목에서는 IDCS를 Oracle Blockchain Platform Enterprise Edition에 대한 외부 OIDC(OpenID Connect) ID 제공자로 구성하는 방법에 대해 설명합니다.
전제 조건
Oracle Blockchain Platform Enterprise Edition에서 인스턴스를 생성하기 전에 다음을 수행합니다.
- 선택한 ID 제공자에서 관리자 계정을 생성합니다.
- Oracle Blockchain Platform Enterprise Edition 관리 및 블록체인 액세스에 필요한 사용자 및 그룹을 생성합니다.
- 기밀 OIDC 클라이언트 애플리케이션을 등록합니다.
- 클라이언트 ID, 클라이언트 암호, 발행자, 권한 부여, 토큰, JWKS 및 해지 엔드포인트를 얻습니다.
- 사용자 이름, 클라이언트 ID 및 그룹 멤버쉽에 사용되는 클레임 이름을 확인합니다.
IDCS 구성
기밀 클라이언트 구성
- IDCS ID 도메인에 사인인합니다. 도메인을 생성합니다.
- Oracle Blockchain Platform Enterprise Edition 제어 플레인에 대한 기밀 클라이언트 애플리케이션을 생성합니다.
- 순으로 이동합니다.
- 기밀 애플리케이션을 생성하기 위해 제출하기 전에 순으로 선택하고 이름을 제공합니다.
- 애플리케이션이 생성된 후 애플리케이션을 선택하고 OAuth 구성 탭으로 이동합니다. OAuth 구성 편집을 선택합니다.
- 리소스 서버 구성에 대해 다음 옵션을 선택합니다.
- 지금 이 애플리케이션을 리소스 서버로 구성
- 토큰 새로고침 허용
- 주요 대상자:
obpee-cp
- 클라이언트 구성에 대해 다음 옵션을 선택합니다.
- 지금 이 애플리케이션을 클라이언트로 구성
- 허용된 지원금 유형의 경우 다음을 선택합니다.
- 리소스 소유자
- 새로고침 토큰
- 권한 부여 코드
- 클라이언트 유형: 기밀
- 인증서:
- 동의 무시를 선택합니다.
- 클라이언트 IP주소: Anywhere
- 토큰 발행 정책:
- 인증된 리소스: 전체
- 도메인에 그룹 및 사용자를 만듭니다. 순으로 이동합니다.
그룹 및 그룹 사용 방법에 대한 자세한 내용은 사용자 그룹 및 역할을 참조하십시오.
- Oracle Blockchain Platform Enterprise Edition 제어 플레인 및 서비스 콘솔에 필요한 재지정 URI를 구성합니다.
- 기밀 클라이언트 응용 프로그램에 사용자 및 그룹을 지정합니다. 및 순으로 이동하여 이 작업을 수행합니다.
그룹 클레임 구성
액세스 토큰에 그룹 멤버쉽을 포함하려면 다음을 수행합니다.
- 기밀 클라이언트에 대한 OAuth 구성을 엽니다.
- ID 도메인 관리자 애플리케이션 롤을 추가합니다.
- 관리자 계정을 사용하여 토큰 끝점을 통해 액세스 토큰을 얻습니다. 관리자는
IDCS_Administrators및OCI_Administrators그룹에 속해야 합니다(해당하는 경우). - 액세스 토큰을 사용하여 사용자 정의 액세스 토큰 클레임을 생성합니다.
curl -sS -X POST "https://<identity-domain-host>/admin/v1/CustomClaims" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data-binary '{
"schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim"],
"name": "group_roles",
"value": "$user.groups.*.display",
"expression": true,
"mode": "always",
"tokenType": "AT",
"allScopes": true
}'Oracle Blockchain Platform Enterprise Edition 구성에서 group_roles을 그룹 클레임 이름으로 사용합니다.
Oracle Blockchain Platform Enterprise Edition 구성
Oracle Blockchain Platform Enterprise Edition 외부 OIDC 제공자 구성에 ID 제공자 값을 입력합니다.
https://controlplane.domainname/console/index.html에서 Blockchain Platform Manager를 엽니다. 브라우저에서 자체 서명된 인증서에 대해 경고를 표시할 수 있습니다.- 설치 중 제공한
obpadmin사용자 이름과 비밀번호를 사용하여 Blockchain Platform Manager에 로그인합니다. - 구성 페이지에서 인증 서버를 선택합니다.
- ID 제공자 추가를 선택합니다.
- ID 제공자 추가 페이지에서 다음 구성 필드에 정보를 입력합니다.
필드 필수 설명 잘 알려진 구성 URI 예 ID 제공자에 대한 OIDC 검색 URL입니다. Domain URL/.well-known/openid-configuration입니다.도메인 URL은 순으로 찾을 수 있습니다.
발행자 URL 아니요 토큰 출처를 검증하는 데 사용되는 발행자입니다. 주 URL 아니요 토큰 서명을 검증하는 데 사용되는 끝점입니다. 승인 끝점 아니요 브라우저 기반 인증에 사용되는 끝점입니다. 토큰 엔드포인트 아니요 토큰에 대한 권한 부여 코드를 교환하는 데 사용되는 끝점입니다. 취소 끝점 아니요 새로고침 토큰을 취소하는 데 사용되는 끝점입니다. 범위 예 OIDC 범위입니다(예: openid email profile offline_access).클라이언트 클레임 이름 예 클라이언트 식별자를 포함하는 청구(예: cid또는azp)입니다.클라이언트 클레임 값 예 클라이언트 식별자 클레임의 예상 값입니다. 클라이언트 ID 예 기밀 클라이언트 식별자입니다. 클라이언트 보안 예 기밀 클라이언트 암호입니다. 사용자 청구 이름 예 preferred_username또는email와 같은 사용자 식별자 클레임입니다.블록체인 플랫폼 관리자(BPM) 관리자 예 제공자 그룹이 Blockchain Platform Manager 관리자에 매핑되었습니다. 그룹 클레임 이름 예 그룹 멤버쉽을 포함하는 청구(예: groups또는group_roles)입니다. - 필요한 경우 그룹 이름 필드에 정보를 입력합니다. 그룹에서 찾을 수 있습니다.
- 모든 필드가 채워지면 저장 및 활성 설정을 누릅니다.
도메인 설정에 클라이언트 액세스 구성이 사용으로 설정되었는지 확인
도메인 설정에서 Configure Client Access가 사용으로 설정되어 있는지 확인합니다. 이를 확인하거나 사용으로 설정하려면 다음과 같이 하십시오.
- 다음 위치에서 IDCS 콘솔에 액세스합니다.
<Domain-URL>/ui/v1/adminconsole - ID 도메인 관리자 역할(또는 동등한 테넌트/도메인 관리자 권한)이 있는 사용자로 사인인합니다.
- 로 이동하고 클라이언트 액세스 구성이 사용으로 설정되었는지 확인합니다.
- 사용 안함으로 설정된 경우 도메인 설정 편집을 사용하여 사용으로 설정합니다.
Blockchain Platform Manager에 대한 재지정 URL 추가
블록체인 플랫폼 관리자에서 로그아웃한 후 다시 로그인하려고 하면 새 ID 제공자를 거칩니다. 이렇게 하려면 재지정 URL을 추가해야 합니다.
예를 들어, IDCS를 사용 중인 경우 다음 단계를 완료합니다.
- OCI에 로그인하여 ID 및 보안으로 이동합니다.
- 통합 애플리케이션을 선택합니다.
- 생성한 기밀 애플리케이션을 선택합니다.
- OAuth 구성을 선택하고 OAuth 구성 편집을 누릅니다.
- Blockchain Platform Manager URL에 대한 URL을 사용하여 목록에 재지정 URL을 추가합니다. 제출을 누릅니다.
참고:
- 인스턴스를 생성한 후 Blockchain Platform 콘솔 URL에 대한 다른 재지정을 추가해야 합니다. Instance별로 지정되며 Instance가 생성되기 전까지는 추가할 수 없습니다.
- 샘플 애플리케이션을 배치하는 경우 샘플 애플리케이션 URL에 대한 다른 재지정을 추가해야 합니다.