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 refinar los permisos de creación y administración de subvenciones, AWS KMS admite varias condiciones políticas que puede utilizar en políticas y IAM políticas clave.
Temas
Control del acceso a las concesiones
Puede controlar el acceso a las operaciones que crean y gestionan 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 llamen
CreateGrant
ListGrants
, oRevokeGrant
solo cuando un AWS servicio que está integrado con AWS KMSenvía la solicitud en nombre del director. - kms: 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 ListGrantsÚselo con un AWS SDKo CLI.
Para ver todas las subvenciones en el Cuenta de AWS y Región con un principal que se jubila 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 de servicio, que puede representar a varios directores diferentes 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
La AWS KMS APIsigue 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 en su totalidad 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 subvenció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 AWS KMS operación. Puedes enviar un token de subvención a cualquier AWS KMS operación de concesió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
Los directores con permiso también pueden usar un token de subvención para retirar una nueva subvención incluso antes de que la subvención esté disponible AWS KMS. (La RevokeGrant
operación no acepta un token de subvención). Para obtener más información, 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 AWS KMS operaciones, el acceso a la
RevokeGrant
operación se controla mediante políticas y IAMpolíticas clave. Cualquier director RevokeGrantAPIpuede llamarlos conkms: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 respaldo, el Cuenta de AWS en el 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 permisokms:RetireGrant
. El permisokms:RetireGrant
por sí solo no permite a las entidades principales retirar una concesión. El permisokms: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 permisokms:RetireGrant
. -
La Cuenta de AWS el 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 utilizar
kms:RetireGrant
para delegar el permiso para retirar la concesión a un IAM director de esa cuenta.
-
La AWS KMS APIsigue un modelo de coherencia eventual. Al crear, retirar o revocar una subvención, es posible que se produzca un breve retraso antes de que el cambio esté disponible por completo 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, usa un token de concesión para retirar la subvención. No puede usar un token de concesión para revocar una concesión.