Prácticas recomendadas para las políticas de IAM - AWS Key Management Service

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.

Prácticas recomendadas para las políticas de IAM

Asegurar el acceso a AWS KMS keys es fundamental para la seguridad de todos sus AWS recursos. Las claves KMS se utilizan para proteger muchos de los recursos más confidenciales de su propiedad Cuenta de AWS. Tómese el tiempo para diseñar las políticas de claves, políticas de IAM, concesiones y políticas de punto de enlace de la VPC que controlan el acceso a sus claves KMS.

En las declaraciones de política de IAM que controlan el acceso a las claves KMS, utilice el principio del menos privilegiado. Proporcione a las entidades principales de IAM solo los permisos que necesitan y únicamente en las claves de KMS que deben usar o administrar.

Las siguientes prácticas recomendadas se aplican a las políticas de IAM que controlan el acceso a AWS KMS las claves y los alias. Para obtener información general sobre las prácticas recomendadas de política de IAM, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.

Use políticas de claves

Siempre que sea posible, proporcione permisos en las políticas de clave que afecten a una clave KMS, en lugar de en una política de IAM que se pueda aplicar a muchas claves KMS, incluidas las de otras Cuentas de AWS. Esto es especialmente importante para los permisos confidenciales, como kms: PutKeyPolicy y kms: ScheduleKeyDeletion, pero también para las operaciones criptográficas que determinan cómo se protegen los datos.

Limite el permiso CreateKey

Conceda permiso para crear claves (kms: CreateKey) solo a los directores que lo necesiten. Las principales entidades que crean una clave KMS también establecen su política de claves, de modo que puedan concederse a sí mismos y a otros permisos para usar y administrar las claves KMS que crean. Cuando permita este permiso, considere limitarlo mediante el uso de condiciones de política. Por ejemplo, puede usar la KeySpec condición kms: para limitar el permiso a las claves KMS de cifrado simétrico.

Especifique claves KMS en una política de IAM

Como práctica recomendada, especifique la ARN de clave de cada clave KMS a la que se aplica el permiso en el elemento Resourcede la declaración de política. Esta práctica restringe el permiso a las claves KMS que requiere la entidad principal. Por ejemplo, este elemento Resource muestra solo las claves KMS que la entidad principal necesita usar.

"Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ]

Si no es práctico especificar las claves de KMS, utilice un Resource valor que Cuenta de AWS limite el acceso a las claves de KMS en una región de confianza, como. arn:aws:kms:region:account:key/* O limite el acceso a las claves de KMS en todas las regiones (*) de una región de confianza Cuenta de AWS, por ejemplo. arn:aws:kms:*:account:key/*

No puede utilizar un ID de clave, nombre de alias o bien ARN de alias para representar una clave KMS en el campo Resource de una política de IAM. Si especifica un alias ARN, la política se aplica al alias, no a la clave KMS. Para obtener información general sobre las políticas de IAM, consulte Control del acceso a alias.

Evite “Recurso”: “*” en una política de IAM

Utilice los caracteres de comodín (*) con juicio. En una política de claves, el carácter de comodín en el elemento Resource representa la clave KMS a la que se adjunta la política de clave. Sin embargo, en una política de IAM, un carácter comodín solo en el Resource elemento ("Resource": "*") aplica los permisos a todas las claves de KMS en todos los casos en los Cuentas de AWS que la cuenta del principal tenga permiso de uso. Esto puede incluir las claves de KMS en otras cuentas Cuentas de AWS, así como las claves de KMS de la cuenta del principal.

Por ejemplo, para usar una clave de KMS en otra Cuenta de AWS, el principal necesita el permiso de la política de claves de la clave de KMS de la cuenta externa y de una política de IAM de su propia cuenta. Supongamos que una cuenta arbitraria le dio a su Cuenta de AWS el permiso kms:Decrypt en sus claves KMS. Si es así, una política de IAM en su cuenta que le asigne permiso kms:Decrypt a un rol en todas las claves KMS ("Resource": "*") satisfaría la parte de IAM del requisito. Como resultado, las principales entidades que pueden asumir ese rol ahora pueden descifrar textos cifrados utilizando la clave KMS en la cuenta que no es de confianza. Las entradas de sus operaciones aparecen en los CloudTrail registros de ambas cuentas.

En particular, evite usar "Resource": "*" en una declaración de política que permita las siguientes operaciones de API. Estas operaciones se pueden realizar en las claves de KMS de otras Cuentas de AWS.

Cuándo usar “Recurso”: “*”

En una política de IAM, utilice un carácter comodín en el elemento Resource solo para los permisos que lo requieran. Solo los siguientes permisos requieren el elemento "Resource": "*".

nota

Los permisos para las operaciones de alias (kms: CreateAlias, kms: UpdateAlias, kms: DeleteAlias) deben adjuntarse al alias y a la clave KMS. Puede utilizar "Resource": "*" en una política de IAM para representar los alias y las claves KMS, o especificar los alias y las claves KMS en el elemento Resource. Para ver ejemplos, consulte Control del acceso a alias.

 

Los ejemplos de este tema proporcionan más información y orientación para diseñar políticas de IAM para claves KMS. Para obtener una guía general sobre las AWS KMS mejores prácticas, consulte las AWS Key Management Service mejores prácticas (PDF). Para ver las prácticas recomendadas de IAM para todos los AWS recursos, consulte las mejores prácticas de seguridad en IAM en la Guía del usuario de IAM.