一家公司的工程团队正在开发一个应用程序,该应用程序为用户创建 AWS Key Management Service (AWS KMS) 客户管理型密钥授权(grant)。授权创建后,用户必须能够立即使用 KMS 密钥加密 512 字节的有效负载。在负载测试期间,首次尝试加密时偶尔会发生 AccessDeniedException 错误。安全专家应提出什么建议来消除这些错误?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 让工程团队将 CreateGrant 返回的授权令牌传递给用户,并指示用户在 Encrypt 调用中包含该授权令牌。.
为什么这是答案
当 AWS KMS 的授权(grant)被创建后,它需要一些时间才能在所有 KMS 服务器上实现最终一致性。这意味着在授权创建后立即尝试使用它可能会因为授权信息尚未完全传播而导致 AccessDeniedException 错误。 正确的解决方案是让工程团队将 CreateGrant 操作返回的授权令牌(GrantToken)传递给用户。用户在后续的 Encrypt 调用中包含这个 GrantToken,KMS 服务会优先检查这个令牌,从而绕过最终一致性延迟,确保授权立即生效。 其他选项不正确的原因: 指示用户重试:虽然重试最终会成功,但这是一种被动且效率低下的解决方案,不能解决根本问题。 获取随机授权令牌并使用 CreateGrant:CreateGrant 不接受用户提供的随机授权令牌作为输入。 在 CreateGrant 中指定随机名称:CreateGrant 允许指定名称,但这个名称不是授权令牌,也不能用于解决最终一致性问题。授权令牌是 KMS 服务生成的,用于直接引用特定的授权。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡