小编sar*_*rnu的帖子

如何通过boto获取IAM政策文件

我试图通过boto获取aws IAM策略的详细信息,以便能够通过脚本备份或复制IAM策略.我搜索了boto 2和3的文档,但没有找到任何获取已配置策略的json数据的可能性.

我(成功)做了什么:

  • 通过IAM管理控制台创建策略
  • 将其分配给一个角色
  • 用它来通过boto创建ec2实例

但我找不到一种方法来检索关联的JSON数据(管理控制台中的"策略文档")以获取它.

我用boto试过的:

import boto.iam
REGION_NAME = 'eu-west-1'
iam_conn = boto.iam.connect_to_region(REGION_NAME)
arn = 'arn:myproperlyformattedarn'
p = iam_conn.get_policy(arn)
print p
Run Code Online (Sandbox Code Playgroud)

结果:

{
    "get_policy_response": {
        "response_metadata": {
            "request_id": "XXXXX-XXXX-XXXX-XXXX-XXXX"
        },
        "get_policy_result": {
            "policy": {
                "update_date": "2016-04-15T12:51:21Z",
                "create_date": "2016-04-15T12:51:21Z",
                "is_attachable": "true",
                "policy_name": "My_Policy_Name",
                "default_version_id": "v1",
                "attachment_count": "1",
                "path": "/",
                "arn": "arn:aws:iam::123456789:policy/VerticaTest_GetConfigsFromS3",
                "policy_id": "XXXSOMELONGSTRINGXXXX"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我所追求的是这样的事情(管理控制台中的政策文件):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::mybucketname",
                "arn:aws:s3:::mybucketname/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

boto amazon-web-services amazon-iam boto3

3
推荐指数
2
解决办法
4829
查看次数

标签 统计

amazon-iam ×1

amazon-web-services ×1

boto ×1

boto3 ×1