本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用授予字符
AWS KMS API 遵循最終一致性模型。當建立授予時,授予可能無法立即生效。在該變更適用於整個 AWS KMS之前,可能會有短暫延遲。變更傳播到整個系統通常需要不到幾秒鐘的時間,但在某些情況下可能需要幾分鐘。一旦授權完全人傳播至整個系統,承授者主體即可使用授權的許可,而不需指定授權字符或授權的任何證據。不過,如果授予是如此新,但尚未讓所有 知道 AWS KMS,則請求可能會失敗並出現AccessDeniedException
錯誤。
若要立即使用新授予中的許可,請使用授予的授予字符。儲存CreateGrant操作傳回的授予字符。然後在 AWS KMS 操作的請求中提交授予權杖。您可以提交授予權杖到任何 AWS KMS 授予操作,也可以在相同的請求中提交多個授予權杖。
下列範例使用 CreateGrant
操作來建立允許 GenerateDataKey和解密操作的授予。它會儲存 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
操作不接受授予字符。) 如需詳細資訊,請參閱 淘汰和撤銷授予。
# Retire the grant
$
aws kms retire-grant --grant-token $token