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