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

La protección del acceso a AWS KMS keys es fundamental para la seguridad de todos sus recursos de AWS. Las claves KMS se utilizan para proteger muchos de los recursos más sensibles de su Cuenta de AWS. Tómese el tiempo para diseñar las políticas de claves, las políticas de IAM, las concesiones y las políticas de punto de conexión de 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 las claves y alias AWS KMS. 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 resulta muy importante para permisos sensibles como kms:PutKeyPolicy y kms:ScheduleKeyDeletion pero también para operaciones criptográficas que determinan cómo se protegen sus datos.

Limite el permiso CreateKey

De permiso para crear claves (kms:CreateKey) solo a las principales entidades que lo necesitan. 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 utilizar la condición kms:KeySpec para limitar el permiso a claves KMS de cifrado simétricas.

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

Cuando no sea práctico especificar claves KMS, utilice un valor Resource que limite el acceso a las claves KMS en una región y Cuenta de AWS de confianza, como arn:aws:kms:region:account:key/*. O limite el acceso a las claves KMS en todas las regiones (*) de una Cuenta de AWS de confianza, como 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. Pero en una política de IAM, un carácter de comodín solo en el elemento Resource ("Resource": "*") aplica los permisos a todas las claves KMS en todas las Cuentas de AWS que la cuenta de la principal entidad tiene permiso para usar. Esto podría incluir claves KMS de otras Cuentas de AWS, así como las claves KMS en la cuenta de la principal entidad.

Por ejemplo, para usar una clave KMS en otro Cuenta de AWS, una entidad principal necesita permiso de la política de clave de la clave KMS en la cuenta externa y de una política de IAM en su propia cuenta. Supongamos que una cuenta arbitraria le dio a su Cuenta de AWS el permiso kms:Decrypt en sus claves de 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 registros de CloudTrail 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 llamar en claves KMS en 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 operaciones de alias (KMS:createAlias,KMS:actualizarAlias,kms:deleteAlias) debe 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 conocer las prácticas recomendadas de IAM para todos los recursos de AWS, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.