外部アイデンティティ・プロバイダを使用したユーザー管理

このトピックでは、IDCSをOracle Blockchain Platform Enterprise Editionの外部OpenID Connect (OIDC)アイデンティティ・プロバイダとして構成する方法について説明します。

前提条件

Oracle Blockchain Platform Enterprise Editionでインスタンスを作成する前に:

  • 選択したアイデンティティ・プロバイダに管理者アカウントを作成します。
  • Oracle Blockchain Platform Enterprise Edition管理およびブロックチェーン・アクセスに必要なユーザーおよびグループを作成します。
  • 機密OIDCクライアント・アプリケーションを登録します。
  • クライアントID、クライアント・シークレット、発行者、認可、トークン、JWKSおよび失効エンドポイントを取得します。
  • ユーザー名、クライアントIDおよびグループ・メンバーシップに使用される要求名を決定します。

IDCSの構成

機密クライアントの構成

  1. IDCSアイデンティティ・ドメインにサインインします。ドメインを作成します。
  2. Oracle Blockchain Platform Enterprise Editionコントロール・プレーンの機密クライアント・アプリケーションを作成します。
    1. 「プロファイル」、「アイデンティティ・ドメイン」、「統合アプリケーション」の順にナビゲートします。
    2. 機密アプリケーションを作成するために発行する前に、「アプリケーションの追加」ボタン、「機密アプリケーション」、「ワークフローの起動」の順に選択し、名前を指定します。
    3. アプリケーションの作成後、アプリケーションを選択して「OAuth構成」タブにナビゲートします。「OAuth構成の編集」を選択します。
    4. リソース・サーバー構成の次のオプションを選択します。
      • このアプリケーションをリソース・サーバーとして今すぐ構成します
      • トークン・リフレッシュの許可
      • プライマリ・オーディエンス: obpee-cp
    5. クライアント構成の次のオプションを選択します。
      • このアプリケーションをクライアントとして今すぐ構成します
      • 「許可された付与タイプ」で、次を選択します
        • リソース所有者
        • リフレッシュ・トークン
        • 認可コード
      • クライアント・タイプ: 機密
    6. 証明書:
      • 「同意をバイパス」を選択します。
      • クライアントIPアドレス: Anywhere
    7. トークン発行ポリシー:
      • 認可されたリソース: All
  3. ドメインにグループおよびユーザーを作成します。「プロファイル」、「アイデンティティ・ドメイン」、「ユーザー管理」の順にナビゲートします。

    グループとその使用方法の詳細は、ユーザー・グループおよびロールを参照してください。

  4. Oracle Blockchain Platform Enterprise Editionコントロール・プレーンおよびサービス・コンソールに必要なリダイレクトURIを構成します。
  5. 機密クライアント・アプリケーションにユーザーおよびグループを割り当てます。これを行うには、「機密アプリケーション」、「ユーザー」、「機密アプリケーション」、「グループ」の順にナビゲートします。

グループ要求の構成

アクセス・トークンにグループ・メンバーシップを含めるには:

  1. 機密クライアントのOAuth構成を開きます。
  2. Identity Domain Administratorアプリケーション・ロールを追加します。
  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プロバイダ構成にアイデンティティ・プロバイダ値を入力します。
  1. https://controlplane.domainname/console/index.htmlでBlockchain Platform Managerを開きます。ブラウザから、自己署名証明書に関する警告が表示される場合があります。
  2. obpadminユーザー名およびインストール時に指定したパスワードを使用して、Blockchain Platform Managerにログインします。
  3. 「構成」ページで「認証サーバー」を選択します。
  4. 「アイデンティティ・プロバイダの追加」を選択します
  5. 「アイデンティティ・プロバイダの追加」ページで、次の構成フィールドに入力します:
  6. 必要に応じて、グループ名のフィールドに入力します。これらは、グループにあります
  7. すべてのフィールドに値が移入されたら、「保存してアクティブに設定」をクリックします。

ドメイン設定でのクライアント・アクセスの構成の有効化の確認

ドメイン設定でクライアント・アクセスの構成が有効になっていることを確認します。これを確認または有効化するには:
  1. 次の場所でIDCSコンソールにアクセスします:
    <Domain-URL>/ui/v1/adminconsole
  2. Identity Domain Administratorロール(または同等のテナント/ドメイン管理権限)を持つユーザーでサインインします。
  3. 「設定」タブ、「ドメイン設定- 署名証明書へのアクセス」の順にナビゲートし、「クライアント・アクセスの構成」が有効になっていることを確認します。
  4. 無効になっている場合は、「ドメイン設定の編集」を使用して有効にします。

Blockchain Platform ManagerのリダイレクトURLの追加

Blockchain Platform Managerからログアウトした後、再度ログインしようとすると、新しいアイデンティティ・プロバイダが通過します。これには、リダイレクトURLを追加する必要があります。

たとえば、IDCSを使用している場合は、次のステップを実行します。
  1. OCIにログインし、「Identity and Security」に移動します。
  2. 「統合アプリケーション」を選択します。
  3. 作成した機密アプリケーションを選択します。
  4. 「OAuth構成」を選択し、「OAuth構成の編集」をクリックします。
  5. Blockchain Platform Manager URLのURLを含むリストにリダイレクトURLを追加します。「Submit」をクリックします。

ノート:

  • インスタンスを作成した後、Blockchain PlatformコンソールURLに別のリダイレクトを追加する必要があります。これはインスタンス固有であり、インスタンスが作成されるまで追加できません。
  • サンプル・アプリケーションをデプロイする場合は、サンプル・アプリケーションURLに別のリダイレクトを追加する必要があります。