在AWS IAM Role TrustEntity Relation中编写多个Principal AWS的正确方法

par*_*hau 12 amazon-web-services amazon-iam aws-iam-policy

我是 AWS IAM 角色的新手。

这里的场景是,我有一个用于 DynamoDB 读取访问的 IAM 角色 (DDBReadRole)(假设在账户 P 中)。我们在账户 B、账户 C 中分别有 2 个 lambda 执行角色 L1、L2。现在需要将这 2 个 lambda 执行角色添加到 DDBReadRole 访问信任实体关系中

为此我正在写{

"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": ["arn:aws:iam::<AccountBId>:role/<AccountBRole>",  "arn:aws:iam:: 
                   <AccountCId>:role/<AccountCRole>"]

        },
        "Action": "sts:AssumeRole"
    }
]
Run Code Online (Sandbox Code Playgroud)

}

我有另一个选择

{

"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::<AccountBId>:role/<AccountBRole>

        },
        "Action": "sts:AssumeRole"
    },
    {
        "Effect": "Allow",
        "Principal": {
            "AWS":  "arn:aws:iam::<AccountCId>:role/<AccountCRole>"

        },
        "Action": "sts:AssumeRole"
    }
]
Run Code Online (Sandbox Code Playgroud)

}

有人可以帮助我,这是在信任实体中添加 2 个 AWS 委托人的正确方法吗?

Mar*_*cin 10

两者都是正确的,您可以使用其中任何一个。但通常使用第一种形式,因为它更短。