IdPが開始するSSOを使用した状態リレー検証の構成

OCIアイデンティティ・ドメインは、構成設定に基づいてリレー状態URLを検証します。

状態リレーは、次の条件が満たされた場合に、構成されたURLを使用して検証します。
  • OCIアイデンティティ・ドメインは、サービス・プロバイダ(SP)として機能します。
  • アイデンティティ・プロバイダ(IdP) (AzureやPinfederateなど)は、外部アイデンティティ・プロバイダとして機能します。

開始前

状態リレー検証を構成する前に、次のアクションを実行します。

  1. アイデンティティ・ドメインでリレー状態検証を有効にするには、サービス・リクエスト(SR)を送信します。SRに次の詳細を指定します。
    • アイデンティティ・ドメインのGUID。たとえば、idcs-xxxxです。
    • リクエストの理由とユース・ケースを指定します。
    • テナンシ・リージョン。
    • コンポーネントは"SAML"である必要があります。
  2. Identity Domain Administratorロールを持つアクセス・トークンを作成して、次のAPIコマンドを実行します。アクセス・トークンの作成方法の詳細は、アクセス・トークンの生成を参照してください。
    1. アイデンティティ・ドメインで機密アプリケーションを作成します。詳細は、機密アプリケーションの追加を参照してください。
      • アプリケーションをクライアントとして構成します。
      • OAuthを構成するページで、「アプリケーション・ロールの追加」を選択し、このアプリケーションに適用するアプリケーション・ロールを選択します。Identity Domain Administratorをアプリケーション・ロールのリストに割り当てます。
      • クライアントGUIDおよびクライアント・シークレットを使用して、トークン・エンドポイントを使用してアクセス・トークンを生成します。

1: アイデンティティ・プロバイダIDの取得

CURLコマンドを使用して、アイデンティティ・ドメインのidを表示します。

curl -XGET -H 'Authorization: Bearer <accessToken>' 
-H 'Content-Type: application/json' 
'https://<idcs stripe>.identity.oraclecloud.com/admin/v1/IdentityProviders'

サンプル・レスポンス:

{
  "type": "SAML",
  "id": "fdxsxxxxxxxxxxxxxxxxxxxxxxxxxxdb",
  "meta":{
    "created": "2024-08-23T21:21:29.703Z",
    "lastModified": "2025-01-07T17:16:51.186Z",
    "version": "bxxxxxxxxxxxxxxxxxxxxxxxxx",
    "resourceType": "IdentityProvider",
    "location": "https://idcs-aa2f86468523aa4668a.....identity.oci.oracleiaas.com:443/admin/v1/IdentityProviders/fd84848484848xxxxxxxxdb"
  },
  "jitUserProvCreateUserEnabled": false,
  "jitUserProvGroupAssignmentMethod": "Overwrite",
  "enabled": true,
  "idcsLastModifiedBy":{
    "value": "f256256256256xxxxxxxx3acb",
    "display": "opcInfra",
    "ocid": "ocid1.domainapp.region1.sea.amaaaaapppxxxxxxxxxxxxxxxxx",
    "type": "App",
    "$ref": "https://idcs-aa20505xxxxxxxxxxxxxxxxx......identity.oci.oracleiaas.com:443/admin/v1/Apps/f25xxxxxxxxxxxxxxxxxxxxxb"
  },
"partnerName": "azure-test",
.....
}

更新するアイデンティティ・プロバイダのidを見つけます。レスポンスにリストされているidおよびpartnerNameに注意してください。

2: Allowed-IdP-Initiated-Relay-States属性のパッチ

CURLコマンドを使用して、選択したアイデンティティ・プロバイダのallowedIdPInitiatedRelayStatesにパッチを適用します。

curl -XPATCH -H 'Authorization: Bearer <accessToken>' -H 'Content-Type: application/json' 
-d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations": 
[{"op": "replace","path": "allowedIdpInitiatedRelayStates","value": [<List of Allowed Relay States>]}]}' 
'https://<idcs stripe>.identity.oraclecloud.com/admin/v1/IdentityProviders/<Identity Provider ID>'
応答で、次の応答を探します。
  • "partnerName": パートナ名が正確であることを確認します。
  • "allowedIdpInitiatedRelayStates:[
        "https://example.com/success",
        "https://example/fail"
    ],