详情页标题前

阿里云对象存储OSS设置Object ACL-云淘科技

详情页1

读写权限ACL用于定义用户或用户组被授予的访问权限。收到某个资源的请求后,OSS会检查相应的ACL以验证请求者是否拥有所需的访问权限。您可以在上传Object设置相应的ACL,也可以在Object上传后的任意时间内根据自己的业务需求随时修改ACL。

注意事项

  • 如果未设置Object的读写权限,即Object的ACL为default,则Object的读写权限和Bucket的读写权限一致。

  • 如果设置了Object的读写权限,则Object的读写权限优先级高于Bucket的读写权限,即以设置的Object的读写权限为准。例如设置了Object的读写权限为public-read,则无论Bucket是什么读写权限,该Object都可以被身份验证访问和匿名访问。

使用阿里云SDK

仅支持通过Java SDK设置Object ACL,Java SDK要求3.15.0及以上版本。

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.CannedAccessControlList;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;

public class Demo {
    public static void main(String[] args) throws Exception {
        // 填写云盒Bucket的数据域名。
        String endpoint = "https://cb-f8z7yvzgwfkl9q0h****.cn-hangzhou.oss-cloudbox.aliyuncs.com";
        // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // 填写云盒Bucket名称,例如examplebucket。
        String bucketName = "examplebucket";
        // 填写云盒Bucket所在地域。
        String region = "cn-hangzhou";
        // 填写云盒ID。
        String cloudBoxId = "cb-f8z7yvzgwfkl9q0h****";
        // 填写不包含Bucket名称在内的Object完整路径,例如testfolder/exampleobject.txt。
        String objectName = "testfolder/exampleobject.txt";

        // 创建OSSClient实例。
        ClientBuilderConfiguration conf = new ClientBuilderConfiguration();
        conf.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(new DefaultCredentialProvider(credentialsProvider.getCredentials()))
                .clientConfiguration(conf)
                .region(region)
                .cloudBoxId(cloudBoxId)
                .build();

        try {
            // 设置Object的访问权限为私有。
            ossClient.setObjectAcl(bucketName, objectName, CannedAccessControlList.Private);
        } 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();
            }
        }
    }
}            

使用命令行工具ossutil

关于使用ossutil设置或修改Object ACL的具体操作,请参见设置或修改Object ACL。

使用REST API

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

更多参考

除Object ACL以外,OSS还提供了Bucket ACL、Bucket Policy以及RAM Policy的权限控制策略。

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

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

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

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

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

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

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

相关推荐

  • 阿里云对象存储OSSPython存储空间清单-云淘科技

    本文介绍如何添加、查看、批量列举和删除存储空间(Bucket)的清单(Inventory)配置。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以从环境变量读取访问凭证为例。如…

    阿里云对象存储 2023年12月10日
  • 阿里云RDS数据库修改读权重分配-云淘科技

    开通读写分离功能后,您可以根据业务需求修改读权重分配。 前提条件 已创建SQL Server主实例,且主实例满足以下条件: 实例版本:2017 企业集群版、2019 企业集群版、2022 企业集群版 实例系列:集群版 实例存储类型:ESSD云盘 说明 您可前往实例基本信息页面查看以上信息。 已开通读写分离(只读地址)。 操作步骤 访问RDS实例列表,在上方选…

    阿里云数据库 2023年12月9日
  • 阿里云负载均衡SetAccessControlListAttribute – 修改访问控制策略组的名称-云淘科技

    修改访问控制策略组的名称。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下: 操作:是指…

    阿里云负载均衡 2023年12月10日
  • 阿里云对象存储OSSossutil概述-云淘科技

    ossutil支持通过Windows、Linux和macOS系统以命令行方式管理OSS数据。 安装ossutil 有关ossutil的下载及安装的具体操作,请参见安装ossutil。 配置ossutil 有关ossutil的配置的具体操作,请参见配置ossutil。 常用命令 您可以通过以下列表学习ossutil命令的用法: 名称 描述 access-mon…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云RDS数据库ModifyDBInstanceDeletionProtection – 开启或关闭实例释放保护-云淘科技

    该接口用于开启或关闭RDS实例的释放保护功能。 接口说明 适用引擎 RDS MySQL RDS PostgreSQL RDS SQL Server RDS MariaDB 相关功能文档 注意 使用该接口前,请仔细阅读功能文档,确保完全了解使用接口的前提条件及使用后造成的影响后,再进行操作。 RDS MySQL开启和关闭实例释放保护 RDS PostgreSQ…

    阿里云数据库 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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