前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Terraform创建QCS角色

使用Terraform创建QCS角色

原创
作者头像
蚂蚁上树
修改2023-01-29 11:03:48
9880
修改2023-01-29 11:03:48
举报
文章被收录于专栏:爱搞云计算爱搞云计算

在一些规模较大的企业,特别是外企,喜欢使用terraform来批量管理云产品的资源,腾讯云对Terraform的支持也是比较完善的

https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/latest/docs

如果是使用角色登录控制台进行管理,时常会面临无法创建QCS类型角色的情况

比如创建mysql后,开启数据透明加密,这里会提示需要KMS密钥授权,角色方式点击进行授权会提示需要主账号进行操作。

(这里的子账号现在是可以创建QCS授权的,但是角色方式登录控制台还是不可以)

这个时候,就可以用到terraform来进行创建,不仅能跳过主账号授权,还能针对多账号进行统一管理。

如下提供一个MySQL_QCSRole角色创建的代码,其他的QCS角色可以使用同样的方法创建(还有一种linkedRole角色也有专门的创建方式,暂时不做介绍。)

创建这个TF文件的过程中,需要先用不受限制的账号进行测试,先通过控制台创建QCS角色,然后再分析下绑定了哪些策略以及角色载体,然后通过tf来创建一样的角色。

针对上图,用TF的方式进行创建

代码语言:text
复制
resource "tencentcloud_cam_role" "foo" {
  name          = "MySQL_QCSRole"
  document      = <<EOF
{
  "version": "2.0",
  "statement": [
    {
      "action": ["name/sts:AssumeRole"],
      "effect": "allow",
      "principal": {
        "service": ["cdb.qcloud.com"]
      }
    }
  ]
}
EOF
  description   = "当前角色为 云数据库 MySQL 服务角色,该角色将在已关联策略的权限范围内访问您的其他云服务资源。由tf创建"
  console_login = false
  tags = {
    test = "tf-cam-role",
  }

  lifecycle {
    prevent_destroy = true
  }
}

data "tencentcloud_cam_policies" "bar" {
  name = "QcloudAccessForMySQLRole"
}

resource "tencentcloud_cam_role_policy_attachment" "foo" {
  role_id   = tencentcloud_cam_role.foo.id
  policy_id = data.tencentcloud_cam_policies.bar.policy_list.0.policy_id
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档