首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >COS访问策略接口与terraform

COS访问策略接口与terraform
EN

Stack Overflow用户
提问于 2020-09-29 23:07:38
回答 1查看 106关注 0票数 0

在界面中,我可以转到COS Bucket访问策略,轻松地分配策略,然后看起来大致如下:

代码语言:javascript
复制
Cloud Object Storage service
serviceInstance string equals foo-bar, resource string equals foo-bar-pcaps, resourceType string equals bucket

我正在努力寻找一种方法来通过terraform来做同样的事情,因为每当我尝试使用正确的TF代码时,比如:

代码语言:javascript
复制
resource "ibm_iam_service_policy" "policy_pcaps" {
  iam_service_id = ibm_iam_service_id.serviceID_pcaps.id
  roles        = ["Writer"]
  resources {
    service = "cloud-object-storage"
    resource = ibm_cos_bucket.pcaps.id
  }
}

我最后得到的是

代码语言:javascript
复制
Cloud Object Storage service
resource string equals crn:v1:bluemix:public:cloud-object-storage:global:a/27beaaea79a<redacted>34dd871b:8b124bc6-147c-47ba-bd47-<redacted>:bucket:foo-bar-pcaps:meta:rl:us-east

问题是这里所需的Writer策略不能与该策略详细信息一起正常工作。

如何使用Terraform实现与第一个策略类似的功能?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-10-22 20:27:14

您可以实现类似于此示例Service Policy by using attributes的功能。

我通过云对象存储的UI创建了一个策略,并指定该策略包含存储桶名称。然后我使用:

代码语言:javascript
复制
ibmcloud iam access-group-policy GROUP_NAME POLICY_ID --output JSON

为了更好地理解这项政策。

在此基础上,我创建了这个样例terraform代码片段并对其进行了测试。它正在创建IAM访问组+策略:

代码语言:javascript
复制
resource "ibm_iam_access_group" "accgrp_cos" {
  name = "test_cos"
}

resource "ibm_iam_access_group_policy" "policy" {
  access_group_id = ibm_iam_access_group.accgrp_cos.id
  roles        = ["Writer"]

  resources {
    service =   "cloud-object-storage"

    attributes = {

    resourceType = "bucket"
    resource = "tf-test-cos"
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64122434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档