详情页标题前

阿里云对象存储OSS设置资源组-云淘科技

详情页1

资源组是一种基于资源的权限管理方式。您可以根据不同的业务需求对存储空间(Bucket)进行分组,为不同的资源组设置不同的访问权限,实现资源组范围内的权限管理。

背景信息

企业用户采用为每个项目创建云账号的方式来隔离资源,或者企业的不同子公司或部门为实现业务上云时创建了不同的云账号,导致一家企业拥有大量的云账号,最终无法统一管理、监控和审计云上资源。

阿里云对象存储OSS设置资源组-云淘科技

为解决以上业务痛点,OSS支持用户通过单个阿里云账号,根据不同使用场景以资源组的方式对不同云资源进行合理分类,赋予企业内不同项目成员按项目自治管理云资源的能力。

阿里云对象存储OSS设置资源组-云淘科技

注意事项

  • 仅华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北 3(张家口)、华北5(呼和浩特)、华北6(乌兰察布)、华南1(深圳)、华南2(河源)、华南3(广州)、西南1(成都)、中国香港、美国(硅谷)、美国(弗吉尼亚)、日本(东京)、新加坡、澳大利亚(悉尼)、马来西亚(吉隆坡)、印度尼西亚(雅加达)、印度(孟买)、德国(法兰克福)、英国(伦敦)、阿联酋(迪拜)地域支持配置资源组。

  • 无地域属性的Bucket不支持配置资源组。

  • 一个资源组可以包含不同地域的Bucket。一个Bucket只能属于一个资源组。

  • 仅允许在Bucket拥有者名下不同资源组之间转移Bucket。

使用OSS控制台

假设某互联网公司使用了20个Bucket存储不同部门的测试数据。要求examplebucket1~examplebucket10的数据所有员工可读(公共读),examplebucket11~examplebucket20的数据所有员工可读可写(公共读写)。如果不使用资源组,您需要分别对每个Bucket进行授权,非常繁琐。如果使用了资源组,您可以将需要授予同样权限的Bucket归为一组,然后统一为该资源组授权,从而极大提升授权效率。

此外,考虑到要为多名员工赋予相同权限,您需要创建用户组并对RAM用户进行分类和授权,从而更好的管理用户及其权限。

  1. 创建用户组UserGroup1并添加用户组成员。

    通过RAM控制台创建用户组时,用户组名称命名为UserGroup1。具体操作,请参见创建用户组。用户组创建完成后,将所有需要访问资源的用户添加到用户组。具体操作,请参见为用户组添加RAM用户。

  2. 创建资源组。

    1. 打开资源管理控制台。

    2. 在左侧导航栏,选择资源组>资源组

    3. 资源组页面,单击创建资源组

    4. 创建资源组面板,填写资源组名称ResourcegroupA,并自定义资源组标识,例如Group1

    5. 单击确定

      此时,资源组的状态处于创建中。大约三秒后,单击阿里云对象存储OSS设置资源组-云淘科技。如果状态变为可用,表示资源组ResourcegroupA创建成功。

    6. 重复上述步骤创建ResourcegroupB。

  3. 为目标Bucket选择所属资源组。

    1. 登录OSS管理控制台。

    2. 单击Bucket 列表,然后单击目标存储空间examplebucket1。

    3. 选择Bucket 配置 > 资源组

    4. 资源组页面,单击设置

    5. 选择所属资源组为ResourcegroupA,然后单击保存

    6. 重复上述步骤为examplebucket2~examplebucket10选择所属资源组ResourcegroupA,为examplebucket11~examplebucket20选择所属资源组ResourcegroupB。

  4. 为资源组授权。

    1. 在资源管理控制台的左侧导航栏,选择资源组>资源组。

    2. 单击目标资源组右侧的权限管理

    3. 权限管理页签,单击新增授权

    4. 新增授权面板,按如下说明完成各配置项。

      配置项

      说明

      授权范围

      选中指定资源组,并从下拉列表中选择ResourcegroupA。

      授权主体

      填写已创建的用户组UserGroup1。

      选择权限

      选中系统策略后,为资源组ResourcegroupA授予只读访问对象存储服务(OSS)的权限AliyunOSSReadOnlyAccess

    5. 单击确定

    6. 单击完成

    7. 重复上述步骤为资源组ResourcegroupB授予管理对象存储服务(OSS)权限AliyunOSSFullAccess

使用阿里云SDK

仅Java SDK及Python SDK支持配置Bucket所属资源组。

import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.model.SetBucketResourceGroupRequest;

public class Demo {
    public static void main(String[] args) throws Throwable {
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // 填写Bucket名称,例如examplebucket。
        String bucketName = "examplebucket";
        // 填写资源组ID。如果未填写资源组ID,则Bucket归属于默认资源组。
        String rgId = "rg-aekz****";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, credentialsProvider);

        try {
            // 创建setBucketResourceGroupRequest对象。
            SetBucketResourceGroupRequest setBucketResourceGroupRequest = new SetBucketResourceGroupRequest(bucketName,rgId);
            // 配置Bucket所属资源组。
            ossClient.setBucketResourceGroup(setBucketResourceGroupRequest);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
auth = oss2.ProviderAuth(EnvironmentVariableCredentialsProvider())
# 填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
# 填写Bucket名称,例如examplebucket。
bucket = oss2.Bucket(auth, 'https://oss-cn-hangzhou.aliyuncs.com', 'examplebucket')

# 填写资源组ID。如果未填写资源组ID,则Bucket归属于默认资源组。
resource_group_id = 'rg-aek27tc****'

# 配置Bucket所属资源组。
result = bucket.put_bucket_resource_group(resource_group_id)
print('配置资源组成功,返回状态为:' + str(result.status))

使用REST API

如果您的程序自定义要求较高,您可以直接发起REST API请求。直接发起REST API请求需要手动编写代码计算签名。更多信息,请参见PutBucketResourceGroup。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/157743.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云容器服务ACKRAM鉴权-云淘科技

    在使用RAM账号调用阿里云API前,需要主账号(即阿里云账号)通过创建授权策略对RAM账号进行授权。 资源授权 默认RAM账号没有权限通过调用阿里云API去创建、修改云资源。使用RAM账号调用API时,您需要先创建一个授权策略,然后将这个授权策略关联给对应的RAM账号完成资源授权。 在创建授权策略时,您可以通过ARN(Aliyun Resource Name…

    阿里云容器服务 2023年12月10日
  • 阿里云RDS数据库ResetAccount – 重置高权限账号权限-云淘科技

    该接口用于重置高权限账号的权限。 接口说明 适用引擎 RDS MySQL RDS SQL Server RDS MariaDB 相关功能文档 注意 使用该接口前,请仔细阅读功能文档,确保完全了解使用接口的前提条件及使用后造成的影响后,再进行操作。 重置高权限账号 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后…

    阿里云数据库 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云云原生大数据计算服务 MaxComputeHash Clustering-云淘科技

    哈希聚簇(Hash Clustering)表通过设置表的Shuffle和Sort属性,进而MaxCompute根据数据已有的存储特性,优化执行计划,提高效率,节省资源消耗。本文为您介绍在MaxCompute中如何使用Hash Clustering表。 背景信息 在MaxCompute查询中,连接(Join)表是很常见的场景。例如以下一个简单的Inner Jo…

    2023年12月10日
  • 阿里云RDS数据库DescribeActionEventPolicy – 查询RDS历史事件功能是否开启-云淘科技

    该接口用于查询RDS的历史事件功能是否开启。 接口说明 适用引擎 RDS MySQL RDS PostgreSQL RDS SQL Server RDS MariaDB 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对…

    阿里云数据库 2023年12月9日
  • 阿里云对象存储OSS从HDFS迁移数据到OSS-云淘科技

    本文以阿里云EMR集群为例,说明如何使用阿里云Jindo DistCp将数据从HDFS迁移到OSS。 背景信息 在传统大数据领域,HDFS经常作为大规模数据的底层存储。在进行数据迁移、数据拷贝的场景中,最常用的是Hadoop自带的DistCp工具。但是该工具不能很好利用对象存储OSS的特性,导致效率低下并且不能保证数据一致性。此外,该工具提供的功能选项较单一…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。