Вы используете лямбда-функцию в Account-A
для вызова маршрута 53 в Account-B
.
Для этого потребуется:
- Роль IAM (
Role-A
) в Account-A
, который назначен лямбда-функции. Он должен предоставить разрешение на вызов AssumeRole()
с Resource
, установленным на ARN Role-B
в Account-B
:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::<Account-B>:role/role-b"
}
]
}
И с такими доверительными отношениями:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
- Роль IAM (
Role-B
) в Account-B
, которая имеет разрешение на вызов Маршрута 53. Она также должна иметь политику доверия , позволяющую принимать ее Role-A
в Account-A
:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "route53:*",
"Resource": "*"
}
]
}
(Это слишком мощная политика. Было бы лучше ограничить ее указанными c Маршрутом 53 необходимых действий.)
И это доверительные отношения (указывающие на роль, созданную на предыдущем шаге):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<Account-A>:role/role-a"
},
"Action": "sts:AssumeRole"
}
]
}