翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
高度な KMS キーポリシーステートメント
高度な KMS キーポリシーステートメントを使用して、カスタマーマネージド KMS キーのより詳細なアクセスコントロールを実装します。これらのポリシーは、暗号化コンテキスト条件とサービス固有の制限を追加することで、ベースライン KMS キーポリシー 上に構築されます。高度な KMS キーポリシーステートメントを使用するかどうかを決定する前に、関連する考慮事項を確認してください。
暗号化コンテキストを使用してアクセスを制限する
の AllowOrgPrincipalsViaIdentityCenterAndIdentityStoreおよび AllowManagedAppsステートメントに暗号化コンテキスト条件を追加することで、KMS キーの使用を特定の IAM Identity Center インスタンスに制限できますベースライン KMS キーポリシー。特定の Identity Center インスタンス ARN と Identity Store ARN に次の条件を追加します。KMS キーのクロスアカウント使用のために設定された IAM ポリシーに同じ暗号化コンテキスト条件を追加することもできます。
アイデンティティセンター
"StringEquals": { "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }
ID ストア
"StringEquals": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }
これらの識別子の検索に関するヘルプが必要な場合は、必要な識別子の場所「」を参照してください。
注記
カスタマーマネージド KMS キーは、IAM アイデンティティセンターの組織インスタンスでのみ使用できます。カスタマーマネージドキーは AWS 、組織の管理アカウントに配置する必要があります。これにより、キーが単一の IAM Identity Center インスタンスで使用されるようになります。ただし、暗号化コンテキストメカニズムは、単一インスタンスの使用に対する独立した技術的保護を提供します。アイデンティティセンターおよび ID ストアサービスプリンシパル向けの KMS キーポリシーステートメントで aws:SourceArn 条件キーを使用することもできます。
暗号化コンテキスト条件を実装する際の考慮事項
暗号化コンテキスト条件を実装する前に、以下の要件を確認してください。
-
DescribeKey アクション。暗号化コンテキストは、IAM アイデンティティセンター管理者が使用できる「kms:DescribeKey」アクションに適用できません。KMS キーポリシーを設定するときは、この特定のアクションの暗号化コンテキストを除外して、IAM アイデンティティセンター インスタンスの適切なオペレーションを確保します。
-
新しいインスタンスのセットアップ。カスタマーマネージド KMS キーを使用して新しい IAM アイデンティティセンターインスタンスを有効にする場合は、「カスタマーマネージド KMS キーと高度な KMS キーポリシーに関する考慮事項」を参照してください。
-
ID ソースの変更。Active Directory との間で ID ソースを変更する場合、暗号化コンテキストには特別な注意が必要です。「ID ソースの変更に関する注意事項」を参照してください。
ポリシーテンプレート
セキュリティ要件に基づいて、これらの高度なポリシーテンプレートから選択します。きめ細かなアクセスコントロールと、導入する管理オーバーヘッドのバランスを取ります。
ここで説明するトピックは以下の通りです。
-
特定の IAM アイデンティティセンターインスタンスの読み取り専用使用のための KMS ポリシーステートメント. このセクションでは、IAM アイデンティティセンターへの読み取り専用アクセスに暗号化コンテキストを使用する方法を示します。
-
AWS マネージドアプリケーションを使用するための改良された KMS キーポリシーステートメント。 このセクションでは、アプリケーションサービスプリンシパル、アプリケーション ARN、 AWS アカウント ID などの暗号化コンテキストとアプリケーション情報を使用して、 AWS マネージドアプリケーションの KMS キーポリシーを絞り込む方法を示します。
特定の IAM アイデンティティセンターインスタンスの読み取り専用使用のための KMS ポリシーステートメント
このポリシーは、IAM アイデンティティセンターへの読み取りアクセスのみを必要とするセキュリティ監査担当者やその他の担当者が KMS キーを使用することを許可します。
このポリシーを使用するには以下を実行します。
-
読み取り専用管理者 IAM プリンシパルの例を実際の管理者 IAM プリンシパルに置き換えます。
-
IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。
-
サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える
-
委任管理を使用している場合は、ステップ 4: KMS キーをクロスアカウントで使用するように IAM ポリシーを設定する を参照してください
これらの識別子の値の検索にヘルプが必要な場合は、「」を参照してください必要な識別子の場所。
テンプレートを値で更新したら、 ステップ 2: KMS キーポリシーステートメントを準備する に戻り、必要に応じて追加の KMS キーポリシーステートメントを準備します。
kms:Decrypt アクションだけでは、読み取り専用オペレーションへのアクセスは制限されません。IAM ポリシーは、IAM アイデンティティセンターサービス API に読み取り専用アクセスを適用する必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowReadOnlyAccessToIdentityCenterAPI", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyAdminRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" } } }, { "Sid": "AllowReadOnlyAccessToIdentityStoreAPI", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/MyAdminRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" } } } ] }
AWS マネージドアプリケーションを使用するための改良された KMS キーポリシーステートメント
これらのポリシーテンプレートにより、KMS キーを使用できる AWS マネージドアプリケーションをより詳細に制御できます。
注記
一部の AWS マネージドアプリケーションは、カスタマーマネージド KMS キーで設定された IAM Identity Center では使用できません。「AWS IAM アイデンティティセンターで使用できるマネージドアプリケーション」を参照してください。
は、同じ AWS 組織内の任意のアカウントの任意の AWS マネージドアプリケーションに KMS キーの使用ベースライン KMS キーポリシーを許可します。これらの洗練されたポリシーを使用して、以下によってアクセスを制限します。
-
アプリケーションサービスプリンシパル
-
アプリケーションインスタンス ARN
-
AWS アカウント IDs
-
特定の IAM アイデンティティセンターインスタンスの暗号化コンテキスト
注記
サービスプリンシパルは、 AWS サービスの一意の識別子であり、通常は servicename.amazonaws.com (Amazon EMR の場合は elasticmapreduce.amazonaws.com など) の形式です。
アカウントによる制限
この KMS キーポリシーステートメントテンプレートにより、特定の AWS アカウントの AWS マネージドアプリケーションは、特定の IAM Identity Center インスタンスを使用して KMS キーを使用できます。
このポリシーを使用するには以下を実行します。
-
サンプルサービスプリンシパルを実際のアプリケーションサービスプリンシパルに置き換える
-
サンプルアカウント ID を、 AWS マネージドアプリケーションをデプロイする実際のアカウント ID に置き換えます。
-
サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える
-
IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": [ "111122223333", "444455556666" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": [ "111122223333", "444455556666" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }
アプリケーションインスタンスによる制限
この KMS キーポリシーステートメントテンプレートは、特定の AWS マネージドアプリケーションインスタンスが特定の IAM アイデンティティセンターインスタンスを使用して KMS キーを使用できるようにします。
このポリシーを使用するには以下を実行します。
-
サンプルサービスプリンシパルを実際のアプリケーションサービスプリンシパルに置き換える
-
サンプルアプリケーション ARN を実際のアプリケーションインスタンス ARN に置き換える
-
サンプルの ID ストア ARN を実際の ID ストア ARN に置き換える
-
IAM アイデンティティセンターインスタンス ARN の例を実際のインスタンス ARN に置き換えます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "arn:aws:sso:::instance/ssoins-1234567890abcdef" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "myapp.amazonaws.com" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "arn:aws:myapp:us-east-1:111122223333:application/my-application" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "arn:aws:identitystore::111122223333:identitystore/d-1234567890" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }