IAM policy variables S3資源相當冷靜,讓你創建通用的合併政策,例如,允許用戶訪問路徑中的S3存儲桶基於他們的用戶名,如:授予訪問基於角色名
{
"Version": "2012-10-17",
"Statement": [
{
"Action": ["s3:GetObject","s3:PutObject","s3:DeleteObject"],
"Effect": "Allow",
"Resource": "arn:aws:s3:::fooCorp-user-files/${aws:username}/*"
},
{
"Action": "s3:ListBucket",
"Effect": "Allow",
"Resource": "arn:aws:s3:::fooCorp-user-files"
}
]
}
我的問題是,如何使用角色(附加到EC2實例)而不是用戶帳戶完成此操作?
我有許多具有獨特IAM用戶帳戶的應用程序服務器,這些用戶帳戶鏈接到類似於上面的通用政策。這隔離了每個用戶/應用程序可訪問的文件,而無需創建多個策略。
我想切換這些服務器使用roles代替,但似乎並沒有成爲像aws:rolename
同等IAM變量。
The docs表示當使用分配給EC2實例的角色時,aws:username
變量未設置,而aws:userid
爲[role-id]:[ec2-instance-id]
(這也沒有幫助)。
這真的看起來像你應該能夠做的事情..或者我是以這種錯誤的方式來?
第二個例子對我來說似乎不對。 – Sirex
以什麼方式?實例ID是正在推出的新的更長的ID之一。 –
無視。我誤讀了它 – Sirex