外部アイデンティティ・プロバイダを使用したユーザー管理
このトピックでは、IDCSをOracle Blockchain Platform Enterprise Editionの外部OpenID Connect (OIDC)アイデンティティ・プロバイダとして構成する方法について説明します。
前提条件
Oracle Blockchain Platform Enterprise Editionでインスタンスを作成する前に:
- 選択したアイデンティティ・プロバイダに管理者アカウントを作成します。
- Oracle Blockchain Platform Enterprise Edition管理およびブロックチェーン・アクセスに必要なユーザーおよびグループを作成します。
- 機密OIDCクライアント・アプリケーションを登録します。
- クライアントID、クライアント・シークレット、発行者、認可、トークン、JWKSおよび失効エンドポイントを取得します。
- ユーザー名、クライアントIDおよびグループ・メンバーシップに使用される要求名を決定します。
IDCSの構成
機密クライアントの構成
- IDCSアイデンティティ・ドメインにサインインします。ドメインを作成します。
- Oracle Blockchain Platform Enterprise Editionコントロール・プレーンの機密クライアント・アプリケーションを作成します。
- の順にナビゲートします。
- 機密アプリケーションを作成するために発行する前に、の順に選択し、名前を指定します。
- アプリケーションの作成後、アプリケーションを選択して「OAuth構成」タブにナビゲートします。「OAuth構成の編集」を選択します。
- リソース・サーバー構成の次のオプションを選択します。
- このアプリケーションをリソース・サーバーとして今すぐ構成します
- トークン・リフレッシュの許可
- プライマリ・オーディエンス:
obpee-cp
- クライアント構成の次のオプションを選択します。
- このアプリケーションをクライアントとして今すぐ構成します
- 「許可された付与タイプ」で、次を選択します
- リソース所有者
- リフレッシュ・トークン
- 認可コード
- クライアント・タイプ: 機密
- 証明書:
- 「同意をバイパス」を選択します。
- クライアントIPアドレス: Anywhere
- トークン発行ポリシー:
- 認可されたリソース: All
- ドメインにグループおよびユーザーを作成します。の順にナビゲートします。
グループとその使用方法の詳細は、ユーザー・グループおよびロールを参照してください。
- Oracle Blockchain Platform Enterprise Editionコントロール・プレーンおよびサービス・コンソールに必要なリダイレクトURIを構成します。
- 機密クライアント・アプリケーションにユーザーおよびグループを割り当てます。これを行うには、、の順にナビゲートします。
グループ要求の構成
アクセス・トークンにグループ・メンバーシップを含めるには:
- 機密クライアントのOAuth構成を開きます。
- Identity Domain Administratorアプリケーション・ロールを追加します。
- 管理者アカウントを使用して、トークン・エンドポイントを介してアクセス・トークンを取得します。管理者は、
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プロバイダ構成にアイデンティティ・プロバイダ値を入力します。
https://controlplane.domainname/console/index.htmlでBlockchain Platform Managerを開きます。ブラウザから、自己署名証明書に関する警告が表示される場合があります。obpadminユーザー名およびインストール時に指定したパスワードを使用して、Blockchain Platform Managerにログインします。- 「構成」ページで「認証サーバー」を選択します。
- 「アイデンティティ・プロバイダの追加」を選択します
- 「アイデンティティ・プロバイダの追加」ページで、次の構成フィールドに入力します:
フィールド 必須 摘要 既知の構成URI はい アイデンティティ・プロバイダのOIDC検出URL。これは Domain URL/.well-known/openid-configurationですドメインURLは、にあります。
発行者URL いいえ トークン・オリジンの検証に使用される発行者。 JWKS URL いいえ トークン署名の検証に使用されるエンドポイント。 認可エンドポイント いいえ ブラウザベースの認証に使用されるエンドポイント。 トークン・エンドポイント いいえ トークンに対する認可コードの交換に使用されるエンドポイント。 失効エンドポイント いいえ リフレッシュ・トークンの取消しに使用されるエンドポイント。 スコープ はい OIDCスコープ( openid email profile offline_accessなど)。クライアント要求名 はい cidやazpなどのクライアント識別子を含む要求。クライアント要求値 はい クライアント識別子要求の予想値。 クライアントID はい 機密クライアント識別子。 クライアント・シークレット はい 機密クライアント・シークレット。 ユーザー要求名 はい ユーザー識別子要求( preferred_usernameやemailなど)。Blockchain Platform Manager (BPM)管理者 はい ブロックチェーン・プラットフォーム・マネージャ管理者にマップされたプロバイダ・グループ。 グループ要求名 はい グループ・メンバーシップを含むクレーム( groups、group_rolesなど)。 - 必要に応じて、グループ名のフィールドに入力します。これらは、グループにあります
- すべてのフィールドに値が移入されたら、「保存してアクティブに設定」をクリックします。
ドメイン設定でのクライアント・アクセスの構成の有効化の確認
ドメイン設定でクライアント・アクセスの構成が有効になっていることを確認します。これを確認または有効化するには:
- 次の場所でIDCSコンソールにアクセスします:
<Domain-URL>/ui/v1/adminconsole - Identity Domain Administratorロール(または同等のテナント/ドメイン管理権限)を持つユーザーでサインインします。
- の順にナビゲートし、「クライアント・アクセスの構成」が有効になっていることを確認します。
- 無効になっている場合は、「ドメイン設定の編集」を使用して有効にします。
Blockchain Platform ManagerのリダイレクトURLの追加
Blockchain Platform Managerからログアウトした後、再度ログインしようとすると、新しいアイデンティティ・プロバイダが通過します。これには、リダイレクトURLを追加する必要があります。
たとえば、IDCSを使用している場合は、次のステップを実行します。
- OCIにログインし、「Identity and Security」に移動します。
- 「統合アプリケーション」を選択します。
- 作成した機密アプリケーションを選択します。
- 「OAuth構成」を選択し、「OAuth構成の編集」をクリックします。
- Blockchain Platform Manager URLのURLを含むリストにリダイレクトURLを追加します。「Submit」をクリックします。
ノート:
- インスタンスを作成した後、Blockchain PlatformコンソールURLに別のリダイレクトを追加する必要があります。これはインスタンス固有であり、インスタンスが作成されるまで追加できません。
- サンプル・アプリケーションをデプロイする場合は、サンプル・アプリケーションURLに別のリダイレクトを追加する必要があります。