AWS KMS 退休与撤销授权

Tom*_*ijs 4 amazon-web-services aws-kms

我正在管理跨 AWS 账户的 CMK 的 KMS 权限,以证明一个账户可以访问另一个账户的 KMS 密钥我使用的是授权而不是策略,因为 AWS 建议它们更临时,这符合我对所有意图的需求和目的。

我知道每个资源有一个最大的授权限制,所以在我授予权限并且不再需要它们之后,我应该清理授权。

根据 AWS 的说法,有两种方法可以解决此问题Retire a grantRevoke a grant. 每个都有略微不同的描述:

Retire: To retire a grant for an AWS KMS customer master key, use the RetireGrant operation.
        You should retire a grant to clean up after you are done using it.

Revoke: To revoke a grant to an AWS KMS customer master key, use the RevokeGrant operation.
        You can revoke a grant to explicitly deny operations that depend on it.
Run Code Online (Sandbox Code Playgroud)

唯一的区别是 Revoke 将拒绝任何正在进行的操作,还是有更多区别?“当你用完它时,你应该退休”似乎有点含糊,我想要一个更技术性的解释。

有人可以详细说明两者之间的实际差异,我将不胜感激有关该主题的任何额外资源。

我用过的资源:

https://docs.aws.amazon.com/cli/latest/reference/kms/retire-grant.html
https://docs.aws.amazon.com/cli/latest/reference/kms/revoke-grant.html
https://api.spotinst.com/elastigroup-for-aws/tutorials/using-cross-account-kms-key-to-encrypt-ebs-volumes-with-spotinst/
https://docs.aws.amazon.com/kms/latest/developerguide/programming-grants.html
https://docs.aws.amazon.com/kms/latest/developerguide/grants.html
https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#grant
Run Code Online (Sandbox Code Playgroud)

小智 7

Retire 和 Revoke 都会导致授权被删除,并且它提供的任何权限都被删除。不同之处在于谁能执行此操作。

作为密钥所有者,根据标准密钥访问身份验证流程,您可以撤销授权。此外,当您创建授权时,您可以指定一个退休原则。这个原则现在可以“清理”并删除这个单一的授权。

想象一下,您在另一个帐户中有一个需要授予访问权限的原则。你相信这个原则会在它完成工作后删除它的访问权限。因此,您创建一个赠款,将此原则作为退休原则并交付赠款。您预计将要完成的工作,并原则退役在本周结束的补助。假设 3 周后,您注意到此赠款仍然有效。然后您撤销授权并联系负责人以了解发生了什么。