Как запустить образ AWS cloudBuild для доступа к ресурсу в другой учетной записи с помощью - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь запустить aws cli, чтобы обновить лямбда-код для другой учетной записи, но я получаю неавторизованную ошибку. Итак, на данный момент у нас есть 2 настройки аккаунта (dv, pr) У меня есть конвейер, созданный в DV, где запускается код сборки, в buildspec, я указал ARN лямбда-функции в учетной записи PR

aws lambda update-function-code --function-name arn:aws:lambda:us-east-1:productionAccount:function:functionName --zip-file fileb://$CODEBUILD_SRC_DIR_build_output/aws/lambda/target/artifact.jar --region us-east-1 --publish

Тогда я получаю ошибку:

An error occurred (AccessDeniedException) when calling the UpdateFunctionCode operation: User: arn:aws:sts::accountNumber:assumed-role/build-role/AWSCodeBuild-5cae6fd3-0fc1-44fb-ad7f-456ae0aa8944 is not authorized to perform: lambda:UpdateFunctionCode on resource: arn:aws:lambda:us-east-1:accountNumber:function:functionName

Способ настройки кросс-аккаунта следующий: В производственном учете: Я создал роль "lambdaDeployRole" с LambdaFullAccess, и в доверительных отношениях

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::devAccount:role/build-role"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

Я попытался добавить следующее в документ политики отношений, но получил недопустимый принципал в ошибке политики

arn:aws:sts::devAccountNumber:assumed-role/build-role/*

Есть идеи, как мне это настроить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...