Soru EC2 IAM rolünü S3 kovasına okuma erişimi ver


Ben bir S3 kovası bazı dosyaları çekmek için config komut dosyası aracılığıyla yapıyorum bir AWS Elastik Beanstalk Rayları app var. Uygulamayı başlattığımda, günlüklerde aşağıdaki hatayı alıyorum (kova adı güvenlik için değiştirildi):

Failed to retrieve https://s3.amazonaws.com/my.bucket/bootstrap.sh: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>

Yapılandırma dosyası:

packages:
  yum:
    git: []

files:
  /opt/elasticbeanstalk/hooks/appdeploy/pre/01a_bootstrap.sh:
    mode: "00755"
    owner: root
    group: root
    source: https://s3.amazonaws.com/my.bucket/bootstrap.sh

Elastik Beanstalk ortamı ile ayarlanır aws-elasticbeanstalk-ec2-role Örnek rol olarak IAM rolü. Bu rol aşağıdaki politikaya sahiptir:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": "arn:aws:s3:::my.bucket/*"
    }
  ]
}

Ve S3 kovası aşağıdaki politikaya sahiptir:

{
"Version": "2008-10-17",
"Statement": [
    {
        "Sid": "Stmt1371012493903",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::<account #>:role/aws-elasticbeanstalk-ec2-role"
        },
        "Action": [
            "s3:List*",
            "s3:Get*"
        ],
        "Resource": "arn:aws:s3:::my.bucket/*"
    }
]
}

EC2 örneklerimin S3 grubuma erişimini sağlamak için neye ihtiyacım var?


10
2018-06-12 19:54


Menşei




Cevaplar:


EC2 güvenliğinizden, örnek metadata geçici kimlik bilgilerini de almanız gerekir:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<your-iam-role-name>

S3 grubunuza erişmek için sağlanan erişim ve gizli anahtarı kullanmalısınız.


6
2018-06-14 15:54



Eğer bir uygulamadan belirli bir dil için AWS SDK'larımızdan aracılığıyla Bunu yaptığınızda, SDK tarafından onun içten halledilir geçici kimlik bilgilerini almak ve daha sonra belirli zaman aralıklarında dayalı onları yenilemek için. - whokares
S3 kovasına erişmek için erişim ve gizli anahtarı nasıl kullanırsınız? Bir örneğiniz var mı? Şerefe - Céline Aussourd


Hesaplar arası erişim varsa, burada belirtildiği gibi ACL başlıklarıyla ilgili olmadığını kontrol edin: https://stackoverflow.com/a/34055538/1736679 (Bu konudaki daha fazla bilgi https://github.com/aws/aws-cli/issues/1674)

Ayrıca çift hiçbir ağır basan Tuşlar (1AWS_ACCESS_KEY1, vb) olup olmadığını görmek için çalışan hangi ortam / kullanıcıyı kontrol /etc/environment veya ~/.aws/credentials


0
2018-01-11 02:30