You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

S3 Bucket的主体设置为OAI,但CloudFront无法获取对象。

要将S3 Bucket的主体设置为OAI(Origin Access Identity),以便CloudFront可以获取对象,需要执行以下步骤:

  1. 创建一个OAI
aws cloudfront create-cloud-front-origin-access-identity --cloud-front-origin-access-identity-config CallerReference=unique-reference,Comment=optional-comment
  1. 获取刚创建的OAI的ID:
export OAI_ID=$(aws cloudfront list-cloud-front-origin-access-identities --query 'CloudFrontOriginAccessIdentityList.Items[0].Id' --output text)
  1. 将OAI的ID授权给S3 Bucket,以允许CloudFront访问该Bucket:
aws s3api put-bucket-policy --bucket your-bucket-name --policy '{
  "Version":"2012-10-17",
  "Statement":[{
    "Sid":"AddPerm",
    "Effect":"Allow",
    "Principal":{"AWS":"arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity your-oai-id"},
    "Action":["s3:GetObject"],
    "Resource":["arn:aws:s3:::your-bucket-name/*"]
  }]
}'

确保将your-bucket-name替换为您的S3 Bucket名称,your-oai-id替换为之前获取的OAI的ID。

  1. 配置CloudFront Distribution,以使用OAI来获取S3 Bucket的对象。在CloudFront Distribution的设置中,找到"Origin"部分并选择您的S3 Bucket。然后,在"Restrict Bucket Access"下,选择"Yes",并选择您之前创建的OAI

这样,您的S3 Bucket的主体将设置为OAI,并且CloudFront将能够通过OAI获取S3 Bucket的对象。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

火山引擎云存储选型指南 x 自动驾驶场景最佳实践

=&rk3s=8031ce6d&x-expires=1714753261&x-signature=f2ZF0N8OA0Oai85U8%2F%2FkMfvOs0g%3D)另外,企业中使用存储产品的往往是开发团队和运维团队,在 AI 业务中一般还会有算法团队,不同的角色对存储的关注点也是不同的,比如:1. 开发团队:要做一个互联网应用,多媒体数据想放到对象存储中,关注是否有静态网站托管、镜像回源、事件通知功能,是否兼容 S3 协议,是否提供多语言 SDK 等。2. 运维团队:要基于云服务器和云盘部署关...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

S3 Bucket的主体设置为OAI,但CloudFront无法获取对象。-优选内容

PutBucketNotification
或被授权当前桶的 PutBucketNotification 权限。 请求消息样式JSON PUT /?notification HTTP/1.1Host: bucketname.tos-cn-beijing.volces.comDate: GMT DateAuthorization: authorization string{ "CloudFunction... 设置过滤规则。父节点:CloudFunctionConfiguration TosKey Container 否 - 当前支持设置 FilterRule,即对象的过滤信息。父节点:Filter FilterRule Array 否 [{"Name": "prefix","Value": "test_"},{"Name...
PutBucketNotificationV2
功能描述此接口用于为存储桶(Bucket)设置事件通知规则。通过事件通知功能,您可以在存储桶内的资源发生变更时,获得事件通知。 注意事项该接口需等事件通知功能优化上线后方可使用,详细说明,请参见对象存储事件通知功... 父节点:FilterRules Value String 否 test_ 设置需要匹配的前后缀信息。父节点:FilterRules RuleId String 否 TestNotification 设置事件通知规则名称,命名规范如下: 同一存储桶下创建的事件名称不能重...
设置桶或对象的预定义访问策略(set-acl)
您可以使用 set-acl 命令设置桶或桶内对象的预定义访问策略。 设置桶 ACL 命令格式Linux/macOSBash ./tosutil set-acl tos://bucket acl [-e=xxx] [-re=xxx] [-i=xxx] [-k=xxx] [-t=xxx] [-conf=xxx]WindowsBash t... [bucketname] successfully, cost [179], request id [f06701ae7a17971865ae7a17-b293fe0-1rRvBn-POA-cb-tos-front-azc-1] 批量对象的预定义访问策略 以下命令用于设置 bucketname 桶内的前缀为 object 的对象的预...
GetBucketLifecycle
功能描述此接口用于用于获取指定存储桶(Bucket)生命周期规则。 请求消息样式JSON GET /?lifecycle HTTP/1.1Host: bucket-name.tos-cn-beijing.volces.comDate: GMT DateAuthorization: authorization string 请求参... 不支持设置互相包含的 Prefix。 如果指定了 Prefix,则表示此规则仅适用于 Bucket 中与 Prefix 匹配的对象。 如果不设置 Prefix ,则表示此规则适用于 Bucket 中的所有对象。 Status String Enabled 是否启用规则...

S3 Bucket的主体设置为OAI,但CloudFront无法获取对象。-相关内容

日志配置(Python SDK)

为定义的日志格式 level为日志级别,默认为INFO。 可在开发测试中将日志级别设置为logging.DEBUGtos.set_logger(file_path=log_file_path, level=logging.INFO) 从环境变量获取 AK 和 SK 信息。ak = os.getenv('TOS_ACCESS_KEY')sk = os.getenv('TOS_SECRET_KEY')endpoint = 'your endpoint'region = 'your region'bucket_name = 'your bucket name'object_key = 'your object key' 创建 TosClientV2 对象,对桶和对象的操作都通过...

日志配置(C++ SDK)

// 初始化 TOS 账号信息 // Your Region 填写 Bucket 所在 Region std::string region = "Your Region"; std::string accessKey = std::getenv("TOS_ACCESS_KEY"); std::string secretKey = std::getenv("TOS_SECRET_KEY"); // 初始化网络等资源 InitializeClient(); // 创建交互的 client TosClientV2 client(region, accessKey, secretKey); // 使用过程中调整打印级别 LogUtils::S...

GetBucketVersioning

功能描述此接口用于获取存储桶的版本控制状态。 注意事项只有拥有 GetBucketVersioning 权限的用户才能调用 GetBucketVersioning 接口。默认情况下,存储桶的所有者直接拥有 GetBucketVersioning 权限,存储桶所有者... aza-1 x-tos-request-id: ef60010a5b74f967650a5b74-ac1a2718-1qin80-GBV-cb-tos-front-aza-1 Date: Wed, 20 Sep 2023 02:28:54 GMTContent-Length: 20server: TosServer{ "Status": "Enabled...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

TOS 使用 PreSignedURL 进行分片上传

本文介绍使用 PreSignedURL 进行分片上传的过程。 前言 TOS提供两种上传方式,简单上传跟分片上传,简单上传方式最大能够上传5GB的文件,所以如果对象大小超过5GB,需要使用分片上传实现。 使用分片上传,您可以将对象分... 指定对象权限为私有,存储类型为低频并设置元数据信息 createMultipartOutput, err := client.CreateMultipartUploadV2(ctx, &tos.CreateMultipartUploadV2Input{ Bucket: bucketName, Key: objec...

PutBucketVersioning

功能描述此接口用于为存储桶设置版本控制功能。版本控制功能可以为存储桶内的同一个对象同时保留多个版本,防止意外删除或覆盖对象,也可以用于归档历史版本对象。 注意事项只有拥有 PutBucketVersioning 权限的用户... 响应示例JSON HTTP/1.1 200 OKx-tos-id-2: 1874010a59fb053f650a59fb-be4a38d-1qin1v-PuO-cb-tos-front-azc-1 x-tos-request-id: 1874010a59fb053f650a59fb-be4a38d-1qin1v-PuO-cb-tos-front-azc-1 ...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询