如何使用Ruby SDK设置Amazon bucket策略?

用户名

我正在尝试使用Ruby SDK设置存储桶策略,如下所示:

s3 = Aws::S3::Resource.new(region:'us-east-1')
obj = s3.bucket('my-bucket-name')
policy = AWS::S3::Policy.new
policy.allow(
  :actions => [:get_object],
  :resources => [obj],
  :principals => :any)

obj.policy = policy
obj.save!

但这似乎并没有节省。我浏览了ruby文档,但不清楚如何执行此操作。如果可能的话,我也希望能够打印出当前的存储桶策略。

纳比尔

看下面的例子。这使您可以设置策略并检索策略(请记住要更改存储桶名称并在需要时添加凭据/更改区域)。

您可能需要细化策略本身以将其限制为某些对象(文件夹和文件都是对象)。请记住,如果您具有S3布局(例如my-bucket-name / folder / file),并且希望仅限制到该文件夹​​,则它将arn:aws:s3:::my-bucket-name/folder/*作为ARN。

设置获取政策的文档

require 'aws-sdk'
require 'json'

s3 = Aws::S3::Client.new(region: 'us-east-1')

policy = {
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::my-bucket-name/*"]
    }
  ]
}

s3.put_bucket_policy({
  bucket: "my-bucket-name",
  policy: policy.to_json
})

 => #<struct Aws::EmptyStructure>

resp = s3.get_bucket_policy({
  bucket: "my-bucket-name",
})

resp.policy.read
 => "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"AddPerm\",\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:::my-bucket-name/*\"}]}"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 IntelliJ 中使用 Gradle 设置 Amazon Polly SDK

来自分类Dev

如何设置cmake策略?

来自分类Dev

Amazon S3:使用aws-sdk-ruby设置权限

来自分类Dev

如何使用Android SDK为Amazon push SNS设置应用程序ARN

来自分类常见问题

如何在Java AWS S3 SDK预签名URL中设置策略条件

来自分类Dev

在Amazon SDK上使用NTLM身份验证配置代理设置的问题

来自分类Dev

如何检查和设置适用于iOS和Android的Amazon Web Services SDK以使用HTTPS(SSL)?

来自分类Dev

如何使用ruby和aws-sdk将大型档案上传到Amazon Glacier?

来自分类Dev

将策略分配给S3Bucket,以便仅由CloudFront发行版使用

来自分类Dev

Amazon S3:403 禁止“根据策略无效:策略已过期”(Ruby)

来自分类Dev

使用kubectl设置图像拉取策略

来自分类Dev

使用基于站点的组策略设置时区

来自分类Dev

Amazon S3,无法设置CORS策略

来自分类Dev

如何使用Ruby Rails设置Twitter Bootstrap

来自分类Dev

如何使用 ruby 在 BigQuery 中设置 QueryJobConfig?

来自分类Dev

Ruby AWS SDK 循环通过 Bucket 对象来创建 url

来自分类Dev

如何为IntelliJ IDEA的Ruby插件设置SDK?

来自分类Dev

如何使用Java(外部安全模块)中的微策略SDK创建用户

来自分类Dev

如何使用 java sdk 在 Azure SQL DW 中禁用地理备份策略

来自分类Dev

Ruby on Rails如何与Amazon RDS一起使用

来自分类Dev

如何使用Ruby SDK在AWS S3对象上设置Access-Control-Allow-Origin标头?

来自分类Dev

如何在使用ExternalProject_Add添加的外部项目上设置CMake策略和属性

来自分类Dev

如何使用Azure.Storage.Blobs程序集在Azure Blob存储操作上设置重试策略?

来自分类Dev

如何使用Deployment Manager将IAM策略设置为Cloud Function

来自分类Dev

如何使用Unity将隐私策略链接添加到Windows设置超级按钮?

来自分类Dev

如何使用命令行编辑本地组策略设置?

来自分类Dev

如何使用配置为Akka中的路由器设置默认策略

来自分类Dev

如何使用命令提示符设置密码必须符合最低要求策略

来自分类Dev

Git Subtree合并策略-设置本身如何跨克隆进行?

Related 相关文章

  1. 1

    如何在 IntelliJ 中使用 Gradle 设置 Amazon Polly SDK

  2. 2

    如何设置cmake策略?

  3. 3

    Amazon S3:使用aws-sdk-ruby设置权限

  4. 4

    如何使用Android SDK为Amazon push SNS设置应用程序ARN

  5. 5

    如何在Java AWS S3 SDK预签名URL中设置策略条件

  6. 6

    在Amazon SDK上使用NTLM身份验证配置代理设置的问题

  7. 7

    如何检查和设置适用于iOS和Android的Amazon Web Services SDK以使用HTTPS(SSL)?

  8. 8

    如何使用ruby和aws-sdk将大型档案上传到Amazon Glacier?

  9. 9

    将策略分配给S3Bucket,以便仅由CloudFront发行版使用

  10. 10

    Amazon S3:403 禁止“根据策略无效:策略已过期”(Ruby)

  11. 11

    使用kubectl设置图像拉取策略

  12. 12

    使用基于站点的组策略设置时区

  13. 13

    Amazon S3,无法设置CORS策略

  14. 14

    如何使用Ruby Rails设置Twitter Bootstrap

  15. 15

    如何使用 ruby 在 BigQuery 中设置 QueryJobConfig?

  16. 16

    Ruby AWS SDK 循环通过 Bucket 对象来创建 url

  17. 17

    如何为IntelliJ IDEA的Ruby插件设置SDK?

  18. 18

    如何使用Java(外部安全模块)中的微策略SDK创建用户

  19. 19

    如何使用 java sdk 在 Azure SQL DW 中禁用地理备份策略

  20. 20

    Ruby on Rails如何与Amazon RDS一起使用

  21. 21

    如何使用Ruby SDK在AWS S3对象上设置Access-Control-Allow-Origin标头?

  22. 22

    如何在使用ExternalProject_Add添加的外部项目上设置CMake策略和属性

  23. 23

    如何使用Azure.Storage.Blobs程序集在Azure Blob存储操作上设置重试策略?

  24. 24

    如何使用Deployment Manager将IAM策略设置为Cloud Function

  25. 25

    如何使用Unity将隐私策略链接添加到Windows设置超级按钮?

  26. 26

    如何使用命令行编辑本地组策略设置?

  27. 27

    如何使用配置为Akka中的路由器设置默认策略

  28. 28

    如何使用命令提示符设置密码必须符合最低要求策略

  29. 29

    Git Subtree合并策略-设置本身如何跨克隆进行?

热门标签

归档