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.
Uso de un token de concesión
La AWS KMS API sigue 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 realice correctamente 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 en AWS KMS. (La operación RevokeGrant
no acepta un token de concesión). Para obtener más información, consulte Retiro y revocación de concesiones.
# Retire the grant
$
aws kms retire-grant --grant-token $token