Aşağıdaki AWS Bulut Oluşturma hatasını bilen var mı?

0

Soru

Elastic Beanstalk Yığını içeren Bulut Oluşturma şablonlarımı dağıtırken şu hatayı alıyorum:

Erişim Reddedildi: S3Bucket = elasticbeanstalk-platform-assets-eu-central-1, S3Key = saplar / eb_corretto11_amazon_linux_2_1. 0. 2777. 0_20211016030628 / paketler/Corretto11Template.paket (Hizmet: AWSElasticBeanstalk; Durum Kodu: 403; Hata Kodu: InsufficientPrivilegesException; İstek Kimliği: 5a2d57e4-cd43-443b-9407-b0fc0234ea40; Proxy: null)

Bir S3 Hatası olduğundan (InsufficientPrivilegesException) bir izin eksik gibi görünüyor. Sorun şu ki, erişemediği S3 Kovası Hesaplarım S3 Kovası Listesinde değil ve bölgesel bir kova gibi görünüyor, bu yüzden politika ekleyemiyorum... Hiç kimse bu hatayla karşılaştı? Arka plan bilgisi için: AWS Kuruluşlarını kullanan bir kök hesabın içindeki bir hesapta çalışıyorum...

İşte yönetilen ilke arn'yi içeren ıam rol şablonum:

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]

Ortamdaki Arka Uç Şablonumda, aşağıdaki seçenekleri ekledim:

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

Şimdiden teşekkürler!

1

En iyi cevabı

0

AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy AWS Yönetilen ilkesini hizmet rolünüze eklemeniz gerekir. Ayrıntıları belgelerde okuyabilirsiniz.

Bu politika size gerekli kovaya erişim izni verecektir:

enter image description here

Politika belgesinin tamamına buradan ulaşabilirsiniz.

Rolü yapılandırma şablonunuza doğru şekilde atadığınızdan emin olun:

  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

teşekkür için cevap! Cevabınız gerçekten mantıklı ve bence işe yaramalı olsa da, ne yazık ki işe yaramıyor.... Güncellenmiş ıam rol şablonumu soruya ekledim
christianr

tekrar teşekkür ederim! Şimdi, karışıklığım için bir Doğrulama Hatası atıldı... aşağıdakiler: ValidateTemplate işlemi çağrılırken bir hata oluştu (ValidationError): Şablon hatası: Fn:: GetAtt örneği tanımlanmamış kaynak BackendServiceRole başvuruyor. Kullandığımda hata atılmadı !Ref Daha önce hizmetçiyi destekledi...
christianr

Ayrıca, fark şu ki, bunu sahip olmadığım Yapılandırma Şablonunda değil, Ortamımda yapıyorum... ortamı oluştururken ayarları doğrudan ayarlıyorum. Bu genel olarak mümkün değil mi? yoksa sözdizimini mi bozdum? iki kez kontrol ettim ve sözdizimi iyi olmalı, ama bir şeyi kaçırabilirim
christianr

Tam şablonunuzu göndermek daha iyi olurdu. Ortamdaki seçenekleri tanımlayarak aynı olmalıdır. Örneği buradan takip edebilirsiniz: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/...
kgiannakakis

Ayrıca aldığınız hata, BackendServiceRole adlı bir kaynak olmadığı anlamına gelir. Belki de rolünüzü farklı şekilde adlandırıyorsunuzdur veya bir yazım hatası var
kgiannakakis

mesele şu ki, bu şablon dosyasında bir parametre var
christianr

çevre kaynağı şablonunun geri kalanını ekledim
christianr

bu durumda, ben de kafam karıştı, neden !Ref BackendServiceRole yeterli değil, Rolü değil, Politikayı ayarlamak ister misiniz? Çünkü kafamda,!GetAtt hizmetçiyi destekliyor.Arn yönetilen politikaya başvurmalı, değil mi? Ama burada istediğim ve ihtiyacım olan şey bir rol, değil mi?
christianr

Diğer dillerde

Bu sayfa diğer dillerde

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