

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

# IAM アイデンティティセンターのリソースベースのポリシーの例
<a name="iam-auth-access-using-resource-based-policies"></a>

IAM アイデンティティセンターと連携し、[OAuth 2.0](customermanagedapps-saml2-oauth2.md#oidc-concept) を使用するすべてのアプリケーションには、リソースベースのポリシーが必要です。アプリケーションは、カスタマー管理でも AWS マネージドでもかまいません。*アプリケーションポリシー* (または API の [ActorPolicy](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_IamAuthenticationMethod.html#API_IamAuthenticationMethod_Contents)) と呼ばれる必要なリソースベースポリシーは、[https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html) などの IAM 認証メソッド API アクションを呼び出すことを許可されている [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying)を定義します。IAM 認証方法を使用すると、IAM ロールや AWS サービスなどの IAM プリンシパルは、IAM 認証情報を提示して IAM アイデンティティセンターの OIDC サービスに対して認証を行い、**/token?aws\$1iam=t** エンドポイントでアクセストークンをリクエストまたは管理できます。

アプリケーションポリシーは、トークンの発行オペレーションを管理します (`CreateTokenWithIAM`)。このポリシーは、トークンの検証 (`IntrospectTokenWithIAM`) およびトークンの取り消し () のために AWS マネージドアプリケーションによってのみ使用されるアクセス許可のみのアクションも管理します`RevokeTokenWithIAM`。カスタマーマネージドアプリケーションの場合、`CreateTokenWithIAM` を呼び出す権限がある IAM プリンシパルを指定して、このポリシーを設定します。承認されたプリンシパルがこの API アクションを呼び出すと、プリンシパルはアプリケーションのアクセストークンと更新トークンを受け取ります。

IAM アイデンティティセンターコンソールを使用して[信頼できる ID の伝播](trustedidentitypropagation-overview.md)用にカスタマーマネージドアプリケーションをセットアップする場合、アプリケーションポリシーの設定方法の詳細については、「[カスタマーマネージド OAuth 2.0 アプリケーションのセットアップ](customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.md)」のステップ 4 を参照してください。例となるポリシーについては、このトピックの後方にある「[ポリシーの例: アクセストークンの作成と更新を IAM ロールに許可する](#oauth-application-policy-example)」を参照してください。

## ポリシーの要件
<a name="oauth-application-policy-requirements"></a>

ポリシーは次の要件を満たしている必要があります。
+ ポリシーには、「2012-10-17」に設定された `Version ` 要素を含める必要があります。
+ 各ポリシーには、少なくとも 1 つの `Statement` 要素が含まれている必要があります。
+ 各ポリシー `Statement` には、`Effect`、`Principal`、`Action`、および `Resource` の要素を含める必要があります。

## ポリシーの要素
<a name="oauth-application-policy-elements"></a>

ポリシーには以下の要素が含まれます。

**バージョン**  
ポリシードキュメントのバージョンを指定します。バージョンを `2012-10-17` (最新バージョン) に設定します。

**Statement**  
ポリシー `Statements` が含まれます。ポリシーには、少なくとも 1 つの `Statement` が含まれている必要があります。  
各ポリシー `Statement` は以下の要素で構成されています。    
**Effect**  
(必須) ポリシーステートメント内の許可を許容するか拒否するかを決定します。有効な値は `Allow` または `Deny` です。  
**Principal**  
(必須) [プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying)は、ポリシーステートメントで指定されている許可を取得するアイデンティティです。IAM ロールまたは AWS サービスプリンシパルを指定できます。  
**Action**  
(必須) 許可または拒否する IAM アイデンティティセンター OIDC サービス API オペレーション。有効なアクションは以下のとおりです。  
+ `sso-oauth:CreateTokenWithIAM`: [https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html) API オペレーションに対応するこのアクションは、 AWS サービスロールやユーザーなどの IAM エンティティを使用して認証された承認済みクライアントアプリケーションのアクセストークンと更新トークンを作成および返すアクセス許可を付与します。これらのトークンには、 `read:profile` や `write:data` などのアクセス許可を指定する定義済みのスコープが含まれる場合があります。
+ `sso-oauth:IntrospectTokenWithIAM` [アクセス許可のみ]: アクティブな OAuth 2.0 アクセストークンと更新トークンに関する情報を検証および取得するアクセス許可を付与します。これには、関連するスコープとアクセス許可が含まれます。このアクセス許可は AWS マネージドアプリケーションでのみ使用され、*IAM Identity Center OIDC API リファレンス*には記載されていません。
+ `RevokeTokenWithIAM `[アクセス許可のみ]: OAuth 2.0 アクセストークンと更新トークンを取り消し、通常の有効期限が切れる前に無効にするアクセス許可を付与します。このアクセス許可は AWS マネージドアプリケーションでのみ使用され、*IAM Identity Center OIDC API リファレンス*には記載されていません。  
**[リソース] **  
(必須) このポリシーでは、`Resource` 要素の値は `"*"` です。これは「このアプリケーション」を意味します。

 AWS ポリシー構文の詳細については、IAM **[AWS ユーザーガイドの「IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

## ポリシーの例: アクセストークンの作成と更新を IAM ロールに許可する
<a name="oauth-application-policy-example"></a>

次のアクセス許可ポリシーは、ワークロードが引き受ける IAM ロールである `ExampleAppClientRole` にアクセストークンを作成して返すアクセス許可と更新トークンを付与します。

```
 1. {
 2.     "Version": "2012-10-17", 		 	 	  
 3.     "Statement": [
 4.         {
 5.             "Sid": "AllowRoleToCreateTokens",
 6.             "Effect": "Allow",
 7.             "Principal": {
 8.                 "AWS": "arn:aws:iam::111122223333:role/ExampleAppClientRole"
 9.             },
10.             "Action": "sso-oauth:CreateTokenWithIAM",
11.             "Resource": "*"
12.         }
13.     ]
14. }
```