簡體   English   中英

僅基於存儲桶策略將 AWS IAM 實例角色策略設置為 GetObject

[英]Setup AWS IAM instace role policy to GetObject based only on bucket policy

我無法更改公司環境中的 IAM 角色策略。 所以我希望能夠根據存儲桶策略將角色的權限更改為 S3。 我想根據此存儲桶策略將 AWS IAM 實例角色設置為允許“s3:GetObject”。

我的存儲桶策略中有這個:

{
        "Sid": "tag-based",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::XY:role/testing"
        },
        "Action": "s3:*",
        "Resource": [
            "arn:aws:s3:::bucket1/path1/*",
            "arn:aws:s3:::bucket1/path1"
        ]
    },

我在我的 IAM 角色內聯策略中想要這樣的東西 -> 只允許 TagKey 等於'SG'的資源:

{
        "Effect": "Allow",
        "Action": [
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject",
            "s3:PutObjectAcl"
        ],
        "Resource": "<HOW TO SETUP IT ONLY FOR RESORUCES WHICH HAVE TAG KEY 'SG?'>",
        "Condition": {
            "ForAllValues:StringEquals": {
                "aws:TagKeys": [
                    "SG"
                ]
            }
        }
    }


Is this right way to achieve it?

S3 對基於標簽的授權的支持是部分的,這意味着並非所有操作都支持基於標簽的條件。 這里也進一步提到了這一點

就您在政策中提到的電話而言, 此處描述了它們如何使用標簽

GetObjectPutObect圍繞x-amz-tag-count header 這進一步需要另一個名為GetObjectTagging 的權限

“<如何僅為具有標簽鍵“SG”的資源設置它?>”

沒有專門針對資源的此類條款,您可以在上面的鏈接頁面中名為Resource types defined by Amazon S3的部分下找到相同的條款

總而言之,您嘗試僅通過基於tag的授權來實現的目標可能無法完全按照您的預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM