是否可以从我的账户中删除 AWS IAM 中的托管策略?

Is that possible to delete a managed policy in AWS IAM from my account?

在 AWS IAM 策略的 Web 控制台中,选择任何托管策略时,“操作”下拉菜单中的“删除”选项被禁用。

在 CLI 中,尝试删除托管策略时,我得到:

$ aws iam delete-policy --policy-arn arn:aws:iam::aws:policy/service-role/AWSQuickSightElasticsearchPolicy

An error occurred (AccessDenied) when calling the DeletePolicy operation: Cannot delete policies outside your own account.

一个简单的问题:是否可以从我的帐户中删除任何托管策略?如果是,如何?

不,您不能删除由 AWS 管理的 IAM 策略。您示例中的策略似乎是由 AWS 管理的策略,因此无法删除。 但是,如果您具有适当的权限,则可以删除客户管理的 IAM 策略。

参考:https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html#:~:text=You%20cannot%20delete%20AWS%20managed%20policies

“无法删除您自己帐户之外的策略”是在说。 policy-arn 参数的帐户 ID 为 aws,我怀疑您的身份验证可以删除该 ID。 (除非你授权为 Jeff Bezos,哈哈。)

要删除托管策略,the docs说:

  1. 使用 DetachUserPolicy、DetachGroupPolicy 或 DetachRolePolicy 从所有用户、组和角色中分离策略。
  2. 使用 DeletePolicyVersion 删除策略的所有版本。
  3. 使用此操作删除策略(这会自动删除策略的默认版本)。

我的猜测是 Web 控制台变灰了,因为附加了策略或存在版本。请务必按照说明删除这些内容。

由于给定的 ARN,命令行失败。执行最后一步时,请确保使用持有要删除的托管策略的帐户的帐户 ID。