외부 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 구성

기밀 클라이언트 구성

  1. IDCS ID 도메인에 사인인합니다. 도메인을 생성합니다.
  2. Oracle Blockchain Platform Enterprise Edition 제어 플레인에 대한 기밀 클라이언트 애플리케이션을 생성합니다.
    1. 프로파일, ID 도메인, 통합 애플리케이션 순으로 이동합니다.
    2. 기밀 애플리케이션을 생성하기 위해 제출하기 전에 애플리케이션 추가 단추, 기밀 애플리케이션, 워크플로우 시작 순으로 선택하고 이름을 제공합니다.
    3. 애플리케이션이 생성된 후 애플리케이션을 선택하고 OAuth 구성 탭으로 이동합니다. OAuth 구성 편집을 선택합니다.
    4. 리소스 서버 구성에 대해 다음 옵션을 선택합니다.
      • 지금 이 애플리케이션을 리소스 서버로 구성
      • 토큰 새로고침 허용
      • 주요 대상자: obpee-cp
    5. 클라이언트 구성에 대해 다음 옵션을 선택합니다.
      • 지금 이 애플리케이션을 클라이언트로 구성
      • 허용된 지원금 유형의 경우 다음을 선택합니다.
        • 리소스 소유자
        • 새로고침 토큰
        • 권한 부여 코드
      • 클라이언트 유형: 기밀
    6. 인증서:
      • 동의 무시를 선택합니다.
      • 클라이언트 IP주소: Anywhere
    7. 토큰 발행 정책:
      • 인증된 리소스: 전체
  3. 도메인에 그룹 및 사용자를 만듭니다. 프로파일, ID 도메인, 사용자 관리 순으로 이동합니다.

    그룹 및 그룹 사용 방법에 대한 자세한 내용은 사용자 그룹 및 역할을 참조하십시오.

  4. Oracle Blockchain Platform Enterprise Edition 제어 플레인 및 서비스 콘솔에 필요한 재지정 URI를 구성합니다.
  5. 기밀 클라이언트 응용 프로그램에 사용자 및 그룹을 지정합니다. 기밀 애플리케이션, 사용자 및 기밀 애플리케이션, 그룹 순으로 이동하여 이 작업을 수행합니다.

그룹 클레임 구성

액세스 토큰에 그룹 멤버쉽을 포함하려면 다음을 수행합니다.

  1. 기밀 클라이언트에 대한 OAuth 구성을 엽니다.
  2. ID 도메인 관리자 애플리케이션 롤을 추가합니다.
  3. 관리자 계정을 사용하여 토큰 끝점을 통해 액세스 토큰을 얻습니다. 관리자는 IDCS_Administrators 및 OCI_Administrators 그룹에 속해야 합니다(해당하는 경우).
  4. 액세스 토큰을 사용하여 사용자 정의 액세스 토큰 클레임을 생성합니다.
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 제공자 값을 입력합니다.
  1. https://controlplane.domainname/console/index.html에서 Blockchain Platform Manager를 엽니다. 브라우저에서 자체 서명된 인증서에 대해 경고를 표시할 수 있습니다.
  2. 설치 중 제공한 obpadmin 사용자 이름과 비밀번호를 사용하여 Blockchain Platform Manager에 로그인합니다.
  3. 구성 페이지에서 인증 서버를 선택합니다.
  4. ID 제공자 추가를 선택합니다.
  5. ID 제공자 추가 페이지에서 다음 구성 필드에 정보를 입력합니다.
  6. 필요한 경우 그룹 이름 필드에 정보를 입력합니다. 그룹에서 찾을 수 있습니다.
  7. 모든 필드가 채워지면 저장 및 활성 설정을 누릅니다.

도메인 설정에 클라이언트 액세스 구성이 사용으로 설정되었는지 확인

도메인 설정에서 Configure Client Access가 사용으로 설정되어 있는지 확인합니다. 이를 확인하거나 사용으로 설정하려면 다음과 같이 하십시오.
  1. 다음 위치에서 IDCS 콘솔에 액세스합니다.
    <Domain-URL>/ui/v1/adminconsole
  2. ID 도메인 관리자 역할(또는 동등한 테넌트/도메인 관리자 권한)이 있는 사용자로 사인인합니다.
  3. 설정 탭으로 이동한 다음 도메인 설정 - 서명 인증서 액세스로 이동하고 클라이언트 액세스 구성이 사용으로 설정되었는지 확인합니다.
  4. 사용 안함으로 설정된 경우 도메인 설정 편집을 사용하여 사용으로 설정합니다.

Blockchain Platform Manager에 대한 재지정 URL 추가

블록체인 플랫폼 관리자에서 로그아웃한 후 다시 로그인하려고 하면 새 ID 제공자를 거칩니다. 이렇게 하려면 재지정 URL을 추가해야 합니다.

예를 들어, IDCS를 사용 중인 경우 다음 단계를 완료합니다.
  1. OCI에 로그인하여 ID 및 보안으로 이동합니다.
  2. 통합 애플리케이션을 선택합니다.
  3. 생성한 기밀 애플리케이션을 선택합니다.
  4. OAuth 구성을 선택하고 OAuth 구성 편집을 누릅니다.
  5. Blockchain Platform Manager URL에 대한 URL을 사용하여 목록에 재지정 URL을 추가합니다. 제출을 누릅니다.

참고:

  • 인스턴스를 생성한 후 Blockchain Platform 콘솔 URL에 대한 다른 재지정을 추가해야 합니다. Instance별로 지정되며 Instance가 생성되기 전까지는 추가할 수 없습니다.
  • 샘플 애플리케이션을 배치하는 경우 샘플 애플리케이션 URL에 대한 다른 재지정을 추가해야 합니다.