Нет прав на роль при автоматическом развертывании dax
Я пытаюсь автоматически развернуть DAX для DynamoDB, но продолжаю получать следующую ошибку как из python, так и из CLI:
Произошла ошибка (InvalidParameterValueException) при вызове операции CreateCluster: Нет разрешения для принятия роли:
arn:aws:iam::xxxxxxxxxxxx:role/service-role/230e772f-DAXServiceRole
Я использую команду CLI:
aws dax create-cluster --region some.region --cluster-name some.dax_name --node-type some.node_type --replication-factor 1 --subnet-group-name some.subnet_group_name --security-group-ids some.security_group_id --iam-role-arn some.iam_role_arn
Запуск этого напрямую из cli, работает нормально, запуск вручную через консоль также работает нормально. У кого-нибудь еще была эта проблема?
1 ответ
Хорошо, похоже, что мой сценарий пытался создать кластер DAX слишком рано после того, как он создал роль. Это заставило это не быть в состоянии найти это. Я добавил время между, и он смог найти роль.
Роль IAM должна быть создана с помощью службы, иначе вы столкнетесь с той же ошибкой, например, я создал роль с помощью приведенной ниже политики и столкнулся с той же проблемой.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "some role arn"
},
"Action": "sts:AssumeRole"
}
]
}
По сути, указанная выше политика добавит доверенные объекты в раздел "Принципал".
Роль Dax IAM необходимо создать с помощью метода политики ниже, чтобы избежать указанной выше ошибки.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "dax.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Дополнительные сведения см. В документе aws https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.create-cluster.cli.create-service-role.html.