Spinnaker CloudDriver Pod аварийно завершает работу из-за проблемы с IAM

При развертывании Spinnaker в EKS с помощью hal deploy apply модуль Spinnaker Clouddriver переходит в CrashLoopBackOff со следующей ошибкой:

Вызвано: com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException: Пользователь: arn: aws: sts :: xxxxxxxxxxxx: allowed-role / Spinnaker-k8s-Worker-Node-Role / i-yyyyyyyyyyyyyys не авторизован для выполнения : AssumeRole на ресурсе: arn: aws: iam :: xxxxxxxxxxxx: role / Spinnaker-Managed-Role

Моя конфигурация Halyard выглядит следующим образом:

currentDeployment: default
deploymentConfigurations:
- name: default
  version: 1.17.6
  providers:
    appengine:
      enabled: false
      accounts: []
    aws:
      enabled: true
      accounts:
      - name: my-account
        requiredGroupMembership: []
        providerVersion: V1
        permissions: {}
        accountId: 'xxxxxxxxxxxx' # my account id here
        regions:
        - name: us-east-1
        assumeRole: Spinnaker-Clouddriver-Role
        lifecycleHooks: []
      primaryAccount: my-account
      bakeryDefaults:
        baseImages: []
      defaultKeyPairTemplate: '{{name}}-keypair'
      defaultRegions:
      - name: us-east-1
      defaults:
        iamRole: BaseIAMRole

Моя Spinnaker-Clouddriver-Role роль IAM имеет PowerUserAccess разрешения на данный момент и имеет следующие полномочия в качестве доверительных отношений.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ec2.amazonaws.com",
          "ecs.amazonaws.com",
          "application-autoscaling.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::xxxxxxxxxxx:role/Spinnaker-k8s-Worker-Node-Role"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Как я могу решить эту проблему?


Полный журнал можно найти на https://gist.github.com/agentmilindu/d9d31ee4287c87fb87e5060e0709989d#file-awssecuritytokenserviceexception-log-L3


person Milindu Sanoj Kumarage    schedule 26.02.2020    source источник


Ответы (1)


Взгляните на политику AWS IAM, которая работает безупречно.

См. Настройка Armory AWS IAM и настроен поставщик EC2

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*",
                "cloudformation:*",
                "ecr:*"                
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Action": "sts:AssumeRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/SpinnakerManagedRoleAccount1",
                "arn:aws:iam::101121314157:role/SpinnakerManagedRoleAccount2",
                "arn:aws:iam::202122232425:role/SpinnakerManagedRoleAccount3"
            ],
            "Effect": "Allow"
        }
    ]
}
person Andre Leon Rangel    schedule 04.03.2020