Alguém sabe o seguinte Nuvem da AWS Formação de erro?

0

Pergunta

Quando a implantação de minha Formação de nuvens de modelos, que inclui um Elastic Beanstalk Pilha, recebo o seguinte erro:

Acesso Negado: S3Bucket=elasticbeanstalk-plataforma-ativos-ue-central-1, S3Key=caules/eb_corretto11_amazon_linux_2_1.0.2777.0_20211016030628/pacotes/Corretto11Template.pack (Service: AWSElasticBeanstalk; Código de Status: 403; Código de Erro: InsufficientPrivilegesException; Solicitação de IDENTIFICAÇÃO: 5a2d57e4-cd43-443b-9407-b0fc0234ea40; Proxy: null)

Desde a sua S3 Erro (InsufficientPrivilegesException) me parece ser a falta de uma permissão. O problema é que o Bucket S3 ele não pode acessar não está em minhas Contas S3 Lista de Balde e parece ser uma espécie de um regional balde, então eu não posso adicionar as políticas... alguém já encontrou esse erro? Para informações de fundo: estou trabalhando em uma conta dentro de uma conta de root, que usa a AWS Organizações...

Aqui está o meu iam modelo de papel, incluindo a política gerida arn:

BackendServiceRole:
Type: AWS::IAM::Role
Properties:
  RoleName:  !Sub '${GroupName}BackendServiceRole'
  AssumeRolePolicyDocument:
    Version: "2012-10-17"
    Statement:
      - Effect: Allow
        Principal:
          Service:
            - elasticbeanstalk.amazonaws.com
        Action:
          - 'sts:AssumeRole'
  ManagedPolicyArns: [arn:aws:iam::aws:policy/AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy]

No meu Back-end do Modelo no Ambiente, ive adicionado o seguinte OptionSetting:

MyEnvironment:
Type: AWS::ElasticBeanstalk::Environment
Properties:
  ApplicationName: !Ref MyBackendApplication
  CNAMEPrefix: !Sub '${ApplicationName}'
  EnvironmentName: !Sub '${ApplicationName}-Environment'
  SolutionStackName: 64bit Amazon Linux 2 v3.2.7 running Corretto 11
  Tier:
    Name: WebServer
    Type: Standard
  OptionSettings:
    - Namespace: aws:elasticbeanstalk:environment
      OptionName: ServiceRole
      Value: !GetAtt BackendServiceRole.Arn
    # bunch of other options here

Graças já!

1

Melhor resposta

0

Você precisa adicionar o AWSElasticBeanstalkManagedUpdatescustomerrolepolicy AWS Gerenciado da política para o seu papel de serviço. Você pode ler mais detalhes na documentação.

Esta política irá conceder-lhe acesso ao balde:

enter image description here

A política completa do documento está disponível aqui.

Certifique-se de que você corretamente atribuir a função para o seu modelo de configuração:

  EBSApplicationConfigurationTemplate:
    Type: AWS::ElasticBeanstalk::ConfigurationTemplate
    Properties:
      ApplicationName: !Ref EBSApplication
      Description: ElasticBeanstalk Configuration Template
      SolutionStackName: !Ref SolutionStackName
      OptionSettings:
        - Namespace: aws:elasticbeanstalk:environment
          OptionName: EnvironmentType
          Value: LoadBalanced
        - Namespace: aws:elasticbeanstalk:environment
          OptionName: ServiceRole
          Value: !GetAtt BackendServiceRole.Arn
2021-11-19 13:46:52

obrigado por responder! Apesar de sua resposta, na verdade, faz sentido e, na minha opinião, é, infelizmente, não.... Eu adicionei a minha atualizado iam modelo de papel para a pergunta
christianr

obrigado novamente! Agora, para minha confusão, um Erro de Validação é jogado... o seguinte: ocorreu Um erro (ValidationError) ao chamar a ValidateTemplate operação: Modelo de erro: instância de Fn::GetAtt referências indefinido de recursos BackendServiceRole. O erro foi lançada quando eu usei !Ref BackendServiceRole antes...
christianr

Também, a diferença é que estou fazendo isso no meu Ambiente, e não no Modelo de Configuração, que eu não tenho... eu definir as configurações diretamente ao criar o meio ambiente. Não é possível, em geral? ou será que eu apenas provavelmente estragar a sintaxe? eu verificados duas vezes e a sintaxe deve estar tudo bem, mas eu poderia perder algo
christianr

Seria melhor publicar o seu modelo completo. Ele deve ser o mesmo, definindo as opções no meio ambiente. Você pode seguir o exemplo aqui: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/...
kgiannakakis

Também o erro que você significa que não há um recurso chamado BackendServiceRole. Talvez você seja a nomenclatura da função de forma diferente ou existe um erro de digitação
kgiannakakis

a coisa é que não é, é um parâmetro neste arquivo de modelo
christianr

eu adicionei o resto do meio ambiente modelo de recurso
christianr

neste caso, também estou confuso, por que !Ref BackendServiceRole não for suficiente, quer para definir a Função e não a Política de direita? Causar na minha cabeça !GetAtt BackendServiceRole.Arn deve referência para a gestão da política não é? Mas o que eu quero e preciso aqui é um papel, não é?
christianr

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................