Нет прав на роль при автоматическом развертывании 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.

Другие вопросы по тегам