

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.

# Creación de concesiones
<a name="create-grant-overview"></a>

Antes de crear una concesión, obtenga información sobre las opciones para personalizar su concesión. Puede usar *restricciones de concesión* para limitar los permisos de la concesión. Además, obtenga más información sobre la concesión de permiso `CreateGrant`. Las principales entidades que obtienen permiso para crear concesiones a partir de una concesión están limitadas en las concesiones que pueden crear.

**Topics**
+ [Crear una concesión](#grant-create)
+ [Concesión CreateGrant del permiso](#grant-creategrant)

## Crear una concesión
<a name="grant-create"></a>

Para crear una subvención, llame a la [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)operación. Especifique una clave de KMS, una lista de [las operaciones de subvención](grants.md#terms-grant-operations) permitidas y el director del [concesionario o el director](grants.md#terms-grantee-principal) de servicio del [concesionario](grants.md#terms-grantee-service-principal).

[Al especificar un **cesionario principal, si lo desea, puede designar un principal que se jubile o un [director de servicio que se jubile](grants.md#terms-retiring-principal) [y utilizar el parámetro para definir las restricciones](grants.md#terms-retiring-service-principal) de las subvenciones**. `Constraints`](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) [Al especificar un **director de servicio cesionario, debe incluir una restricción de subvención**. `SourceArn`](#terms-source-arn-constraint) También debe especificar a o a`RetiringServicePrincipal`. `RetiringPrincipal`

Al crear, retirar o revocar una concesión, es posible que haya un breve retraso, normalmente menos de cinco minutos, antes de que el cambio esté disponible a través de AWS KMS. Para obtener más información, consulte [Eventual consistency (for grants)](grants.md#terms-eventual-consistency).

Por ejemplo, el siguiente comando `CreateGrant` crea una concesión que permite a los usuarios que están autorizados a asumir el rol `keyUserRole` para llamar a la operación [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) en la [clave KMS simétrica](symm-asymm-choose-key-spec.md#symmetric-cmks) especificada. La concesión utiliza el parámetro `RetiringPrincipal` para designar una entidad principal que puede retirar la concesión. También incluye una restricción de concesión que permite el permiso únicamente cuando el [contexto de cifrado](encrypt_context.md) de la solicitud incluye `"Department": "IT"`.

```
$  aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextSubset={Department=IT}
```

Si su código vuelve a intentar la operación `CreateGrant`, o utiliza una [AWS SDK que reintenta automáticamente las solicitudes](https://docs.aws.amazon.com/general/latest/gr/api-retries.html), utilice el parámetro opcional [Name](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html#KMS-CreateGrant-request-Name) (Nombre) para evitar la creación de concesiones duplicadas. Si AWS KMS recibe una `CreateGrant` solicitud de concesión con las mismas propiedades que una subvención existente, incluido el nombre, reconocerá la solicitud al volver a intentarlo y no creará una nueva concesión. No puede usar el valor `Name` para identificar la concesión en cualquier operación de AWS KMS .

**importante**  
No incluya información confidencial en el nombre de la concesión. Puede aparecer en texto plano en CloudTrail los registros y otros resultados.

```
$ aws kms create-grant \
    --name IT-1234abcd-keyUserRole-decrypt \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextSubset={Department=IT}
```

En [Úselo `CreateGrant` con un AWS SDK o CLI](example_kms_CreateGrant_section.md), puede consultar ejemplos de código que muestran cómo crear concesiones en varios lenguajes de programación.

### Uso de restricciones de concesiones
<a name="grant-constraints"></a>

Las [restricciones de concesión](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) establecen condiciones sobre los permisos que la concesión otorga a entidad principal beneficiaria. Las restricciones de concesión sustituyen a las [claves de condición](policy-conditions.md) en una [política de claves](key-policies.md) o una [política de IAM](iam-policies.md).

**importante**  
No incluya información confidencial en este campo. Este campo puede mostrarse en texto plano en CloudTrail los registros y otros resultados.

AWS KMS admite dos tipos de restricciones de concesión: las restricciones del contexto de cifrado y la `SourceArn` restricción.

#### Restricciones del contexto de cifrado
<a name="grant-constraints-ec"></a>

Las restricciones del contexto de cifrado establecen los requisitos para el [contexto de cifrado](encrypt_context.md) en una solicitud de una operación criptográfica. Cada valor de restricción de concesión de contexto de cifrado puede incluir hasta 8 pares de contextos de cifrado. El valor del contexto de cifrado de cada restricción no puede superar los 384 caracteres.
+ Las restricciones de contexto de cifrado solo son válidas en una concesión para una clave KMS de cifrado simétrica. Las operaciones criptográficas con otras claves KMS no son compatibles con un contexto de cifrado. 
+ La restricción de contexto de cifrado se omite para las operaciones `DescribeKey` y `RetireGrant`. `DescribeKey` y `RetireGrant` no tienen un parámetro de contexto de cifrado, pero puede incluir estas operaciones en una concesión que tenga una restricción de contexto de cifrado.
+ Puede usar una restricción de contexto de cifrado en una concesión para la operación `CreateGrant`. La restricción de contexto de cifrado requiere que cualquier concesión creada con el permiso `CreateGrant` tenga una restricción de contexto de cifrado igualmente estricta o más estricta.

AWS KMS admite dos restricciones de concesión de contexto de cifrado.

**EncryptionContextEquals**  
Use `EncryptionContextEquals` para especificar el contexto de cifrado exacto para las solicitudes permitidas.   
`EncryptionContextEquals` requiere que los pares de contexto de cifrado de la solicitud coincidan exactamente, incluido el uso de mayúsculas y minúsculas, con los pares de contexto de cifrado de la restricción de concesión. Los pares pueden aparecer en cualquier orden, pero las claves y los valores de cada par no pueden variar.   
Por ejemplo, si la limitación de la concesión `EncryptionContextEquals` requiere el par de restricción de concesión `"Department": "IT"`, la concesión permite solicitudes del tipo especificado cuando el contexto de cifrado de la solicitud es exactamente `"Department": "IT"`.

**EncryptionContextSubset**  
Use `EncryptionContextSubset` para requerir que las solicitudes incluyan pares de contexto de cifrado particulares.  
`EncryptionContextSubset` requiere que la solicitud incluya todos los pares de contexto de cifrado de la restricción de concesión (una coincidencia exacta, incluido el uso de mayúsculas y minúsculas), pero la solicitud también puede tener pares de contexto de cifrado adicionales. Los pares pueden aparecer en cualquier orden, pero las claves y los valores de cada par no pueden variar.   
Por ejemplo, si la limitación de la concesión `EncryptionContextSubset` requiere el par de contexto de concesión de `Department=IT`, la concesión permite solicitudes del tipo especificado cuando el contexto de cifrado de la solicitud es `"Department": "IT"`, o incluye `"Department": "IT"` junto con otros pares de contexto de cifrado, como `"Department": "IT","Purpose": "Test"`.

Para especificar una restricción de contexto de cifrado en una concesión de una clave KMS de cifrado simétrico, utilice el `Constraints` parámetro en la [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)operación. La concesión que crea este comando concede a los usuarios autorizados asumir el permiso del rol `keyUserRole` para llamar a la operación [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html). Sin embargo, ese permiso solo es efectivo cuando el contexto de cifrado de la solicitud `Decrypt` es un par de contexto de cifrado `"Department": "IT"`.

```
$ aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \
    --operations Decrypt \
    --retiring-principal arn:aws:iam::111122223333:role/adminRole \
    --constraints EncryptionContextEquals={Department=IT}
```

La concesión resultante se parece a la siguiente. Tenga en cuenta que el permiso concedido al rol `keyUserRole` solo es efectivo cuando la solicitud `Decrypt` utiliza el mismo par de contexto de cifrado especificado en la restricción de concesiones. Para encontrar las concesiones de una clave KMS, utilice la [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)operación.

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

Para satisfacer la limitación de concesión `EncryptionContextEquals`, el contexto de cifrado en la solicitud para la operación `Decrypt` debe ser un par `"Department": "IT"`. Una solicitud como la siguiente del principal beneficiario satisfaría la restricción de concesiones `EncryptionContextEquals`.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT
```

Cuando la restricción de concesión es `EncryptionContextSubset`, los pares de contexto de cifrado de la solicitud deben incluir los pares de contexto de cifrado de la restricción de concesión, pero la solicitud también puede incluir otros pares de contexto de cifrado. La siguiente restricción de concesión requiere que uno de los pares de contexto de cifrado en la solicitud sea `"Deparment": "IT"`.

```
"Constraints": {
   "EncryptionContextSubset": {
       "Department": "IT"
   }
}
```

La siguiente solicitud del principal beneficiario sería capaz de satisfacer tanto las restricciones de concesión `EncryptionContextEqual` y `EncryptionContextSubset` en este ejemplo.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT
```

Sin embargo, una solicitud como la siguiente del principal beneficiario podría satisfacer la limitación de concesión `EncryptionContextSubset`, pero se produciría un error en la restricción de concesiones `EncryptionContextEquals`.

```
$ aws kms decrypt \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \
    --ciphertext-blob fileb://encrypted_msg \
    --encryption-context Department=IT,Purpose=Test
```

AWS los servicios suelen utilizar restricciones de contexto de cifrado en las concesiones que les dan permiso para usar las claves de KMS en su Cuenta de AWS. Por ejemplo, Amazon DynamoDB utiliza una concesión como la siguiente para obtener permiso para utilizar la [Clave administrada de AWS](concepts.md#aws-managed-key) para DynamoDB de su cuenta. La restricción `EncryptionContextSubset` de esta concesión hace que los permisos de la concesión solo sean efectivos cuando el contexto de cifrado de la solicitud contiene pares `"tableName": "Services"` y `"subscriberID": "111122223333"`. Esta restricción de concesión significa que la concesión permite a DynamoDB utilizar la clave KMS especificada solo en una determinada tabla de su Cuenta de AWS.

Para obtener este resultado, ejecute la [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)operación en DynamoDB de su cuenta. Clave administrada de AWS 

```
$ aws kms list-grants --key-id 0987dcba-09fe-87dc-65ba-ab0987654321

{
    "Grants": [
        {
            "Operations": [
                "Decrypt",
                "Encrypt",
                "GenerateDataKey",
                "ReEncryptFrom",
                "ReEncryptTo",
                "RetireGrant",
                "DescribeKey"
            ],
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "Constraints": {
                "EncryptionContextSubset": {
                    "aws:dynamodb:tableName": "Services",
                    "aws:dynamodb:subscriberId": "111122223333"
                }
            },
            "CreationDate": 1518567315.0,
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321",
            "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com",
            "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com",
            "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a",
            "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59"
        }
    ]
}
```

#### SourceArn restricción
<a name="grant-constraints-source-arn"></a>

**SourceArn**  <a name="terms-source-arn-constraint"></a>
La `SourceArn` restricción restringe la concesión de permisos a las solicitudes realizadas en nombre de un AWS recurso específico, identificado por su nombre de recurso de Amazon (ARN). La restricción de `SourceArn` concesión consiste, de hecho, en introducir una clave de condición [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)global en la concesión y solo se evalúa cuando la solicitud la realiza un servicio. AWS   
La `SourceArn` restricción siempre es necesaria cuando la subvención especifica un. `GranteeServicePrincipal` Opcionalmente, se puede usar con`GranteePrincipal`.   
A diferencia de las restricciones del contexto de cifrado, la `SourceArn` restricción se admite en las concesiones de *todos los tipos* de claves KMS.

Para especificar una `SourceArn` restricción en una concesión, utilice el `Constraints` parámetro en la [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)operación. En el siguiente ejemplo, se crea una concesión que permite a un director de AWS servicio llamar a `Decrypt` las operaciones `Encrypt` and, pero solo cuando la solicitud se realiza en nombre de la tabla de DynamoDB especificada. La `SourceArn` restricción es necesaria cuando la concesión especifica un. `GranteeServicePrincipal`

```
$ aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-service-principal {{service-name}}.amazonaws.com \
    --operations Encrypt Decrypt \
    --retiring-service-principal {{service-name}}.amazonaws.com \
    --constraints '{"SourceArn":"arn:aws:dynamodb:us-east-1:111122223333:table/ExampleTable"}'
```

La concesión resultante tiene el siguiente aspecto. Los permisos de la concesión solo entran en vigor cuando la solicitud incluye un ARN de origen que coincide con el `SourceArn` valor de la restricción de concesión.

```
$ aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{
    "Grants": [
        {
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a",
            "Operations": [
                "Encrypt",
                "Decrypt"
            ],
            "GranteeServicePrincipal": "{{service-name}}.amazonaws.com",
            "Constraints": {
                "SourceArn": "arn:aws:dynamodb:us-east-1:111122223333:table/ExampleTable"
            },
            "CreationDate": 1718567315.0,
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "RetiringServicePrincipal": "{{service-name}}.amazonaws.com"
        }
    ]
}
```

También puedes combinar varias restricciones en una sola concesión. Sin embargo, puede especificar una `EncryptionContextEquals` o ambas`EncryptionContextSubset`, pero no ambas. 

Cuando `GranteeServicePrincipal` se especifica, la `SourceArn` restricción es obligatoria, por lo que las combinaciones válidas para crear una concesión con múltiples restricciones son las siguientes:
+ `EncryptionContextEquals` por `SourceArn`
+ `EncryptionContextSubset` por `SourceArn`

El siguiente ejemplo crea una concesión con `GranteeServicePrincipal` y e `RetiringServicePrincipal` incluye tanto una `EncryptionContextSubset` restricción como una `SourceArn` restricción.

```
$ aws kms create-grant \
    --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --grantee-service-principal {{service-name}}.amazonaws.com \
    --retiring-service-principal {{service-name}}.amazonaws.com \
    --operations Encrypt Decrypt GenerateDataKey DescribeKey \
    --constraints '{"EncryptionContextSubset":{"Department":"IT"},"SourceArn":"arn:aws:dynamodb:us-east-1:111122223333:table/ExampleTable"}'
```

La concesión resultante tiene el siguiente aspecto. Observe que la respuesta incluye `RetiringServicePrincipal` campos `GranteeServicePrincipal` y, además, el `Constraints` campo contiene ambos campos `EncryptionContextSubset` y`SourceArn`.

```
$ aws kms list-grants --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
{
    "Grants": [
        {
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a",
            "Operations": [
                "Encrypt",
                "Decrypt",
                "GenerateDataKey",
                "DescribeKey"
            ],
            "GranteeServicePrincipal": "{{service-name}}.amazonaws.com",
            "Constraints": {
                "EncryptionContextSubset": {
                    "Department": "IT"
                },
                "SourceArn": "arn:aws:dynamodb:us-east-1:111122223333:table/ExampleTable"
            },
            "CreationDate": 1718567315.0,
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "RetiringServicePrincipal": "{{service-name}}.amazonaws.com"
        }
    ]
}
```

## Concesión CreateGrant del permiso
<a name="grant-creategrant"></a>

Una concesión puede incluir permiso para llamar a la operación `CreateGrant`. Pero cuando un [principal beneficiario](grants.md#terms-grantee-principal) obtiene permiso para llamar a `CreateGrant` desde una concesión, en lugar de una política, ese permiso es limitado. 
+ El principal beneficiario solo puede crear concesiones que permitan algunas o todas las operaciones de la concesión principal.
+ Las [restricciones de concesión](#grant-constraints) en las concesiones que crean deben ser al menos tan estrictas como las de la concesión principal.

Estas limitaciones no se aplican a las entidades principales que obtienen permito `CreateGrant` de una política, aunque sus permisos pueden estar limitados por [condiciones de política](grant-authorization.md).

Por ejemplo, supongamos que existe una concesión que permite a la entidad principal beneficiaria llamar a las operaciones `GenerateDataKey`, `Decrypt` y `CreateGrant`. Llamamos a una concesión que permita un permiso `CreateGrant` una *concesión principal*.

```
# The original grant in a ListGrants response.
{
    "Grants": [
        {
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1572216195.0,
            "GrantId": "abcde1237f76e4ba7987489ac329fbfba6ad343d6f7075dbd1ef191f0120514a",
            "Operations": [
                "GenerateDataKey",
                "Decrypt",
                "CreateGrant
            ]
            "RetiringPrincipal": "arn:aws:iam::111122223333:role/adminRole",
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GranteePrincipal": "arn:aws:iam::111122223333:role/keyUserRole",
            "Constraints": {
                "EncryptionContextSubset": {
                    "Department": "IT"
                }
            },
        }
    ]
}
```

La entidad principal beneficiaria, exampleUser, puede utilizar este permiso para crear una concesión que incluya cualquier subconjunto de las operaciones especificadas en la concesión principal, como `CreateGrant` y `Decrypt`. La *concesión secundaria* no puede incluir otras operaciones, como `ScheduleKeyDeletion` o `ReEncrypt`.

Además, las [restricciones de concesión](https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html) de las concesiones secundarias deben ser restrictivas o más restrictivas que las de la concesión principal. Por ejemplo, la concesión secundaria puede agregar pares a una restricción `EncryptionContextSubset` de la concesión principal, pero no puede eliminarlos. La concesión secundaria puede cambiar una restricción `EncryptionContextSubset` por una restricción `EncryptionContextEquals`, pero no al revés.

Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte la sección [Prácticas recomendadas de seguridad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM;*.

Por ejemplo, el principal beneficiario puede usar el permiso `CreateGrant` que obtuvo de la concesión principal para crear la siguiente concesión secundaria. Las operaciones del subsidio por hijos son un subconjunto de las operaciones del subsidio parental y las restricciones de la concesión son más restrictivas.

```
# The child grant in a ListGrants response.
{
    "Grants": [
        {
            "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1572249600.0,
            "GrantId": "fedcba9999c1e2e9876abcde6e9d6c9b6a1987650000abcee009abcdef40183f",
            "Operations": [
                "CreateGrant"
                "Decrypt"
            ]
            "RetiringPrincipal": "arn:aws:iam::111122223333:user/exampleUser",
            "Name": "",
            "IssuingAccount": "arn:aws:iam::111122223333:root",
            "GranteePrincipal": "arn:aws:iam::111122223333:user/anotherUser",
            "Constraints": {
                "EncryptionContextEquals": {
                    "Department": "IT"
                }
            },
        }
    ]
}
```

El principal beneficiario en la concesión secundaria, `anotherUser`, puede usar su permiso `CreateGrant` para crear concesiones. Sin embargo, las concesiones que `anotherUser` crea deben incluir las operaciones en su concesión principal o en un subconjunto, y las restricciones de concesión deben ser las mismas o más estrictas. 