关于AWS-跨账号进行-CMDB资源信息的收集-服务端与客户端-Role及策略的创建

发布时间 2024-01-10 10:31:03作者: 520_1351

对于-AWS-客户端账号而言:

1、创建一个Role , 其权限要求,可以只要ReadOnlyAccess这一个即可,这是一个【亚马逊云科技 托管 - 工作职能】类型的策略

ReadOnlyAccess

2、其Role,需要建议信任关系,即要信任于AWS-服务端那边,这里笔者选择信任AWS-服务端那边的指定的Role

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws-cn:iam::612345678912:role/SSM-Role-qq-5201351"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

 

对于-AWS-服务端账号而言:

1、创建一个Role, 名称:SSM-Role-qq-5201351,这个是绑定到AWS-服务端账号下的EC2上面,策略policy要求如下:

(a),AmazonSSMManagedInstanceCore , 【Amazon Web Services managed】类型的policy

(b),创建一个 cross-role-for-cmdb 的策略,(限定只能AWS-服务端-指定EC2上执行),权限配置如下

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "ec2:SourceInstanceARN": [
                        "arn:aws-cn:ec2:cn-north-1:612345678912:instance/i-03e5e135f39af2361"
                    ]
                }
            }
        }
    ]
}

2、Role的Trust relationships配置如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com.cn"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

 

最后AWS-服务端-EC2-控制主机上的配置如下:

1、创建 ~/.aws/credentials 配置文件

[612345321789]
region=cn-north-1
role_arn= arn:aws-cn:iam::612345321789:role/AssumeRole-for-xxxxxxx
credential_source=Ec2InstanceMetadata
duration_seconds=900

注:配置中的Aaccount代表aws-客户端的Account,Role的名称要与客户端创建的Role名称一致

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17955882