boto3 list_role_policies返回空数组,或者如何分离所有策略



我正试图编写一个脚本,将所有策略放在一个角色中,并分离所有策略。

这让我对每个角色都使用list_role_policies,调用成功了,但它总是显示:

{'PolicyNames': [], 'IsTruncated': False, 'ResponseMetadata': {'RequestId': 'xxx', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'xxx', 'content-type': 'text/xml', 'content-length': '323', 'date': 'Thu, 02 Apr 2020 18:49:35 GMT'}, 'RetryAttempts': 0}}

当我通过控制台查看IAM时,肯定有附加的策略,一些内联策略,但大多数是托管策略,这就是为什么它们没有显示的原因吗?

此外,如果不需要,最终我实际上并不太关心策略名称,是否有其他方法可以分离所有策略?

谢谢!

list_role_policies将仅列出附加到角色的内联策略。

从响应来看,该角色似乎没有任何内联策略

您必须发出两个不同的API请求,一个用于检索内联策略列表,另一个用于托管策略。

使用list_role_policies()获取角色的所有内联PolicyNames,并使用方法delete_role_policy()将其从角色中删除。

类似地,使用list_attached_role_policies()获取角色的所有托管PolicyArns,并使用detach_role_policy()分离它们。

最新更新