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 administrada AWSKeyManagementServicePowerUser permite a las entidades principales etiquetar, desetiquetar y generar un lista de etiquetas en todas las claves KMS a las que puede acceder la cuenta.
También puede limitar estos permisos mediante claves de condición globales de AWS. En AWS KMS, estas condiciones pueden controlar el acceso a operaciones de etiquetado, como TagResource y UntagResource.
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.
- kms: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.
- kms:ListResourceTags
-
Permite a las entidades principales ver etiquetas en claves KMS.
- kms: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.
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 las entidades principales utilizar el parámetro Etiquetas de la operación CreateKeypara agregar etiquetas a una clave KMS mientras la están creando.
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.
Ya que las solicitudes TagResource y UntagResource pueden incluir varias etiquetas, debe especificar un operador de conjunto de ForAllValues o ForAnyValue con la condición aws:TagKeys. 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 operador ForAllValues también devuelve true si no hay etiquetas en la solicitud, pero TagResource y UntagResource fallan cuando no se especifican etiquetas. Para obtener información detallada sobre los operadores de conjunto, consulte Usar varias claves y valores en la Guía del usuario de IAM.