閱讀757 返回首頁    go 阿裏雲 go 技術社區[雲棲]


OSS細粒度的權限控製

Access key 對OSS的bucket控製權限太高,需求對bucket更細粒度的權限控製:比如隻能操作部分bucket,隻能操作部分bucket的部分目錄等,RAM的子賬戶功能可以實現該需求;

1.子賬戶創建
1)進入RAM管理控製台,選擇用戶管理
1
短信驗證成功後,子賬戶創建完成
2)創建子賬戶的Access key
2
3)為子賬戶授權策略
點擊授權
3
進行授權
4
注:用戶可以自定義授權策略
5
自定義的授權策略這邊創建完成後,子賬戶授權中:可授權策略是可以看到該自定義授權策略的;
自定義授權策略創建,參考自定義授權策略創建
OSS支持的自定義授權權限參考OSS支持的自定義權限

2.權限控製
1)子用戶能夠通過OSS控製台操作部分有權限的bucket:目前隻能實現控製台能看到所有的bucket,但是隻能操作部分有權限的bucket,沒權限的bucket操作報錯;

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "oss:ListBuckets",
            "Resource": "acs:oss:*:*:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:*"
            ],
            "Resource": [
                "acs:oss:*:*:myphotos",
                "acs:oss:*:*:myphotos/*"
            ]
        }
    ]
}

2)OSS子賬戶控製台登錄隻能看到bucket部分子目錄,其他目錄不能操作:目前隻能實現能看到該bucket下的所有目錄,但隻對部分目錄有對應的權限;

{
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "oss:ListBuckets",
                    "oss:GetBucketAcl"
                ],
                "Resource": [
                    "acs:oss:*:*:*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oss:*"
                ],
                "Resource": [
                    "acs:oss:*:*:gsdata-img1/gsdata/*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oss:ListObjects"
                ],
                "Resource": [
                    "acs:oss:*:*:gsdata-img1"
                ],
                "Condition": {
                    "StringLike": {
                        "oss:Delimiter": "/",
                        "oss:Prefix": [
                            ""
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "oss:ListObjects"
                ],
                "Resource": [
                    "acs:oss:*:*:gsdata-img1"
                ],
                "Condition": {
                    "StringLike": {
                        "oss:Prefix": [
                            "gsdata/*"
                        ]
                    }
                }
            }
        ]
}

3)SDK或者API操作有某個bucket的全部權限;

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "oss:*",
            "Resource": [
                "acs:oss:*:*:myphotos",
                "acs:oss:*:*:myphotos/*"
            ]
        }
    ]
}

4)SDK或者API操作有bucket部分目錄的全部權限;

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "oss:*"
            ],
            "Resource": [
                "acs:oss:*:*:myphotos/hangzhou/2015/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "oss:ListObjects"
            ],
            "Resource": [
                "acs:oss:*:*:myphotos"
            ],
            "Condition":{
                "StringLike":{
                    "oss:Prefix":"hangzhou/2015/*"
                }
            }
        }
    ]
}

最後更新:2017-06-23 23:02:45

  上一篇:go  ?????????????????????????????????????????????????????????????????????????????????-??????-????????????-?????????
  下一篇:go  Cloudera Spark 及 Hadoop 開發員培訓學習【北京上海】