EC2 IAM rolüne S3 grubuna okuma erişimi verin


10

Ben bir S3 kova bazı dosyaları çekmek için yapılandırma komut dosyası aracılığıyla yapılandırıyorum AWS Elastik Beanstalk Rails uygulaması var. Uygulamayı başlattığımda, günlüklerde aşağıdaki hatayı almaya devam ediyorum (grup 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ı, aws-elasticbeanstalk-ec2-roleörnek rolü olarak IAM rolü ile kurulur. 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 bulut sunucularımın S3 grubuma erişebilmesi için neyi değiştirmem gerekir?

Yanıtlar:


6

EC2 örneğinizden, örnek meta verilerindeki geçici kimlik bilgilerini de almanız gerekir:

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

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


1
Bunu bir uygulamadan belirli bir dil için AWS SDK'ları aracılığıyla yaptığınızda, SDK tarafından geçici kimlik bilgilerini almak ve daha sonra bunları belirli zaman aralıklarına göre yenilemek için dahili olarak ilgilenir.
whokares

2
S3 grubuna erişmek için erişim ve gizli anahtarı nasıl kullanıyorsunuz? Bir örnek var mı? Şerefe
Céline Aussourd

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.