翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ベースライン KMS キーと IAM ポリシーステートメント
ここで提供されるベースライン KMS キーと ID ベースのポリシーは、一般的な要件の基盤として機能します。また、KMS キーが特定の IAM アイデンティティセンターインスタンスまたは AWS マネージドアプリケーションにのみアクセス可能であることを確認するなど、より詳細なアクセスコントロールを提供する 高度な KMS キーポリシーステートメント を確認することをお勧めします。高度な KMS キーポリシーステートメントを使用する前に、「ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項」を確認してください。
以下のセクションでは、各ユースケースのベースラインポリシーステートメントについて説明します。ユースケースに一致するセクションを展開し、KMS キーポリシーステートメントをコピーします。次に、 に戻りますステップ 2: KMS キーポリシーステートメントを準備する。
で次の KMS キーポリシーステートメントテンプレートを使用してステップ 2: KMS キーポリシーステートメントを準備する、IAM アイデンティティセンター、関連付けられた ID ストア、および IAM アイデンティティセンター管理者が KMS キーを使用できるようにします。
-
管理者ポリシーステートメントのプリンシパル要素で、「arn:aws:iam::111122223333:root」の形式を使用して、 AWS 組織管理アカウントと委任管理アカウントである IAM アイデンティティセンターの管理アカウントのアカウントプリンシパルを指定します AWS 。
-
PrincipalArn 要素で、サンプル ARN を IAM アイデンティティセンター管理者の IAM ロールに置き換えます。
以下のいずれかを指定できます。
-
特定の IAM ロール ARN:
"arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678" -
ワイルドカードパターン (推奨):
"arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"
ワイルドカード (
*) を使用すると、アイデンティティセンターが再作成されたアクセス許可セットの新しい一意の識別子を生成するため、アクセス許可セットが削除されて再作成された場合にアクセスが失われるのを防ぎます。実装例については、カスタム信頼ポリシーの例「」を参照してください。 -
-
SourceAccount 要素で、IAM アイデンティティセンターアカウント ID を指定します。
-
ID ストアには独自のサービスプリンシパル
identitystore.amazonaws.comがあり、KMS キーの使用を許可する必要があります。 -
これらのポリシーステートメントにより、特定の AWS アカウントの IAM Identity Center インスタンスが KMS キーを使用できるようになります。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「高度な KMS キーポリシーステートメント」を参照してください。 AWS アカウントごとに IAM Identity Center インスタンスを 1 つだけ持つことができます。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }
ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する で次の IAM ポリシーステートメントテンプレートを使用して、IAM アイデンティティセンター管理者が KMS キーを使用できるようにします。
-
Resource要素のキー ARN の例を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「必要な識別子の場所」を参照してください。 -
これらの IAM ポリシーステートメントは、IAM プリンシパルへの KMS キーアクセスを許可しますが、リクエストを実行できる AWS サービスを制限しません。KMS キーポリシーは通常、これらのサービス制限を提供します。ただし、この IAM ポリシーに暗号化コンテキストを追加して、特定のアイデンティティセンターインスタンスの使用を制限できます。詳細については、「高度な KMS キーポリシーステートメント」を参照してください。
IAM アイデンティティセンターの委任管理者に必要な IAM ポリシーステートメント
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToUseKMSkey", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, { "Sid": "IAMPolicyToAllowIAMIdentityCenterAdminToListKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }
注記
一部の AWS マネージドアプリケーションは、カスタマーマネージド KMS キーで設定された IAM Identity Center では使用できません。詳細については、「IAM アイデンティティセンターと連携するAWS マネージドアプリケーション」を参照してください。
で次の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS マネージドアプリケーションとその管理者の両方が KMS キーを使用できるようにします。
-
PrincipalOrgID および SourceOrgId 条件に AWS Organizations ID を挿入します。参照される識別子の値を見つける方法については、「必要な識別子の場所」を参照してください。
-
これらのポリシーステートメントにより、 AWS 組織内の任意の AWS マネージドアプリケーションと任意の IAM プリンシパル (アプリケーション管理者) は、IAM Identity Center と Identity Store を使用して kms:Decrypt を使用できます。これらのポリシーステートメントを特定の AWS マネージドアプリケーション、アカウント、または IAM アイデンティティセンターインスタンスに制限するには、「高度な KMS キーポリシーステートメント」を参照してください。
*を特定の IAM プリンシパルに置き換えることで、特定のアプリケーション管理者へのアクセスを制限できます。アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、カスタム信頼ポリシーの例 の アプローチを使用します。詳細については、「ベースラインとアドバンスト KMS キーポリシーステートメントの選択に関する考慮事項」を参照してください。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }
ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する で次の IAM ポリシーステートメントテンプレートを使用して、 AWS マネージドアプリケーションの管理者がメンバーアカウントの KMS キーを使用できるようにします。
-
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「必要な識別子の場所」を参照してください。
-
一部の AWS マネージドアプリケーションでは、IAM Identity Center サービス APIs のアクセス許可を設定する必要があります。IAM アイデンティティセンターサービスでカスタマーマネージドキーを設定する前に、これらのアクセス許可で KMS キーの使用も許可されていることを確認してください。特定の KMS キーのアクセス許可要件については、デプロイした各 AWS マネージドアプリケーションのドキュメントを参照してください。
AWS マネージドアプリケーションの管理者に必要な IAM ポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
で次の KMS キーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS Control Tower 管理者が KMS キーを使用できるようにします。
-
Principal 要素で、IAM アイデンティティセンターサービス API へのアクセスに使用される IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「IAM ユーザーガイド」の「プリンシパルの指定」を参照してください。
-
これらのポリシーステートメントにより、 AWS Control Tower 管理者は任意の IAM Identity Center インスタンスを通じて KMS キーを使用できます。ただし、 AWS Control Tower は、同じ組織内の IAM Identity Center の AWS 組織インスタンスへのアクセスを制限します。この制限のため、「」で説明されているように、KMS キーを特定の IAM Identity Center 高度な KMS キーポリシーステートメント インスタンスにさらに制限する実用的な利点はありません。
-
アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、カスタム信頼ポリシーの例「」で説明されている方法を使用します。
KMS キーポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerAdmin" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
AWS Control Tower は委任管理をサポートしていないため、管理者に IAM ポリシーを設定する必要はありません。
重要
前述のポリシーステートメントでは、 がAWSControlTowerAdminロールを引き AWS Control Tower 受けるアカウントの自動登録など、 AWS Control Tower サービスマネージドオペレーションについて説明します。ただし、Account Factory を介したアカウントのプロビジョニングや AWS Control Tower APIsの直接呼び出しなど、お客様が開始したオペレーションの場合、 はフォワードアクセスセッション (FAS) AWS Control Tower を使用し、お客様独自の IAM ロールで動作します。つまり、これらのオペレーションを開始するために使用する IAM ロールには、カスタマーマネージド KMS キーに対するkms:Decryptアクセス許可も必要です。
上記のステートメントとともに、次の KMS キーポリシーAWSControlTowerAdminステートメントを追加します。MyControlTowerRole を、IAM Identity Center アクセス許可セットロール ( などAWSReservedSSO_) AWS Control Tower、自動化用のカスタム IAM ロール、 AWS Control Tower または AWS Service Catalog APIs。PermissionSetName_*
お客様が開始した AWS Control Tower オペレーションの KMS キーポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityCenterForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowCustomerRoleToUseTheKMSKeyViaIdentityStoreForControlTower", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyControlTowerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
次の の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、Amazon EC2 インスタンスへのシングルサインオン (SSO) のユーザーがアカウント間で KMS キーを使用できるようにします。
-
Principal フィールドで、IAM アイデンティティセンターへのアクセスに使用する IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「IAM ユーザーガイド」の「プリンシパルの指定」を参照してください。
-
このポリシーステートメントは、任意の IAM アイデンティティセンターインスタンスに KMS キーの使用を許可します。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「高度な KMS キーポリシーステートメント」を参照してください。
-
アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、カスタム信頼ポリシーの例で説明されているアプローチを使用します。
KMS キーポリシーステートメント
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterPermissionSetRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_MyPermissionSet_1a2b3c4d5e6f7g8h" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
で次の IAM ポリシーステートメントテンプレートステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定するを使用して、EC2 インスタンスへの SSO が KMS キーを使用できるようにします。
Amazon EC2 インスタンスへの SSO アクセスを許可するために使用している IAM Identity Center の既存のアクセス許可セットに IAM ポリシーステートメントをアタッチします。IAM ポリシーの例については、「AWS Systems Manager ユーザーガイド」の「リモートデスクトッププロトコル接続」を参照してください。
-
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「必要な識別子の場所」を参照してください。
アクセス許可セット IAM ポリシー:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMPolicyToAllowKMSKeyUseViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
で次の KMS キーポリシーステートメントテンプレートステップ 2: KMS キーポリシーステートメントを準備するを使用して、 AWS Organizations 管理アカウントまたは委任管理アカウントのカスタマーマネージドアプリケーションなどのカスタムワークフローが KMS キーを使用できるようにします。カスタマーマネージドアプリケーションへの SAML フェデレーションには、KMS キーのアクセス許可は必要ありません。
-
Principal 要素で、IAM アイデンティティセンターサービス API にアクセスするために使用される IAM プリンシパルを指定します。IAM プリンシパルの詳細については、「IAM ユーザーガイド」の「プリンシパルの指定」を参照してください。
-
これらのポリシーステートメントにより、ワークフローは任意の IAM アイデンティティセンターインスタンスを介して KMS キーを使用できます。特定の IAM アイデンティティセンターインスタンスへのアクセスを制限するには、「高度な KMS キーポリシーステートメント」を参照してください。
-
アクセス許可セットが再作成されたときに IAM ロール名の変更から保護するには、カスタム信頼ポリシーの例「」で説明されている方法を使用します。
KMS キーポリシーステートメント:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyCustomWorkflowRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }
次の IAM ポリシーステートメントテンプレートを ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する で使用して、カスタムワークフローに関連付けられた IAM プリンシパルがアカウント間で KMS キーを使用できるようにします。IAM ポリシーステートメントを IAM プリンシパルに追加します。
-
Resource 要素のサンプル ARN を実際の KMS キー ARN に置き換えます。参照される識別子の値を見つける方法については、「必要な識別子の場所」を参照してください。
IAM ポリシーステートメント (クロスアカウント使用にのみ必要):
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowCustomWorkflowToUseTheKMSKeyViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] } } }] }
一般的なユースケースの KMS キーポリシーステートメントの例
委任された管理者と AWS マネージドアプリケーションを備えた IAM Identity Center
このセクションでは、管理者と AWS マネージドアプリケーションが委任された IAM Identity Center インスタンスに使用できる KMS キーポリシーステートメントの例を示します。
重要
KMS キーポリシーステートメントは、KMS キーのアクセス許可を必要とする他のユースケースで IAM Identity Center インスタンスが使用されていないことを前提としています。確認するには、すべてのユースケースを確認できます。また、マネージドアプリケーションに追加の設定が必要かどうかを確認するには、 AWS 「」を参照してください。 一部の AWS マネージドアプリケーションの追加設定
テーブルの下に KMS キーポリシーステートメントをコピーし、KMS キーポリシーに追加します。この例では、次のサンプル値を使用します。
-
111122223333- IAM Identity Center インスタンスのアカウント ID -
444455556666- 委任された管理アカウント ID -
o-a1b2c3d4e5- AWS 組織 ID -
arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*- アクセス許可セットAdminからプロビジョニングされた IAM Identity Center 管理者の IAM ロールのワイルドカードパターン。このようなロールには、プライマリリージョンのリージョンコード (この例ではus-east-1) が含まれます。 -
arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*- アクセス許可セットDelegatedAdminからプロビジョニングされた IAM Identity Center 委任管理者の IAM ロールのワイルドカードパターン。このようなロールには、プライマリリージョンのリージョンコード (この例ではus-east-1) が含まれます。
IAM ロールがアクセス許可セットから生成されていない場合、IAM ロールは などの通常のロールのようになりますarn:aws:iam::。111122223333:role/idcadmin
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_Admin_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdmin_*" ] } } }, { "Sid": "AllowIAMIdentityCenterToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "sso.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIdentityStoreToUseTheKMSKey", "Effect": "Allow", "Principal": { "Service": "identitystore.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" } } }, { "Sid": "AllowAppAdminsInTheSameOrganizationToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-a1b2c3d4e5" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } }, { "Sid": "AllowManagedAppsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" }, "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "o-a1b2c3d4e5" } } } ] }