Déclarations de base relatives aux clés KMS et à la politique IAM - 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 base relatives aux clés KMS et à la politique IAM

Les politiques de base basées sur les clés et les identités KMS fournies ici servent de base aux exigences communes. Nous vous recommandons également de passer en revue celles Déclarations de politique clés avancées de KMS qui fournissent des contrôles d'accès plus précis, par exemple en garantissant que la clé KMS n'est accessible qu'à une instance ou à une application AWS gérée IAM Identity Center spécifique. Avant d'utiliser les déclarations de politique clés avancées de KMS, consultez leConsidérations relatives au choix des déclarations de politique clés KMS de référence ou avancées.

Les sections suivantes fournissent des déclarations de politique de base pour chaque cas d'utilisation. Copiez les principales déclarations de politique KMS correspondant à vos cas d'utilisation, puis revenez àÉtape 2 : Préparation des déclarations de politique clés de KMS.

Déclarations de politique clés de base de KMS pour l'utilisation d'IAM Identity Center (obligatoire)

Utilisez le modèle de déclaration de politique de clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux administrateurs d'IAM Identity Center, de son magasin d'identités associé et d'IAM Identity Center d'utiliser la clé KMS.

  • Dans l'élément principal pour les déclarations de politique de l'administrateur, spécifiez les AWS principaux comptes des comptes d'administration de l'IAM Identity Center, à savoir le compte de gestion de l' AWS organisation et le compte d'administration déléguée, en utilisant le format « arn:aws:iam : :111122223333:root ».

  • Dans l' PrincipalArn élément, remplacez l'exemple par les rôles IAM ARNs des administrateurs de l'IAM Identity Center.

    Vous pouvez spécifier soit :

    • ARN du rôle IAM spécifique :

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_12345678"

    • Modèle Wildcard (recommandé) :

      "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/ap-southeast-2/AWSReservedSSO_permsetname_*"

    L'utilisation du caractère générique (*) empêche la perte d'accès si l'ensemble d'autorisations est supprimé et recréé, car Identity Center génère de nouveaux identifiants uniques pour les ensembles d'autorisations recréés. Pour un exemple de mise en œuvre, voirExemple de politique de confiance personnalisée.

  • Dans l' SourceAccount élément, spécifiez l'ID de compte IAM Identity Center.

  • Identity Store possède son propre principal de serviceidentitystore.amazonaws.com, qui doit être autorisé à utiliser la clé KMS.

  • Ces déclarations de politique permettent à vos instances IAM Identity Center d'un AWS compte spécifique d'utiliser la clé KMS. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS. Vous ne pouvez avoir qu'une seule instance IAM Identity Center par AWS compte.

Déclarations de politique clés de 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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] }, "StringLike": { "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*", "kms:ViaService": "identitystore.*.amazonaws.com" } } }, { "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_AdminPermissionSet_*", "arn:aws:iam::444455556666:role/aws-reserved/sso.amazonaws.com/us-east-1/AWSReservedSSO_DelegatedAdminSet_*" ] } } }, { "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": "AllowIAMIdentityStoreToUseTheKMSKey", "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": "*" } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre aux administrateurs du IAM Identity Center d'utiliser la clé KMS.

  • Remplacez l'exemple d'ARN de clé dans l'Resourceélément par l'ARN de votre clé KMS réel. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezTrouvez les identifiants requis.

  • Ces déclarations de politique IAM accordent un accès par clé KMS au principal IAM mais ne limitent pas le AWS service autorisé à effectuer la demande. La politique des clés KMS prévoit généralement ces restrictions de service. Toutefois, vous pouvez ajouter un contexte de chiffrement à cette politique IAM pour limiter l'utilisation à une instance d'Identity Center spécifique. Pour plus de détails, reportez-vous àDéclarations de politique clés avancées de KMS.

Déclarations de politique IAM requises pour les administrateurs délégués d'IAM Identity Center

{ "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": "*" } ] }

Déclarations de base relatives aux clés KMS et à la politique IAM pour l'utilisation des applications AWS gérées

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. Pour plus d'informations, consultez la section Applications AWS gérées qui fonctionnent avec IAM Identity Center.

Utilisez le modèle de déclaration de politique de clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour autoriser les applications AWS gérées et leurs administrateurs à utiliser la clé KMS.

  • Insérez votre AWS Organizations identifiant dans l' PrincipalOrgidentifiant et SourceOrgId les conditions. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezTrouvez les identifiants requis.

  • Ces déclarations de politique permettent à toutes vos applications AWS gérées et à tous les principaux IAM (administrateurs d'applications) de l' AWS organisation d'utiliser kms: Decrypt à l'aide d'IAM Identity Center et d'Identity Store. Pour limiter ces déclarations de politique à des applications AWS gérées, à des comptes ou à des instances d'IAM Identity Center spécifiques, consultezDéclarations de politique clés avancées de KMS.

    Vous pouvez restreindre l'accès à des administrateurs d'applications spécifiques en les * remplaçant par des principes IAM spécifiques. Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans le. Exemple de politique de confiance personnalisée Pour de plus amples informations, veuillez consulter Considérations relatives au choix des déclarations de politique clés KMS de référence ou avancées.

Déclarations de politique clés de 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" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre aux administrateurs d'applications AWS gérées d'utiliser la clé KMS d'un compte membre.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezTrouvez les identifiants requis.

  • Certaines applications AWS gérées nécessitent que vous configuriez des autorisations pour le service APIs IAM Identity Center. Avant de configurer une clé gérée par le client dans IAM Identity Center, vérifiez que ces autorisations autorisent également l'utilisation de la clé KMS. Pour connaître les exigences d'autorisation spécifiques relatives aux clés KMS, consultez la documentation de chaque application AWS gérée que vous avez déployée.

Déclarations de politique IAM requises pour les administrateurs d'applications AWS gérées :

{ "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" ] } } }] }

Déclaration clé de référence du KMS pour l'utilisation de AWS Control Tower

Utilisez les modèles de déclaration de clé KMS suivants Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux administrateurs de AWS Control Tower d'utiliser la clé KMS.

  • Dans l'élément Principal, spécifiez les principaux IAM utilisés pour accéder au service IAM Identity Center. APIs Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Ces déclarations de politique permettent aux administrateurs de AWS Control Tower d'utiliser la clé KMS via n'importe laquelle de vos instances IAM Identity Center. Cependant, AWS Control Tower restreint l'accès à l'instance organisationnelle d'IAM Identity Center au sein de la même AWS organisation. En raison de cette restriction, il n'y a aucun avantage pratique à restreindre davantage la clé KMS à une instance IAM Identity Center spécifique, comme décrit dansDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans le. Exemple de politique de confiance personnalisée

Déclaration de politique de clé KMS :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityCenter", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "Sid": "AllowControlTowerAdminRoleToUseTheKMSKeyViaIdentityStore", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/AWSControlTowerExecution" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "identitystore.*.amazonaws.com", "kms:EncryptionContext:aws:identitystore:identitystore-arn": "*" } } } ] }

AWS Control Tower ne prend pas en charge l'administration déléguée et, par conséquent, il n'est pas nécessaire de configurer une politique IAM pour ses administrateurs.

Déclarations de base relatives aux clés KMS et à la politique IAM pour l'utilisation d'IAM Identity Center sur les instances Windows Amazon Elastic Compute Cloud

Utilisez le modèle de déclaration de politique clé KMS suivant Étape 2 : Préparation des déclarations de politique clés de KMS pour permettre aux utilisateurs de l'authentification unique (SSO) sur les instances Amazon EC2 Windows d'utiliser la clé KMS sur plusieurs comptes.

  • Spécifiez les principaux IAM utilisés pour accéder à IAM Identity Center dans le champ Principal. Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Cette déclaration de politique autorise n'importe laquelle de vos instances IAM Identity Center à utiliser la clé KMS. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans Exemple de politique de confiance personnalisée.

Déclaration de politique clé de 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:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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": "*" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour autoriser les instances SSO vers EC2 Windows à utiliser la clé KMS.

Joignez la déclaration de politique IAM à l'ensemble d'autorisations existant dans IAM Identity Center que vous utilisez pour autoriser l'accès SSO aux instances Amazon EC2 Windows. Pour des exemples de politique IAM, consultez la section Connexions au protocole Remote Desktop dans le Guide de l'utilisateur de AWS Systems Manager.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezTrouvez les identifiants requis.

Politique IAM définie par les autorisations :

{ "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" ] } } }] }

Déclarations de base relatives aux clés KMS et à la politique IAM pour l'utilisation de flux de travail personnalisés avec IAM Identity Center

Utilisez les modèles de déclaration de politique clé KMS suivants Étape 2 : Préparation des déclarations de politique clés de KMS pour autoriser les flux de travail personnalisés, tels que les applications gérées par le client, dans le compte de AWS Organizations gestion ou le compte d'administration déléguée à utiliser la clé KMS.

  • Dans l'élément Principal, spécifiez les principaux IAM utilisés pour accéder au service IAM Identity Center. APIs Pour plus d'informations sur les principaux IAM, consultez la section Spécification d'un principal dans le Guide de l'utilisateur IAM.

  • Ces déclarations de politique permettent à votre flux de travail d'utiliser la clé KMS via n'importe laquelle de vos instances IAM Identity Center. Pour restreindre l'accès à une instance IAM Identity Center spécifique, consultezDéclarations de politique clés avancées de KMS.

  • Pour vous protéger contre les changements de nom de rôle IAM lorsque des ensembles d'autorisations sont recréés, utilisez l'approche décrite dans le. Exemple de politique de confiance personnalisée

Déclaration de politique de clé 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:EncryptionContext:aws:sso:instance-arn": "*", "kms:ViaService": "sso.*.amazonaws.com" } } }, { "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": "*" } } } ] }

Utilisez le modèle de déclaration de politique IAM suivant Étape 4 : Configuration des politiques IAM pour l'utilisation de la clé KMS entre comptes pour permettre au principal IAM associé au flux de travail personnalisé d'utiliser la clé KMS sur tous les comptes. Ajoutez la déclaration de politique IAM au principal IAM.

  • Remplacez l'exemple d'ARN dans l'élément Resource par l'ARN de votre clé KMS réelle. Pour obtenir de l'aide pour trouver les valeurs des identifiants référencés, consultezTrouvez les identifiants requis.

Déclaration de politique IAM (requise uniquement pour une utilisation entre comptes) :

{ "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" ] } } }] }