Administración de las concesiones - 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.

Administración de las concesiones

Las entidades principales con los permisos necesarios pueden ver, usar y eliminar (retirar o revocar) concesiones. Para restringir los permisos de creación y administración de subvenciones, AWS KMS admite varias condiciones políticas que puede utilizar en políticas y políticas clave. IAM

Control del acceso a las concesiones

Puede controlar el acceso a las operaciones que crean y administran las subvenciones en las IAM políticas, políticas y subvenciones clave. Las principales entidades que reciben el permiso CreateGrant de una concesión tienen permisos de concesión más limitados.

APIoperación Política o IAM política clave Concesión
CreateGrant
ListGrants -
ListRetirableGrants -
Retiro de concesiones (Limitado. Consulte Retiro y revocación de concesiones)
RevokeGrant -

Si utiliza una política o IAM política clave para controlar el acceso a las operaciones que crean y gestionan las subvenciones, puede utilizar una o varias de las siguientes condiciones de política para limitar el permiso. AWS KMS admite todas las siguientes claves de condición relacionadas con la concesión. Para obtener más detalles y ejemplos, consulte AWS KMS claves de condición.

km: GrantConstraintType

Permite a las entidades principales crear una concesión solo cuando la concesión incluye la restricción de concesiones especificada.

km: GrantIsFor AWSResource

Permite que los directores CreateGrant llamen o RevokeGrant solo cuando un AWS servicio integrado AWS KMS envía la solicitud en nombre del director. ListGrants

km: GrantOperations

Permite a las entidades principales crear una concesión, pero limita la concesión a las operaciones especificadas.

km: GranteePrincipal

Permite a las entidades principales crear una concesión solo para el beneficiario principal.

km: RetiringPrincipal

Permite a las entidades principales crear una concesión solo cuando la concesión especifica una entidad principal que se retira en particular.

Visualización de concesiones

Para ver la concesión, utilice la ListGrantsoperación. Debe especificar la KMS clave a la que se aplican las subvenciones. También puede filtrar la lista de concesiones por ID de concesión o entidad beneficiaria principal. Para obtener más ejemplos, consulte Consultar una concesión.

Para ver todas las subvenciones de la región Cuenta de AWS y con un director saliente en particular, utilice ListRetirableGrants. Las respuestas incluyen detalles sobre cada concesión.

nota

El campo GranteePrincipal de la respuesta ListGrants generalmente contiene el principal beneficiario de la concesión. Sin embargo, cuando el principal beneficiario de la subvención es un AWS servicio, el GranteePrincipal campo contiene el principal del servicio, que puede representar a varios directores distintos del concesionario.

Por ejemplo, el siguiente comando muestra todas las concesiones de una clave. KMS

$ aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1572216195.0, "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a", "Constraints": { "EncryptionContextSubset": { "Department": "IT" } }, "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole", "Name": "", "IssuingAccount": "arn:aws:iam::111122223333:root", "GranteePrincipal": "arn:aws:iam::111122223333:user/exampleUser", "Operations": [ "Decrypt" ] } ] }

Uso de un token de concesión

A AWS KMS API continuación se presenta un modelo de coherencia eventual. Al crear una concesión, es posible que la concesión no sea efectiva inmediatamente. Es posible que haya un breve retraso antes de que el cambio esté disponible a través de AWS KMS. Por lo general, el cambio tarda menos de unos segundos en propagarse por todo el sistema, pero en algunos casos puede tardar varios minutos. Una vez que el cambio se haya propagado totalmente a través del sistema, la entidad principal beneficiaria puede utilizar los permisos de la concesión sin especificar el token de concesión ni ninguna prueba de la concesión. Sin embargo, si una concesión es tan nueva que aún no la conocen todos AWS KMS, es posible que la solicitud no se apruebe y se produzca un AccessDeniedException error.

Para utilizar los permisos de una nueva concesión inmediatamente, utilice el token de concesión para la concesión. Guarde el token de concesión que devuelve la CreateGrantoperación. A continuación, envíe el token de concesión en la solicitud de la AWS KMS operación. Puedes enviar un token de subvención a cualquier operación de AWS KMS subvención y puedes enviar varios tokens de subvención en la misma solicitud.

En el siguiente ejemplo, se utiliza la CreateGrant operación para crear una concesión que permita las operaciones de descifrado GenerateDataKeyy descifrado. Guarda el token de concesión que CreateGrant devuelve en la variable token. Luego, en una llamada a la operación GenerateDataKey, utiliza el token de concesión en la variable token.

# Create a grant; save the grant token $ token=$(aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/appUser \ --retiring-principal arn:aws:iam::111122223333:user/acctAdmin \ --operations GenerateDataKey Decrypt \ --query GrantToken \ --output text) # Use the grant token in a request $ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ –-key-spec AES_256 \ --grant-tokens $token

Las entidades principales con permiso también pueden usar un token de concesión para retirar una nueva concesión incluso antes de que la concesión esté disponible a través de AWS KMS. (La operación RevokeGrant no acepta un token de concesión). Para obtener más detalles, consulte Retiro y revocación de concesiones.

# Retire the grant $ aws kms retire-grant --grant-token $token

Retiro y revocación de concesiones

Para eliminar una concesión, retírela o revoquela.

Las RevokeGrantoperaciones RetireGranty son muy similares entre sí. Ambas operaciones eliminan una concesión, lo que elimina los permisos que permite la concesión. La principal diferencia entre estas operaciones es cómo se autorizan.

RevokeGrant

Como la mayoría de AWS KMS las operaciones, el acceso a la RevokeGrant operación se controla mediante políticas y IAMpolíticas clave. Cualquier director RevokeGrantAPIpuede llamarlos con kms:RevokeGrant permiso. Este permiso está incluido en los permisos estándar otorgados a los administradores de claves. Normalmente, los administradores revocan una concesión para denegar los permisos que permite la concesión.

RetireGrant

La concesión determina quién puede retirarla. Este diseño le permite controlar el ciclo de vida de una subvención sin cambiar las políticas o IAM políticas clave. Normalmente, usted retira una concesión cuando ha terminado de usar sus permisos.

Una entidad principal que se retira opcional especificada puede retirar una concesión. La entidad beneficiaria principal también puede retirar la concesión, pero solo si también se trata de una entidad principal que se retira o si la concesión incluye la operación RetireGrant. Como alternativa, la entidad Cuenta de AWS en la que se creó la subvención puede retirarla.

Hay un kms:RetireGrant permiso que se puede utilizar en IAM las políticas, pero su utilidad es limitada. Las entidades principales especificadas en la concesión pueden retirar una concesión sin el permiso kms:RetireGrant. El permiso kms:RetireGrant por sí solo no permite a las entidades principales retirar una concesión. El permiso kms:RetireGrant no es efectivo en una política de clave.

  • Para denegar el permiso de retirar una concesión, puede usar una acción Deny con el permiso kms:RetireGrant.

  • El Cuenta de AWS propietario de la KMS clave puede delegar el kms:RetireGrant permiso al IAM director de la cuenta.

  • Si el principal que se retira es otro Cuenta de AWS, los administradores de la otra cuenta pueden kms:RetireGrant delegar el permiso para retirar la concesión a un IAM director de esa cuenta.

A AWS KMS API continuación se presenta un modelo de coherencia eventual. Al crear, retirar o revocar una concesión, es posible que haya un breve retraso antes de que el cambio esté disponible a través de AWS KMS. Por lo general, el cambio tarda menos de unos segundos en propagarse por todo el sistema, pero en algunos casos puede tardar varios minutos. Si necesitas eliminar una nueva subvención inmediatamente, antes de que esté disponible en todo momento AWS KMS, utiliza un token de concesión para retirarla. No puede usar un token de concesión para revocar una concesión.