OCI IAMとAuth0の間のシングル・サインオンの設定 (2026/08/17)
OCI IAMとAuth0の間のシングル・サインオンの設定 (2026/08/17)
https://www.ateam-oracle.com/set-up-single-sign-on-between-oci-iam-and-auth0
投稿者:Tonmendu Bose | Senior Cloud Engineer
はじめに
OCI IAMとAuth0間でシングルサインオン(SSO)を設定することで、OCI管理者はAuth0の認証情報を使用してOCIコンソールにシームレスにログインできます。Auth0は外部IDプロバイダー(IdP)として機能し、OCI IAMのIDドメインはサービスプロバイダー(SP)として機能します。
この統合は、認証プラットフォームとしてAuth0を使用している組織で、ユーザー向けに個別のパスワードベースの認証エクスペリエンスを維持することなく、Oracle Cloud Infrastructureへのフェデレーションアクセスを提供したい場合に役立ちます。

このアーキテクチャでは、SAML 2.0を介してAuth0をIDプロバイダー(IdP)として使用し、OCIコンソールのユーザー認証を行うプロセスについて説明します。
- ログイン試行:ユーザーがOCIコンソールへのログインを試みます。
- SAMLリクエスト:サービスプロバイダーとして機能するOCI IAMは、ユーザーをAuth0にリダイレクトし、SAML認証リクエストを送信します。
- 認証要求: Auth0はユーザーにログインページを表示し、認証を促します。
- 認証成功:ユーザーはAuth0で設定された認証方法を使用して正常に認証されました。
- SAMLレスポンス:認証が成功すると、Auth0は署名付きSAMLアサーションを生成し、そのレスポンスをOCI IAMアサーションコンシューマーサービス(ACS)に送信します。
- IDマッピング: OCI IAMはSAMLのSubject/NameIDを読み取り、それをIAM IDドメイン内の対応するユーザーにマッピングします。
- アクセスが許可されました: OCI IAM は SAML レスポンスを検証し、ユーザーセッションを確立して、OCI コンソールへのアクセスを許可します。
さらに、OCI IAMユーザーはグループに分けることができます。これらのグループは、OCIリソースへの認証とアクセスを定義するためのIAMポリシーで参照できます。
目的
- アクセス管理のためにSAMLベースのSSOを設定する
- Auth0を設定して、ユーザーのメールアドレスをSAMLのSubject/NameIDとして渡すようにします。
- フェデレーションログインをテストおよび検証する
前提条件
- OCIテナントへのアクセス
- OCI IAM IDドメインのIDドメイン管理者ロール
- Auth0テナントへのアクセス
- Auth0でアプリケーションを作成および構成するための管理者権限
- Auth0およびOCI IAMで利用可能なテストユーザー
注記:
セクション1:アクセス管理のためのSAMLベースのSSOの設定
Auth0はIDプロバイダー(IdP)として機能し、ユーザーを認証して認証情報をOCI IAMに安全に渡します。OCI IAMはサービスプロバイダー(SP)として機能します。SAMLフェデレーションを設定するには、両者間で設定情報を交換する必要があります。
タスク 1.1: OCI IAM からサービス プロバイダー メタデータを取得する
OCI IAM IDドメインからのサービスプロバイダーメタデータが最初にエクスポートされます。これらの値は、Auth0でSAMLアプリケーションを設定するために使用されます。
- ブラウザのタブを開き、OCIコンソールのURL(https://cloud.oracle.com )を入力してください。
- クラウドアカウント名(テナント名とも呼ばれます)を入力し、「次へ」をクリックします。
- SSOの設定に使用するIDドメインを選択してください。
- OCIコンソールにログインするには、管理者認証情報を入力してください。
- 「IDとセキュリティ」に移動し、「ID」を選択して「ドメイン」をクリックします。SSOを設定する必要があるIDドメインの名前をクリックします。

注:ドメインが表示されない場合は、コンパートメントを変更して適切なIDドメインを見つけてください。
- 「フェデレーション」をクリックします。「IDプロバイダー」の下にある「SAMLメタデータのエクスポート」をクリックします。

- 「手動エクスポート」を選択し、値をメモしてください。参考として、サンプル値を以下に示します。

Provider ID
https://idcs-XXX.identity.oraclecloud.com:443/fed
Assertion consumer service URL
https://idcs-XXX.identity.oraclecloud.com/fed/v1/sp/sso
Logout service endpoint URL
https://idcs-XXX.identity.oraclecloud.com/fed/v1/sp/slo
Logout service return URL
https://idcs-XXX.identity.oraclecloud.com/fed/v1/sp/sloタスク1.2:Auth0でSSOアプリケーションを作成および構成する
OCI IAMアイデンティティドメインを表すアプリケーションがAuth0で作成および構成されます。
- 管理者アカウントでAuth0テナントにサインインし、ダッシュボードに移動します。
- 「アプリケーション」から「アプリケーション」を選択し、「アプリケーションの作成」をクリックします。

- アプリケーションの名前を入力します(例:Oracle Cloud Infrastructure IAM)。タイプとして「ネイティブ」を選択し、「作成」をクリックします。
- 新しく作成したアプリケーションを開き、「アドオン」タブに移動します。「SAML2 Web App」を有効にします。

- SAML2 Web Appアドオンの[設定]タブで、タスク1.1で収集したアサーションコンシューマーサービスURLを[アプリケーションコールバックURL]として入力します。
https://idcs-XXX.identity.oraclecloud.com/fed/v1/sp/sso- 次に、設定セクションでSAMLパラメータを設定します。以下のプレースホルダー値を、タスク1.1でOCI IAMからエクスポートした正確な値に置き換えてください。
{
"audience": "<OCI_PROVIDER_ID>",
"recipient": "<OCI_ACS_URL>",
"destination": "<OCI_ACS_URL>",
"mappings": {
"email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
"name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"given_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname",
"family_name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
},
"createUpnClaim": false,
"passthroughClaimsWithNoMapping": false,
"mapUnknownClaimsAsIs": false,
"mapIdentities": false,
"signatureAlgorithm": "rsa-sha256",
"digestAlgorithm": "sha256",
"signResponse": false,
"typedAttributes": true,
"includeAttributeNameFormat": true,
"nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
"nameIdentifierProbes": [
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
],
"authnContextClassRef": "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified",
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
"logout": {
"callback": "<OCI_SLO_URL>",
"slo_enabled": true
}
}
重要:と
nameIdentifierFormatのnameIdentifierProbes設定は、この統合において重要です。デフォルトでは、Auth0 は Auth0 をuser_idSAML の Subject/NameID として使用します。この構成では、OCI IAMはSAML NameIDをアイデンティティドメインのUsernameにマッピングします。そのため、Auth0はNameIDにメールクレームを使用するように明示的に構成されています。
以下の設定は、NameIDの形式と値を定義します。
"nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
"nameIdentifierProbes": [
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
]- 保存して「使用方法」セクションに移動します。「IDプロバイダーメタデータ」を見つけて、メタデータXMLファイルをダウンロードします。このメタデータは、次のタスクでOCI IAMにインポートされます。

- ウィンドウを閉じて、アドオンが有効になっていることを確認してください。

タスク 1.3: OCI IAM の IdP として Auth0 を有効にする
OCI IAMにAuth0を表す新しいSAML IDプロバイダーが作成されます。設定が完了すると、OCIコンソールでAuth0認証を有効にするためのIDプロバイダーポリシーが作成されます。
- OCI コンソールで、タスク 1.1 で使用した ID ドメインに移動し、[フェデレーション]を選択します。[ID プロバイダー]の下にある[アクション]をクリックし、[SAML IdP の追加] を選択します。

- SAML IDプロバイダーの名前(例:Auth0)を入力し、 「次へ」をクリックします。

- 「IdPメタデータのインポート」を選択します。「IDプロバイダーメタデータのアップロード」で、タスク1.2でダウンロードしたAuth0メタデータXMLファイルをアップロードし、「次へ」をクリックします。
![「IdPメタデータのインポート」を選択し、Auth0からダウンロードしたメタデータXMLファイルをアップロードします。 OCI IAM IDプロバイダーウィザードに、[IdPメタデータのインポート]オプションとアップロードされたXMLメタデータファイルが表示されています。](https://www.ateam-oracle.com/wp-content/uploads/sites/134/2026/08/image-17-1024x839.png)
- マップのユーザーIDでは、属性が以下のように設定されていることを確認してください。

注:このマッピングは、Auth0 SAML Subject/NameIDとして送信されるメールアドレスが、対応するOCI IAMユーザーのユーザー名と一致することを保証します。ただし、OCIにおけるユーザー名とメールアドレスが同じであることが前提となります。一致しない場合は、マッピングを別の属性に変更できます。
- 「確認と作成」で、構成を確認し、「IdP の作成」をクリックします。

- IdPが作成されたら、「IdPを有効化」をクリックします。

注: OCIコンソールアプリケーションを対象とする新しいIDプロバイダーポリシーが作成されます。認証方法として、ユーザー名とパスワード、およびAuth0の両方が利用可能になります。ローカル認証オプションを保持することで、緊急時における代替の管理アクセス経路が確保されます。
- IAMドメインで、[IDプロバイダーポリシー]に移動し、[IdPポリシーの作成]をクリックします。

- 名前(例:OCI管理者向けAuth0ポリシー)を入力し、「IDプロバイダーポリシーの作成」をクリックします。

- 「IDプロバイダールール」タブに移動し、「IDプロバイダールールの追加」をクリックします。
- ルール名を入力します(例:OCIコンソールアクセスルール)。「IDプロバイダーの割り当て」で、「ユーザー名/パスワード」と「Auth0」を選択します。完了したら、IdPルールを追加します。

- 「アプリケーション」タブで「アプリの追加」をクリックし、リストから「OCI Console」を検索して選択します。アプリケーションを追加したら、ダイアログを閉じます。

注:以下の手順12~15は、必ずしも実装する必要はありません。一部のお客様は、IdPレイヤーでMFAを設定し、Oracle MFAをバイパスすることを希望されます。この方法を選択する場合は、必要に応じてAuth0でMFAが適用されていることを確認してください。作業を進める前に、OCIコンソールに適用されているサインオンおよびMFAポリシーを慎重に確認してください。ロックアウトを回避するために、緊急時の管理者アクセス方法を確保しておくことを検討してください。
- IAM ドメインに戻り、 [ドメイン ポリシー]タブに移動して、 [OCI コンソールのセキュリティ ポリシー] の サインオン ポリシーをクリックします 。

- サインオンルールの下にある 「サインオンルールの追加」 をクリックします 。 ルール名を入力します(例: Auth0 ユーザー)。認証IDプロバイダーとして Auth0を選択し、「アクション」で「アクセスを許可する」が選択されていることを確認します。「追加」をクリックします。

- 同じセクションの 「アクション」の下にある「サインオンルールの優先順位を編集」をクリックします 。

- 新しいルールの優先度番号を 1に更新します。また、他のルールの優先度も対応する番号を1増やして更新します。完了したら、 「変更を保存」をクリックします。

セクション2:ログインのテストと検証
最後に、フェデレーション認証のテストを実施する。
- テストユーザーがOCI IAMアイデンティティドメインに存在することを確認してください。
- 新しいブラウザウィンドウを開き、OCIコンソールに移動します。
- クラウドアカウント名(テナント名とも呼ばれます)を入力し、「次へ」をクリックします。
- Auth0フェデレーションが設定されているIDドメインを選択してください。
- Oracle Cloudアカウントのサインインページで、 「Auth0」を選択してください。ブラウザがAuth0のログインページにリダイレクトされます。

- 連携ユーザーのAuth0認証情報を使用してログインしてください。
- 認証が成功すると、ユーザーはOCIコンソールにリダイレクトされます。
注: Auth0 認証が成功しても OCI IAM がユーザーを認識しない場合は、まず SAML Subject/NameID を確認してください。値がユーザーのメールアドレスであること、NameID の形式が であること
emailAddress、そしてメールアドレスが OCI IAM ユーザー名と完全に一致していることを確認してください。
まとめ
本番環境でこの構成を使用する前に、テストユーザーを使用してフェデレーションサインインフローを検証し、緊急時対応のための適切なローカル管理者アクセス方法を確保してください。これにより、外部IDプロバイダーが利用できない場合でも管理者アクセスを維持しながら、集中認証への制御された経路が提供されます。
コメント
コメントを投稿