Utilice etiquetas para controlar el acceso a KMS las teclas - 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.

Utilice etiquetas para controlar el acceso a KMS las teclas

Puede controlar el acceso en AWS KMS keys función de las etiquetas de la KMS llave. Por ejemplo, puede escribir una IAM política que permita a los directores habilitar y deshabilitar solo las KMS claves que tengan una etiqueta determinada. O bien, puede usar una IAM política para impedir que los directores usen KMS claves en las operaciones criptográficas, a menos que la KMS clave tenga una etiqueta determinada.

Esta función forma parte de la AWS KMS compatibilidad con el control de acceso basado en atributos (). ABAC Para obtener información sobre el uso de etiquetas para controlar el acceso a AWS los recursos, consulte ¿Para qué sirve? ABAC AWS y Cómo controlar el acceso a AWS los recursos mediante etiquetas de recursos en la Guía del IAM usuario. Para obtener ayuda para resolver los problemas de acceso relacionados conABAC, consulteSolución de problemas de ABAC para AWS KMS.

nota

Los cambios de etiqueta y alias pueden tardar hasta cinco minutos en afectar a la autorización de KMS claves. Es posible que los cambios recientes estén visibles en API las operaciones antes de que afecten a la autorización.

AWS KMS admite la clave de contexto de condición global aws:ResourceTag/tag-key, que permite controlar el acceso a KMS las claves en función de las etiquetas de la clave. KMS Como varias KMS claves pueden tener la misma etiqueta, esta función le permite aplicar el permiso a un conjunto de KMS claves seleccionado. También puede cambiar fácilmente las KMS teclas del conjunto cambiando sus etiquetas.

En AWS KMS, la clave de aws:ResourceTag/tag-key condición solo se admite en IAM las políticas. No se admite en las políticas clave, que se aplican solo a una KMS clave, ni en las operaciones que no utilizan una KMS clave en particular, como las ListAliasesoperaciones ListKeyso.

Controlar el acceso con etiquetas proporciona una forma sencilla, escalable y flexible de administrar los permisos. Sin embargo, si no se diseña y administra adecuadamente, puede permitir o denegar el acceso a tus KMS claves de forma inadvertida. Si utiliza etiquetas para controlar el acceso, tenga en cuenta las siguientes prácticas.

  • Utilice etiquetas para reforzar la práctica recomendada de acceso menos privilegiado. Otorgue a IAM los directores únicamente los permisos que necesitan sobre las KMS claves que deben usar o administrar. Por ejemplo, usa etiquetas para etiquetar las KMS claves utilizadas en un proyecto. Luego, dé permiso al equipo del proyecto para usar solo KMS las claves con la etiqueta del proyecto.

  • Tenga cuidado al dar a las entidades principales los permisos kms:TagResource y kms:UntagResource que les permiten agregar, editar y eliminar etiquetas. Cuando utilizas etiquetas para controlar el acceso a KMS las claves, al cambiar una etiqueta se puede dar permiso a los directores para usar KMS claves que, de otro modo, no tendrían permiso para usar. También puede denegar el acceso a KMS las claves que otros directores necesitan para hacer su trabajo. Los administradores de claves que no tienen permiso para cambiar las políticas clave o crear concesiones pueden controlar el acceso a KMS las claves si tienen permiso para administrar las etiquetas.

    Siempre que sea posible, utiliza una condición de política, como aws:RequestTag/tag-key aws:TagKeys limitar los permisos de etiquetado del director a determinadas etiquetas o patrones de etiquetas en determinadas KMS claves.

  • Revise las entidades principales Cuenta de AWS que actualmente tienen permisos para etiquetar y desetiquetar y ajústelas si es necesario. Por ejemplo, la política de claves predeterminada de la consola para los administradores de claves incluye kms:UntagResource permisos sobre kms:TagResource esa clave. KMS IAMlas políticas pueden permitir etiquetar y desetiquetar permisos en todas KMS las claves. Por ejemplo, la política AWSKeyManagementServicePowerUsergestionada permite a los directores etiquetar, desetiquetar y enumerar las etiquetas de todas las claves. KMS

  • Antes de establecer una política que dependa de una etiqueta, revisa las etiquetas de las KMS claves de tu. Cuenta de AWS Asegúrese de que su política solo se aplique a las etiquetas que desea incluir. Usa CloudTrail registros y CloudWatch alarmas para avisarte de los cambios en las etiquetas que puedan afectar al acceso a tus KMS llaves.

  • Las condiciones de política basadas en etiquetas utilizan la coincidencia de patrones; no están vinculadas a una instancia concreta de una etiqueta. Una política que utiliza claves de condición basadas en etiquetas afecta a todas las etiquetas nuevas y existentes que coincidan con el patrón. Si elimina y vuelve a crear una etiqueta que coincida con una condición de política, la condición se aplica a la nueva etiqueta, igual que a la anterior.

Por ejemplo, considere la siguiente IAM política. Permite a los directores realizar llamadas a las operaciones GenerateDataKeyWithoutPlaintexty descifrar solo en las KMS claves de su cuenta que sean de la región de Asia Pacífico (Singapur) y tengan una etiqueta. "Project"="Alpha" Puede adjuntar esta política a roles del ejemplo de proyecto Alpha.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyWithResourceTag", "Effect": "Allow", "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:Decrypt" ], "Resource": "arn:aws:kms:ap-southeast-1:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Project": "Alpha" } } } ] }

El siguiente ejemplo IAM de política permite a los directores utilizar cualquier KMS clave de la cuenta para determinadas operaciones criptográficas. Sin embargo, prohíbe a los directores utilizar estas operaciones criptográficas en KMS claves con o sin "Type"="Reserved" etiqueta. "Type"

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMAllowCryptographicOperations", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMDenyOnTag", "Effect": "Deny", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "StringEquals": { "aws:ResourceTag/Type": "Reserved" } } }, { "Sid": "IAMDenyNoTag", "Effect": "Deny", "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "Null": { "aws:ResourceTag/Type": "true" } } } ] }