Gerçekten neyi kaçırdığımı anlamaya çalışarak AWS’de etrafta dolaşıyorum. Bir IAM kullanıcısının bir S3 kovasından dosyaları indirebilmesi için - dosyaları tamamen genel hale getirmeden - yapmak istiyorum ancak erişim reddedildi. Biri neyin kapalı olduğunu anlayabiliyorsa stoklanmayacağım.
Şimdiye kadar ne yaptım:
- My-user adlı bir kullanıcı yarattı (örnek olarak)
- Kullanıcı için oluşturulan erişim anahtarları ve bir EC2 örneğinde ~ / .aws içine koyun
- Kullanıcıma erişim izni vermesini umduğum bir kova politikası oluşturdu
- Komutu koştu
aws s3 cp --profile my-user s3://my-bucket/thing.zip .
Kova politikası:
{
"Id": "Policy1384791162970",
"Statement": [
{
"Sid": "Stmt1384791151633",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": "arn:aws:iam::111122223333:user/my-user"
}
}
]
}
Sonuçta A client error (AccessDenied) occurred: Access Denied
aynı komutu ve varsayılan (root hesabı?) Erişim tuşlarını kullanarak indirebilirim.
Bir kullanıcı politikası eklemeyi de denedim. Neden gerekli olacağını bilmeme rağmen, incinmeyeceğini düşündüm, bu yüzden bunu kullanıcıma ekledim.
{
"Statement": [
{
"Sid": "Stmt1384889624746",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Aynı sonuç