Déclarations de politique clés avancées de KMS - AWS IAM Identity Center

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déclarations de politique clés avancées de KMS

Note

Les clés KMS gérées par le client pour AWS IAM Identity Center sont actuellement disponibles dans certaines AWS régions.

Utilisez des déclarations de politique clés KMS avancées pour mettre en œuvre des contrôles d'accès plus précis pour votre clé KMS gérée par le client. Ces politiques s'appuient sur le Déclarations de base relatives aux clés KMS et à la politique IAM en ajoutant des conditions de contexte de chiffrement et des restrictions spécifiques au service. Avant de décider d'utiliser ou non des déclarations de politique clés KMS avancées, assurez-vous de passer en revue les considérations pertinentes.

Utilisation du contexte de chiffrement pour restreindre l'accès

Vous pouvez limiter l'utilisation des clés KMS à une instance IAM Identity Center spécifique en ajoutant une condition de contexte de chiffrement à vos déclarations de politique clés. Cette condition utilise l'ARN de l'instance IAM Identity Center et l'ARN du magasin d'identité pour garantir que la clé ne fonctionne qu'avec l'instance que vous souhaitez. Ajoutez cette condition à l'une des déclarations de politique de base :

Centre d'identité

"StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }

 Identity Store

"StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }

Remplacez ARNs l'exemple par vos valeurs ARN réelles. Si vous avez besoin d'aide pour trouver ces identifiants, consultezTrouvez les identifiants requis.

Considérations relatives à l'implémentation des conditions de contexte de chiffrement

Avant d'implémenter les conditions de contexte de chiffrement, passez en revue les exigences suivantes :

Modèles de politique 

Choisissez parmi ces modèles de politiques avancés en fonction de vos exigences en matière de sécurité. Équilibrez les contrôles d'accès granulaires avec les frais administratifs qu'ils engendrent.

Sujets abordés ici :

Déclarations de politique clés de KMS pour l'utilisation d'une instance IAM Identity Center spécifique

Ces déclarations de politique permettent aux administrateurs d'une instance IAM Identity Center spécifique d'utiliser la clé KMS tout en limitant l'accès à cette instance uniquement.

Note

Actuellement, vous ne pouvez utiliser une clé KMS gérée par le client qu'avec une instance organisationnelle d'IAM Identity Center. La clé gérée par le client doit se trouver dans le compte de gestion de AWS l'organisation, ce qui permet de garantir que la clé est utilisée avec une seule instance d'IAM Identity Center. Cependant, le mécanisme de contexte de chiffrement fournit une protection technique indépendante de l'utilisation d'une instance unique.

Politique d'accès des administrateurs

Le modèle de déclaration de politique suivant permet aux administrateurs d'une instance spécifique d'IAM Identity Center et de son magasin d'identités associé d'utiliser la clé KMS.

Pour utiliser cette politique, procédez comme suit :

  1. Remplacez les exemples de principes IAM d'administrateur par vos principes d'administrateur IAM réels

  2. Remplacez l'exemple d'ARN de l'instance IAM Identity Center par l'ARN de votre instance réelle

  3. Remplacez l'exemple d'ARN d'Identity Store par votre véritable ARN d'Identity Store

Si vous avez besoin d'aide pour trouver les valeurs de ces identifiants, consultezTrouvez les identifiants requis.

Une fois que vous avez mis à jour le modèle avec vos valeurs, revenez Étape 2 : Préparation des déclarations de politique clés de KMS à pour préparer des déclarations de politique clés KMS supplémentaires, le cas échéant.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowSpecificIAMIdentityCenterAdminToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "Sid": "AllowIAMIdentityCenterAdminToDescribeTheKMSKey", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Politique d'accès aux services

Le modèle de déclaration de politique suivant permet à une instance spécifique d'IAM Identity Center et à son magasin d'identités associé d'utiliser la clé KMS.

Pour utiliser cette politique, procédez comme suit :

  1. Remplacez l'exemple d'ARN de l'instance IAM Identity Center par l'ARN de votre instance réelle

  2. Remplacez l'exemple d'ARN d'Identity Store par votre véritable ARN d'Identity Store

Si vous avez besoin d'aide pour trouver les valeurs de ces identifiants, consultezTrouvez les identifiants requis.

Une fois que vous avez mis à jour le modèle avec vos valeurs, revenez Étape 2 : Préparation des déclarations de politique clés de KMS à pour préparer des déclarations de politique clés KMS supplémentaires, le cas échéant.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificIAMIdentityCenterToUseTheKMSKey", "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": "${identity_center_arn}" } } }, { "Sid": "AllowSpecificIAMIdentityStoreToUseTheKMSKey", "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": "${identity_store_arn}" } } }, { "Sid": "AllowIAMIdentityCenterAndIdentityStoreToDescribeKMSKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Déclarations de politique KMS pour l'utilisation en lecture seule d'une instance IAM Identity Center spécifique

Cette politique permet aux auditeurs de sécurité et aux autres membres du personnel qui n'ont besoin que d'un accès en lecture à IAM Identity Center d'utiliser la clé KMS.

Pour utiliser cette politique, procédez comme suit :

  1. Remplacez les exemples de principes IAM d'administrateur en lecture seule par vos principes d'administrateur IAM réels

  2. Remplacez l'exemple d'ARN de l'instance IAM Identity Center par l'ARN de votre instance réelle

  3. Remplacez l'exemple d'ARN d'Identity Store par votre véritable ARN d'Identity Store

  4. Si vous utilisez l'administration déléguée, voir Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes

Si vous avez besoin d'aide pour trouver les valeurs de ces identifiants, consultezTrouvez les identifiants requis.

Une fois que vous avez mis à jour le modèle avec vos valeurs, revenez Étape 2 : Préparation des déclarations de politique clés de KMS à pour préparer des déclarations de politique clés KMS supplémentaires, le cas échéant.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowReadOnlyAccessToIdentityCenterAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowReadOnlyAccessToIdentityStoreAPI", "Effect": "Allow", "Principal": { "AWS": "${Admin_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" } } } ] }

Déclarations de politique clés KMS affinées pour l'utilisation des applications AWS gérées

Ces modèles de politique fournissent un contrôle plus précis sur les applications AWS gérées qui peuvent utiliser votre clé KMS.

Note

Certaines applications AWS gérées ne peuvent pas être utilisées avec IAM Identity Center configuré avec une clé KMS gérée par le client. Découvrez les applications AWS gérées que vous pouvez utiliser avec IAM Identity Center.

Ils Déclarations de base relatives aux clés KMS et à la politique IAM pour l'utilisation des applications AWS gérées permettent AWS à n'importe quelle application gérée à partir de n'importe quel compte de la même AWS organisation d'utiliser la clé KMS. Utilisez ces politiques affinées pour restreindre l'accès en :

  • Principal du service d'application

  • Instance d'application ARNs

  • AWS account IDs

  • Contexte de chiffrement pour des instances spécifiques d'IAM Identity Center

Note

Un principal de service est un identifiant unique pour un AWS service, généralement au format servicename.amazonaws.com (par exemple, elasticmapreduce.amazonaws.com pour Amazon EMR).

Restreindre par compte

Ce modèle de déclaration de politique de clé KMS permet à une application AWS gérée dans des AWS comptes spécifiques d'utiliser la clé KMS à l'aide d'une instance IAM Identity Center spécifique.

Pour utiliser cette politique, procédez comme suit :

  1. Remplacez l'exemple de principal de service par le principal de service de votre application réel

  2. Remplacez le compte d'exemple IDs par votre compte réel IDs

  3. Remplacez l'exemple d'ARN d'Identity Store par votre véritable ARN d'Identity Store

  4. Remplacez l'exemple d'ARN de l'instance IAM Identity Center par l'ARN de votre instance réelle

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowServiceInSpecificAccountsToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:sourceAccount": [ "${account_id_1}", "${account_id_2}" ] }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }

Restreindre par instance d'application

Ce modèle de déclaration de politique de clé KMS permet à une instance d'application AWS gérée spécifique d'utiliser la clé KMS à l'aide d'une instance IAM Identity Center spécifique.

Pour utiliser cette politique, procédez comme suit :

  1. Remplacez l'exemple de principal de service par le principal de service de votre application réel

  2. Remplacez l'exemple d'ARN d'application par l'ARN de votre instance d'application réelle

  3. Remplacez l'exemple d'ARN d'Identity Store par votre véritable ARN d'Identity Store

  4. Remplacez l'exemple d'ARN de l'instance IAM Identity Center par l'ARN de votre instance réelle

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "sso.*.amazonaws.com", "kms:EncryptionContext:aws:sso:instance-arn": "${identity_center_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } }, { "Sid": "AllowSpecificAppInstanceToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "Service": "${app_SPN_IAM_principal}" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceARN": "${app_arn}" }, "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "${identity_store_arn}" }, "Bool": { "aws:PrincipalIsAWSService": "true" } } } ] }