

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 권한 부여 토큰 사용
<a name="using-grant-token"></a>

 AWS KMS API는 [최종 일관성](grants.md#terms-eventual-consistency) 모델을 따릅니다. 권한 부여를 생성할 때 권한 부여가 즉시 유효하지 않을 수 있습니다. 변경 사항이 AWS KMS전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다. 변경 사항이 시스템 전체에 완전히 전파되면 피부여자 보안 주체는 권한 부여 토큰이나 권한 부여에 대한 증거를 지정하지 않고 권한 부여의 권한을 사용할 수 있습니다. 그러나 너무 새 권한 부여로 인해 아직 모든 사람에게 알려지지 않은 경우 `AccessDeniedException` 오류와 함께 AWS KMS요청이 실패할 수 있습니다.

새 권한 부여에서 권한을 즉시 사용하려면 권한 부여에 대한 [권한 부여 토큰](grants.md#grant_token)을 사용하십시오. [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) 작업으로 반환되는 권한 부여 토큰을 저장합니다. 그런 다음 AWS KMS 작업 요청에 권한 부여 토큰을 제출합니다. 권한 부여 토큰을 모든 AWS KMS [권한 부여 작업에](grants.md#terms-grant-operations) 제출하고 동일한 요청에서 여러 권한 부여 토큰을 제출할 수 있습니다.



다음 예에서는 `CreateGrant` 작업을 사용하여 [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) 및 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 작업을 허용하는 권한 부여를 생성합니다. `CreateGrant`에서 반환되는 권한 부여 토큰을 `token` 변수에 저장합니다. 그런 다음 `GenerateDataKey` 작업에 대한 호출에서 `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
```

권한이 있는 위탁자는 권한 부여가 AWS KMS를 통해 제공되기 전에도 권한 부여 토큰을 사용하여 새로운 권한 부여를 사용 중지할 수도 있습니다. (`RevokeGrant` 작업은 권한 부여 토큰을 허용하지 않습니다.) 자세한 내용은 [권한 부여 사용 중지 및 취소](grant-delete.md) 섹션을 참조하세요.

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