

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Verified Permissions OIDC ID ソースの作成
<a name="oidc-create"></a>

次の手順では、ID ソースを既存のポリシーストアに追加します。

Verified Permissions コンソールで[新しいポリシーストアを作成する](policy-stores-create.md)ときに、ID ソースを作成することもできます。このプロセスでは、ID ソーストークンのクレームをエンティティ属性に自動的にインポートできます。**ガイド付きセットアップ**を選択するか、 ** API Gateway と ID プロバイダーオプションを使用してセットアップ**します。これらのオプションでは、初期ポリシーも作成されます。

**注記**  
**ID ソース** は、ポリシーストアを作成するまでは左側のナビゲーションペインには表示されません。作成する ID ソースは、現在のポリシーストアに関連付けられます。

Verified Permissions API の [create-identity-source](https://docs.aws.amazon.com/cli/latest/reference/verifiedpermissions/create-identity-source.html) AWS CLI または [CreateIdentitySource](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html) を使用して ID ソースを作成するときに、プリンシパルエンティティタイプを除外できます。ただし、空のエンティティタイプは、エンティティタイプが の ID ソースを作成します`AWS::Cognito`。このエンティティ名は、ポリシーストアスキーマと互換性がありません。 Amazon Cognito ID をポリシーストアスキーマと統合するには、プリンシパルエンティティタイプをサポートされているポリシーストアエンティティに設定する必要があります。

------
#### [ AWS マネジメントコンソール ]

**OpenID Connect (OIDC) ID ソースを作成するには**

1. [Verified Permissions コンソール](https://console.aws.amazon.com/verifiedpermissions/)を開きます。ポリシーストアを選択します。

1. 左側にあるナビゲーションペインで、**[ID ソース]** を選択します。

1. **[ID ソースを作成]**を選択します。

1. **外部 OIDC プロバイダー**を選択します。

1. **発行者 URL** に、OIDC 発行者の URL を入力します。これは、認可サーバー、署名キー、および などのプロバイダーに関するその他の情報を提供するサービスエンドポイントです`https://auth.example.com`。発行者 URL は、 で OIDC 検出ドキュメントをホストする必要があります`/.well-known/openid-configuration`。

1. **トークンタイプ**で、アプリケーションが承認のために送信する OIDC JWT のタイプを選択します。詳細については、「[OIDC トークンをスキーマにマッピングする](oidc-map-token-to-schema.md)」を参照してください。

1. **スキーマエンティティへのトークンクレームをマップ**で、ID ソースの**ユーザーエンティティ**と**ユーザークレーム**を選択します。**ユーザーエンティティ**は、OIDC プロバイダーのユーザーを参照するポリシーストア内のエンティティです。**ユーザークレーム**は、通常`sub`、評価対象のエンティティの一意の識別子を保持する ID またはアクセストークンからのクレームです。接続された OIDC IdP の ID は、選択したプリンシパルタイプにマッピングされます。

1. (オプション) **スキーマエンティティへのトークンクレームのマップ**で、アイデンティティソースの**グループエンティティ**と**グループクレーム**を選択します。**グループエンティティ**はユーザー**エンティティ**の[親](https://docs.cedarpolicy.com/overview/terminology.html#term-group)です。グループクレームはこのエンティティにマッピングされます。**グループクレーム**は、評価されるエンティティのユーザーグループ名の文字列、JSON、またはスペースで区切られた文字列を含む ID またはアクセストークン`groups`からのクレームで、通常は です。接続された OIDC IdP の ID は、選択したプリンシパルタイプにマッピングされます。

1. **検証 - オプション**で、ポリシーストアが認可リクエストで受け入れるクライアント IDs またはオーディエンス URLs があれば入力します。

1. **[ID ソースを作成]**を選択します。

1. (オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーのアイデンティティトークンまたはアクセストークンから抽出する属性を参照する前に、スキーマを更新して、ID ソースが作成するプリンシパルのタイプを Cedar に認識させる必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。OIDC トークン属性を Cedar プリンシパル属性にマッピングする方法の詳細については、「」を参照してください[OIDC トークンをスキーマにマッピングする](oidc-map-token-to-schema.md)。

1. トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「[Amazon Verified Permissions 静的ポリシーの作成](policies-create.md)」を参照してください。

ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions `IsAuthorizedWithToken`に認可の決定を依頼します。詳細については、*Amazon Verified Permissions API リファレンスガイド*の[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)」を参照してください。

------
#### [ AWS CLI ]

**OIDC ID ソースを作成するには**  
[CreateIdentitySource](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html) オペレーションを使用して ID ソースを作成できます。次の例では、OIDC ID プロバイダー (IdP) から認証された ID にアクセスできる ID ソースを作成します。

1. `create-identity-source` コマンドの `--configuration`パラメータで使用する OIDC IdP の以下の詳細を含む`config.txt`ファイルを作成します。

   ```
   {
       "openIdConnectConfiguration": {
           "issuer": "https://auth.example.com",
           "tokenSelection": {
                   "identityTokenOnly": {
                           "clientIds":["1example23456789"],
                           "principalIdClaim": "sub"
                   },
           },
           "entityIdPrefix": "MyOIDCProvider",
           "groupConfiguration": {
                 "groupClaim": "groups",
                 "groupEntityType": "MyCorp::UserGroup"
           }
       }
   }
   ```

1. 次のコマンドを実行して、OIDC ID ソースを作成します。

   ```
   $ aws verifiedpermissions create-identity-source \
       --configuration file://config.txt \
       --principal-entity-type "User" \
       --policy-store-id 123456789012
   {
       "createdDate": "2023-05-19T20:30:28.214829+00:00",
       "identitySourceId": "ISEXAMPLEabcdefg111111",
       "lastUpdatedDate": "2023-05-19T20:30:28.214829+00:00",
       "policyStoreId": "PSEXAMPLEabcdefg111111"
   }
   ```

1. (オプション) ポリシーストアにスキーマがある場合、Cedar ポリシーのアイデンティティトークンまたはアクセストークンから抽出する属性を参照する前に、スキーマを更新して、ID ソースが作成するプリンシパルのタイプを Cedar に認識させる必要があります。スキーマへの追加には、Cedar ポリシーで参照したい属性を含める必要があります。OIDC トークン属性を Cedar プリンシパル属性にマッピングする方法の詳細については、「」を参照してください[OIDC トークンをスキーマにマッピングする](oidc-map-token-to-schema.md)。

1. トークンからの情報を使用して認可を決定するポリシーを作成します。詳細については、「[Amazon Verified Permissions 静的ポリシーの作成](policies-create.md)」を参照してください。

ID ソースの作成、スキーマの更新、ポリシーの作成が完了したら、 を使用して Verified Permissions `IsAuthorizedWithToken`に認可の決定を依頼します。詳細については、*Amazon Verified Permissions API リファレンスガイド*の[IsAuthorizedWithToken](https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_IsAuthorizedWithToken.html)」を参照してください。

------