获取最新AWS IAM策略是否有对应关键字?boto3调用疑问
获取最新AWS IAM策略文档的正确方式
直接将VersionId设为类似latest的关键字是行不通的,AWS的get_policy_version接口不支持这种写法。要获取最新生效的IAM策略文档,你需要先获取该策略的默认版本ID,再用这个ID调用接口:
步骤1:获取策略的默认版本ID
调用get_policy接口获取策略的基本信息,其中包含默认版本的ID:
policy = client.get_policy( PolicyArn='arn:aws:iam::833926522372:policy/test-fake-fawkes-policy' ) default_version_id = policy['Policy']['DefaultVersionId']
步骤2:用默认版本ID获取策略文档
拿到版本ID后,再调用get_policy_version获取具体的策略内容:
policy_version = client.get_policy_version( PolicyArn='arn:aws:iam::833926522372:policy/test-fake-fawkes-policy', VersionId=default_version_id ) # 提取策略文档 latest_policy_document = policy_version['PolicyVersion']['Document']
说明
IAM策略的默认版本就是当前生效的最新版本,通过这种方式能确保你获取到的是正在使用的策略内容。如果需要查看所有版本(包括非默认的),可以调用list_policy_versions接口列出所有版本ID,再按需获取。
内容的提问来源于stack exchange,提问作者Jayleen
相关产品推荐
相关产品推荐

