Создание роли IAM в учетной записи A ( Владелец таблицы DynamoDB учетная запись), которая позволяет Glue как Основной для чтения таблиц.
Настройка политики разрешений для роли IAM в учетной записи A ( владелец таблицы DynamoDB учетная запись), что позволяет считывать данные в таблицах. Пример, из которого вы можете построить, предоставляется следующим образом:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListAndDescribe",
"Effect": "Allow",
"Action": [
"dynamodb:List*",
"dynamodb:DescribeReservedCapacity*",
"dynamodb:DescribeLimits",
"dynamodb:DescribeTimeToLive"
],
"Resource": "*"
},
{
"Sid": "AllTables",
"Effect": "Allow",
"Action": [
"dynamodb:BatchGet*",
"dynamodb:DescribeStream",
"dynamodb:DescribeTable",
"dynamodb:Get*",
"dynamodb:Query",
"dynamodb:Scan"
],
"Resource": [
"arn:aws:dynamodb:*:*:table/table-1",
"arn:aws:dynamodb:*:*:table/table-2"
]
}
]
}
Настройте политику доверия в указанной выше роли IAM в учетной записи A ( таблицы Dynamo DB учетная запись), чтобы Glue мог принять это.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "glue.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
В роли IAM, настроенной для задания Glue в учетной записи B (которой не принадлежат таблицы), включите политику разрешений для принятия роли IAM в учетной записи A ( таблицы DB Dynamo владелец учетная запись).
{
"Sid": "DelegateDynamoDBTablesOwnerRoleArn",
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::dynamo-db-table-owner-role-arn:role/*"
}
Рекомендации
- https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html#cross -account-call-etl