翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
グラントトークンを使用する
は、最終的な整合性モデル AWS KMS APIに従います。グラントの作成時、グラントがすぐに有効にならないことがあります。変更が AWS KMS全体に適用されるまでに若干の遅延が生じることがあります。通常、変更がシステム全体に反映されるまでに数秒もかかりませんが、場合によっては数分かかることがあります。システム全体で変更が完全に伝播されると、被付与者プリンシパルはグラントトークンやグラントの証拠を指定せずに、グラントのアクセス許可を使用できます。ただし、新しいため、すべての にまだ知られていない許可がある場合 AWS KMS、リクエストはAccessDeniedException
エラーで失敗する可能性があります。
新しいグラントでアクセス許可をすぐに使用するには、グラントのグラントトークンを使用します。CreateGrant オペレーションが返す付与トークンを保存します。次に、 AWS KMS オペレーションのリクエストで付与トークンを送信します。許可トークンは任意の AWS KMS 許可オペレーションに送信でき、同じリクエストで複数の許可トークンを送信できます。
次の例では、 CreateGrant
オペレーションを使用して、 GenerateDataKeyおよび Decrypt オペレーションを許可する許可を作成します。これは、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