Роль IAM - AssumeRolepolicy содержит недопустимый принципал: "STAR": "*" - PullRequest
1 голос
/ 06 января 2020

Итак, я пытался написать роль IAM для CodeBuild и CodePipeline в AWS CDK.

Мне нужно опубликовать c, чтобы я мог ссылаться на них в их собственном объявлении.

Я также пытался сгенерировать простой шаблон CloudFormation из своего кода и не смог его загрузить. Была та же ошибка.

AssumeRolepolicy contained an invalid principal: "STAR":"*"

const codeBuildRoleName = `${parameters.environment}CodeBuildRole`;
const codeBuildRole = new Role(this, codeBuildRoleName, {
  assumedBy: new AnyPrincipal(),
  roleName: codeBuildRoleName,
});

const codeBuildRolePolicy = `${parameters.environment}CodeBuildRolePolicy`;
codeBuildRole.attachInlinePolicy(new Policy(this, codeBuildRolePolicy , {
  statements: [
    new PolicyStatement({
      effect: Effect.ALLOW,
      resources: ['*'],
      actions: ['iam:PassRole']
    }),
    new PolicyStatement({
      effect: Effect.ALLOW,
      resources: ['*'],
      actions: ['codebuild:*']
    }),
    new PolicyStatement({
      effect: Effect.ALLOW,
      resources: ['*'],
      actions: [
        'logs:FilterLogEvents',
        'logs:GetLogEvents',
        'logs:CreateLogStream',
        'logs:CreateLogGroup',
        'logs:PutLogEvents',
      ]
    }),
    new PolicyStatement({
      effect: Effect.ALLOW,
      resources: ['*'],
      actions: [
        'apigateway:PATCH',
        'apigateway:GET',
        'apigateway:POST',
        'iam:*',
        'cloudformation:*',
        's3:*',
        'cognito-idp:*',
      ]
    })
  ]
}));

Это код, и я получаю это.

AssumeRolepolicy contained an invalid principal: "STAR":"*"

И я ничего не могу развернуть.

1 Ответ

0 голосов
/ 07 января 2020

Когда вы создаете Role, попробуйте передать ServicePrincipal вместо AnyPrincipal следующим образом:

const codeBuildRole = new Role(this, codeBuildRoleName, {
  assumedBy: new ServicePrincipal(service: "codebuild.amazonaws.com"),
  roleName: codeBuildRoleName,
});

Я сейчас не в состоянии проверить это, но я думаю, это должно решить проблему.

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