Control del acceso a alias - 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 alias

Al crear o cambiar un alias, afectará al alias y a su clave KMS asociada. Por lo tanto, las entidades principales que administran alias deben tener permiso para llamar a la operación de alias en el alias y en todas las claves KMS afectadas. Puede proporcionar estos permisos utilizando políticas de claves, políticas de IAM y concesiones.

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 Usar alias para controlar el acceso a las claves KMS.

Para obtener más información sobre cómo controlar el acceso a todas las operaciones de AWS KMS, consulte Referencia de permisos.

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

kms: CreateAlias

Para crear un alias, la entidad principal necesita los siguientes permisos tanto para el alias como para la clave KMS asociada.

  • kms:CreateAlias para el alias. Proporcione este permiso en una política de IAM adjunta a la entidad principal que tiene permiso para crear el alias.

    En la siguiente declaración de política de ejemplo se especifica un alias en particular en un elemento Resource. Pero puede enumerar varios ARN de alias o especificar un patrón de alias, como "test*". También puede especificar un valor Resource de "*" para permitir que la entidad principal cree cualquier alias en la cuenta y región. El permiso para crear un alias también se puede incluir en un permiso kms:Create* para todos los recursos de una cuenta y región.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:CreateAlias para la clave KMS. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

Puede utilizar claves de condición para limitar las claves KMS que puede asociar a un alias. Por ejemplo, puede usar la clave de KeySpec condición kms: para permitir que el director cree alias únicamente en claves KMS asimétricas. Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar los permisos kms:CreateAlias en recursos de clave KMS, consulteAWS KMS permisos.

kms: ListAliases

Para enumerar los alias de la cuenta y la región, la entidad principal debe tener el permiso kms:ListAliases en una política de IAM. Dado que esta política no está relacionada con ninguna clave o recurso de alias KMS en particular, el valor del elemento de recurso de la política debe ser "*".

Por ejemplo, la siguiente declaración de política de IAM otorga el permiso a la entidad principal para enumerar todas las claves y alias KMS en la cuenta y la región.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }

km: UpdateAlias

Para cambiar la clave KMS asociada a un alias, la entidad principal necesita tres elementos de permiso: uno para el alias, uno para la clave KMS actual y otro para la nueva clave KMS.

Por ejemplo, suponga que desea cambiar el alias test-key de la clave KMS con el ID de clave 1234abcd-12ab-34cd-56ef-1234567890ab a la clave KMS con el ID de clave 0987dcba-09fe-87dc-65ba-ab0987654321. En ese caso, incluya declaraciones de política similares a las de los ejemplos de esta sección.

  • kms:UpdateAlias para el alias. Puede proporcionar este permiso en una política de IAM que se asocia a la entidad principal. La siguiente política de IAM especifica un alias concreto. Pero puede enumerar varios ARN de alias o especificar un patrón de alias, como "test*". También puede especificar un valor Resource de "*" para permitir que la entidad principal actualice cualquier alias en la cuenta y región.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:UpdateAlias para la clave KMS que está actualmente asociada con el alias. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • kms:UpdateAlias para la clave KMS que la operación asocia con el alias. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

Puede usar claves de condición para limitar una o ambas claves KMS en una operación UpdateAlias. Por ejemplo, puede usar una clave de ResourceAliases condición kms: para permitir que el director actualice los alias solo cuando la clave KMS de destino ya tenga un alias concreto. Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar el permiso kms:UpdateAlias en un recurso de clave KMS, consulte AWS KMS permisos.

kms: DeleteAlias

Para eliminar un alias, la entidad principal necesita permiso para el alias y para la clave KMS asociada.

Como siempre, debe tener precaución al dar permiso a las entidades principales para eliminar un recurso. Sin embargo, eliminar un alias no afecta a la clave KMS asociada. Aunque puede causar un error en una aplicación que se basa en el alias, si elimina un alias por error, puede volver a crearlo.

  • kms:DeleteAlias para el alias. Proporcione este permiso en una política de IAM adjunta la entidad principal que tiene permiso para eliminar el alias.

    En la siguiente declaración de política de ejemplo se especifica el alias de un elemento Resource. Pero puede enumerar varios ARN de alias o especificar un patrón de alias, como "test*". También puede especificar un valor Resource de "*" para permitir que la entidad principal elimine cualquier alias en la cuenta y región.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:DeleteAlias para la clave KMS asociada. Este permiso debe proporcionarse en una política de claves o en una política de IAM que se delega desde la política de claves.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

Limitar los permisos de alias

Puede utilizar claves de condición para limitar los permisos de alias cuando el recurso es una clave KMS. Por ejemplo, la siguiente política de IAM permite operaciones de alias en claves KMS en una cuenta y región concretas. Sin embargo, utiliza la clave de KeyOrigin condición kms: para limitar aún más los permisos a las claves de KMS con material clave deAWS KMS.

Para obtener una lista completa de las claves de condiciones que puede utilizar para limitar el permiso de alias en un recurso de clave KMS, consulte AWS KMS permisos.

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

No puede usar claves de condición en una declaración de política donde el recurso es un alias. Para limitar los alias que una entidad principal puede administrar, utilice el valor del elemento Resource de la declaración de política de IAM que controla el acceso al alias. Por ejemplo, las siguientes declaraciones de política permiten que la entidad principal cree, actualice o elimine cualquier alias en el Cuenta de AWS y región a menos que el alias comience con Restricted.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }