我正在尝试编写一个脚本,将所有策略纳入一个角色并分离所有策略。
这导致我对每个角色使用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()
分离它们.
关于python - boto3 list_role_policies 返回空数组,或者如何分离所有策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60999265/