Bazı verileri S3'te saklamak ve yalnızca belirli bir IAM rolüne sahip belirli bir kullanıcının veya bunları kullanabilmeleri için EC2 örneklerine izin vermek istiyoruz. Maalesef bunu yaparken biraz sorun yaşıyoruz. Biz yerel makine veya herhangi bir EC2 örneğinden, iyi çalışıyor anahtar kullanıcılarla Bucket (Boto kullanarak) eriştiğinizde Belirli IAM Rolü için S3 Kepçesine erişimi nasıl kısıtlarım?
Bu{
"Version": "2012-10-17",
"Id": "SamplePolicy",
"Statement": [
{
"Sid": "Stmt1331136294179",
"Effect": "Deny",
"NotPrincipal": {
"AWS": [
"arn:aws:iam::our-account-number:user/the-user",
"arn:aws:iam::our-account-number:role/the-role"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::the-bucket/*"
},
{
"Sid": "Stmt1331136364169",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::our-account-number:user/the-user",
"arn:aws:iam::our-account-number:role/the-role"
]
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::the-bucket/*"
}
]}
gibi kova üzerine bir politika ayarlayın. Biz Boto gelen kova eriştiklerinde ben örneği ben de politikayı kaldırmak denedim
curl http://169.254.169.254/latest/meta-data/iam/info/
{
"Code" : "Success",
"LastUpdated" : "2015-10-22T09:09:31Z",
"InstanceProfileArn" : "our-account-number:instance-profile/the-role",
"InstanceProfileId" : "instance-rpofile-id"
}
doğru IAM bir role sahip olduğunu teyit ettik
ClientError: An error occurred (AccessDenied) when calling the GetObject operation: Access Denied
aldığımız
Ama kovadan, gerçekten tekrar erişilebilir hale getirir. Bunu nasıl ele alacağınıza dair bir fikriniz var mı?
Burada paylaşılan örnek, hata ayıklama için yaptığım basitleştirilmiş bir sürümdür. Üretimde istediğimiz, nesnenin KMS ile şifrelenmesini zorluyor ve anahtar üzerinde bir erişim politikası var. Bu çözümü çok seviyoruz ve yapabiliyorsak bunu korumayı tercih ediyoruz.
Teşekkür
ben defalarca yaptık bununla
Eğer rol politikasını gösterebilir misin? –
'kodu { "Sürüm": "2012/10/17", "Beyan": [ { "Etkisi": "İzin ver", "Eylem": "s3: *" "Kaynak": "*" } ] } ' –