Control del acceso a las etiquetas - 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.

Control del acceso a las etiquetas

Para agregar, ver y eliminar etiquetas, ya sea en la consola AWS KMS o mediante el uso de la API, las entidades principales necesitan permisos de etiquetado. Puede proporcionar estos permisos en una política de claves. También puede proporcionarlos en las políticas de IAM (incluyendo Políticas de punto de enlace de la VPC), pero solo si la política de claves lo permite. La política AWSKeyManagementServicePowerUseradministrada permite a los directores etiquetar, desetiquetar y enumerar las etiquetas de todas las claves de KMS a las que puede acceder la cuenta.

También puede limitar estos permisos mediante claves de condición globales de AWS. EnAWS KMS, estas condiciones pueden controlar el acceso a las operaciones de etiquetado, como y. TagResourceUntagResource

nota

Tenga cuidado al dar permiso a las entidades principales para administrar etiquetas y alias. El cambio de etiqueta o alias puede permitir o denegar permiso a la clave administrada por el cliente. Para más detalles, consulte ABAC para AWS KMS y Uso de etiquetas para controlar el acceso a las claves KMS.

Para obtener más información y políticas de ejemplo, consulte Control del acceso en función de las claves de etiquetaen la Guía del usuario de IAM.

Los permisos para crear y administrar etiquetas funcionan de la siguiente manera.

km: TagResource

Permite a las entidades principales agregar o editar etiquetas. Para agregar etiquetas al crear una clave KMS, la entidad principal debe tener permiso en una política de IAM que no esté restringida a determinadas claves KMS.

km: ListResourceTags

Permite a las entidades principales ver etiquetas en claves KMS.

km: UntagResource

Permite a las entidades principales eliminar etiquetas de las claves KMS.

Permisos de etiquetas en políticas

Puede proporcionar permisos de etiquetas en una política de claves o una política de IAM. Por ejemplo, la siguiente política de claves de ejemplo ofrece permiso de etiquetar a los usuarios seleccionados en la clave KMS. Da permiso a todos los usuarios que pueden asumir los roles de administrador o desarrollador de ejemplo para ver etiquetas.

{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }

Para conceder permiso de etiquetado de entidades principales en varias claves KMS, puede usar una política de IAM. Para que esta política sea efectiva, la política de claves de cada clave KMS debe permitir a la cuenta utilizar políticas de IAM para controlar el acceso a clave KMS.

Por ejemplo, la siguiente política de IAM permite a las entidades principales crear claves KMS. También les permite crear y administrar etiquetas en todas las claves KMS de la cuenta especificada. Esta combinación permite a los directores utilizar el parámetro Etiquetas de la CreateKeyoperación para añadir etiquetas a una clave de KMS mientras la crean.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }

Limitar los permisos de etiqueta

Puede limitar los permisos de etiquetado mediante condiciones de política. Las siguientes condiciones de política se pueden aplicar a los permisos kms:TagResource y kms:UntagResource. Por ejemplo, puede utilizar la condición aws:RequestTag/tag-key para permitir que una entidad principal agregue solo etiquetas particulares, o impedir que una entidad principal agregue etiquetas con claves de etiqueta concretas. También puede utilizar la condición kms:KeyOrigin para evitar que las entidades principales etiqueten o desetiqueten claves KMS con material de claves importado.

Como práctica recomendada cuando utilice etiquetas para controlar el acceso a claves KMS, utilice la clave de condición aws:RequestTag/tag-key o aws:TagKeys para determinar qué etiquetas (o claves de etiqueta) están permitidas.

Por ejemplo, la siguiente política IAM es similar a la anterior. Sin embargo, esta política permite a las entidades principales crear etiquetas (TagResource) y eliminar etiquetas UntagResource solo para etiquetas con una clave de etiqueta Project.

Como TagResource las UntagResource solicitudes pueden incluir varias etiquetas, debe especificar un operador ForAllValues o ForAnyValue configurarlo con la TagKeys condición aws:. El operador ForAnyValue requiere que al menos una de las claves de etiqueta de la solicitud coincida con una de las claves de etiqueta de la política. El operador ForAllValues requiere que todas las claves de etiqueta de la solicitud coincidan con una de las claves de etiqueta de la política. El ForAllValues operador también devuelve el true mensaje si no hay etiquetas en la solicitud, pero TagResource no lo UntagResource hace si no se especifica ninguna etiqueta. Para obtener información detallada sobre los operadores de conjunto, consulte Usar varias claves y valores en la Guía del usuario de IAM.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }