View a markdown version of this page

Política básica de claves de KMS - AWS IAM Identity Center

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Política básica de claves de KMS

La siguiente política de claves de KMS cubre el escenario de implementación más común: una instancia del IAM Identity Center con administradores delegados y aplicaciones AWS administradas AWS Control Tower, incluidas instancias de SSO en Amazon EC2, y flujos de trabajo personalizados. Utilice esta política como punto de partida al crear una clave de KMS gestionada por el cliente para IAM Identity Center. Si necesitas controles de acceso más detallados, como restringir la clave a una instancia o aplicación específica del IAM Identity Center, consulta. Instrucciones de política de claves de KMS avanzadas Ten en cuenta que si utilizas una clave multirregional, debes utilizar la misma política en todas las réplicas para garantizar una autorización coherente.

Para usar esta política, reemplaza los siguientes valores de marcador de posición por los tuyos propios:

  • 111122223333— El ID de AWS cuenta de tu instancia de IAM Identity Center (la cuenta AWS Organizations de administración).

  • 444455556666— El ID de AWS cuenta de su cuenta de administración delegada. Si no utilizas la administración delegada, elimina este principal.

Como AWS IAM Identity Center requiere que la clave de KMS esté en la misma AWS cuenta que el servicio, las siguientes instrucciones utilizan las ${aws:ResourceAccount} variables ${aws:ResourceOrgID} y en lugar de valores literales. Si lo prefieres, puedes reemplazar estas variables por tu ID de AWS organización y tu ID de AWS cuenta.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIdentityCenterAdminAccounts", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": "kms:*", "Resource": "*" }, { "Sid": "AllowIdentityCenterAndIdentityStoreToDescribeKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "${aws:ResourceAccount}" } } }, { "Sid": "AllowIdentityCenterAndIdentityStoreToUseKey", "Effect": "Allow", "Principal": { "Service": [ "identitystore.amazonaws.com", "sso.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "${aws:ResourceAccount}" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } }, { "Sid": "AllowOrgPrincipalsViaIdentityCenterAndIdentityStore", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "${aws:ResourceOrgID}" }, "StringLike": { "kms:ViaService": [ "sso.*.amazonaws.com", "identitystore.*.amazonaws.com" ] }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } }, { "Sid": "AllowManagedApps", "Effect": "Allow", "Principal": "*", "Action": "kms:Decrypt", "Resource": "*", "Condition": { "Bool": { "aws:PrincipalIsAWSService": "true" }, "StringEquals": { "aws:SourceOrgID": "${aws:ResourceOrgID}" }, "StringLike": { "kms:ViaService": [ "identitystore.*.amazonaws.com", "sso.*.amazonaws.com" ] }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": [ "aws:sso:instance-arn", "aws:identitystore:identitystore-arn" ] } } } ] }

Esta política contiene cinco declaraciones. En la siguiente tabla se describe lo que hace cada declaración.

Instrucción Finalidad
AllowIdentityCenterAdminAccounts Otorga todos los permisos de clave de KMS a la cuenta de administración del IAM Identity Center y a la cuenta de administración delegada. Esto incluye acciones de administración de claves, como la modificación de la política de claves y la programación de la eliminación de claves. Los administradores de estas cuentas pueden administrar y usar la clave si tienen los permisos necesarios en sus políticas basadas en la identidad.
AllowIdentityCenterAndIdentityStoreToDescribeKey Permite a los directores de servicio de IAM Identity Center y Identity Store recuperar los metadatos clave. Esto es necesario para las operaciones de servicio que validan la clave sin realizar el cifrado o el descifrado. Esta aws:SourceAccount condición ayuda a garantizar que solo la instancia del IAM Identity Center pueda usar la clave de KMS.
AllowIdentityCenterAndIdentityStoreToUseKey Permite a los directores de servicio de IAM Identity Center y Identity Store utilizar la clave para operaciones de cifrado, como cifrar, descifrar y volver a cifrar datos. Esta aws:SourceAccount condición ayuda a garantizar que solo la instancia del IAM Identity Center pueda usar la clave de KMS.
AllowOrgPrincipalsViaIdentityCenterAndIdentityStore Permite a los directores de IAM de su AWS organización descifrar los datos a través de los servicios Identity Center y Identity Store de IAM. Esto incluye a los administradores de aplicaciones que interactúan con los Center-integrated AWS servicios de identidad de IAM mediante sesiones de acceso directo (FAS).
AllowManagedApps Permite a las aplicaciones AWS gestionadas descifrar los datos protegidos por la clave de KMS a través del centro de identidades y el almacén de identidades de IAM.

Utilice la siguiente declaración de política de IAM Paso 4: configure las políticas de IAM para el uso entre cuentas de la clave de KMS para permitir a los administradores delegados utilizar la clave de KMS a través de las API del servicio de IAM Identity Center. Sustituya el ARN de la clave de ejemplo por el ARN de su clave de KMS real. La región comodín del ejemplo contiene todas las réplicas de una clave de KMS multirregional.

Para los casos de uso multicuenta distintos de la administración del centro de identidad de IAM, como el inicio de sesión único en instancias de Amazon EC2 o la administración de aplicaciones AWS gestionadas, reduzca el campo AllowCrossAccountKMSKeyUse a la instrucción únicamente y elimínela. kms:Decrypt AllowListKMSKeyAliases

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountKMSKeyUse", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:*:111122223333:key/mrk-1234abcd-12ab-34cd-56ef-1234567890ab" ] }, { "Sid": "AllowListKMSKeyAliases", "Effect": "Allow", "Action": "kms:ListAliases", "Resource": "*" } ] }