You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby SDK v3中AWS::Core::Policy类去向及创建方法咨询

AWS Ruby SDK v3 中创建IAM策略对象的替代方案

旧版Ruby SDK v2中创建策略的方式:

AWS::Core::Policy.new.allow(:resource => some_arn, :principals => some_users, :actions => some_actions)

在Ruby SDK v3中,AWS::Core::Policy已被移除,相关功能整合到了**Aws::IAM::Policy**类中,同时SDK提供了更贴合IAM策略原生结构的API来构建策略对象,以下是两种常用实现方式:

方法1:直接基于IAM策略结构初始化

直接定义符合IAM规范的策略哈希,传入Aws::IAM::Policy初始化:

policy = Aws::IAM::Policy.new(
  version: "2012-10-17",
  statements: [
    {
      effect: "Allow",
      resources: [some_arn],
      principals: some_users,
      actions: some_actions
    }
  ]
)

方法2:通过Statement类分步构建

先创建Aws::IAM::Statement对象定义权限规则,再添加到策略中:

# 创建允许类型的权限语句
allow_statement = Aws::IAM::Statement.new(
  effect: "Allow",
  resources: [some_arn],
  principals: some_users,
  actions: some_actions
)

# 初始化策略并添加语句
policy = Aws::IAM::Policy.new(version: "2012-10-17")
policy.statements << allow_statement

注意:v3的API参数命名更贴近IAM策略的JSON字段(比如用resources替代旧版的resource),需要对应调整参数名称。

内容的提问来源于stack exchange,提问作者patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:42:06