计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
文档首页/ 配置审计 Config/ 用户指南/ 资源记录器/ 基于组织批量配置资源记录器

基于组织批量配置资源记录器

更新时间:2024-10-28 GMT+08:00

操作场景

当前Config服务的相关功能均依赖于资源记录器收集的资源数据,不开启资源记录器将会影响其他功能的正常使用。

如果您是组织管理员,您可以基于Terraform模板和RFS资源栈集批量为组织成员账号开启并配置资源记录器,而无需登录每个账号进行操作。在组织成员账号较多且均需使用Config服务的场景下,使用此功能将有助于您提升配置效率,减少复杂繁琐的操作。

本章节提供基于组织批量开启并配置资源记录器的操作流程和配置示例,帮助您快速了解和使用该功能。

操作流程

操作流程

说明

步骤一:启用RFS可信服务

在Organizations可信服务列表中启用“资源编排资源栈集服务(RF)”为可信服务。

步骤二:配置OBS桶策略

为OBS桶设置桶策略,授权组织内成员账号的资源记录器可将转储文件存放至此OBS桶。

步骤三:配置SMN主题策略

为SMN主题设置主题访问策略,授权组织内成员账号的资源记录器可通过此主题发送消息。

步骤四:创建RFS资源栈集

使用Terraform模板创建RFS资源栈集,向组织成员账号部署资源栈实例,用于启用和配置资源记录器。

约束与限制

  • 当前单个RFS资源栈集最多仅支持开启100个组织成员账号的资源记录器。
  • 仅组织管理员可以创建资源栈集。
  • 创建资源栈集仅会在组织成员账号下部署资源栈,不会在组织管理员账号下部署资源栈。
  • 当组织成员账号在资源栈集部署前已开启并配置了资源记录器,则通过资源栈集下发的配置不会覆盖成员账号当前的资源记录器配置。

步骤一:启用RFS可信服务

使用此功能前需先开启RFS可信服务,具体步骤如下:

  1. 以组织管理员账号登录管理控制台,进入“组织 Organizations”服务。
  2. 单击左侧导航栏的“可信服务”,进入“可信服务”页面。
  3. 在列表中单击“资源编排资源栈集服务(RF)”操作列的“启用”。
  4. 在弹出的确认框中单击“确定”,RFS可信服务启用成功。

    图1 启用可信服务

步骤二:配置OBS桶策略

说明:

当您配置的资源转储OBS桶的桶策略为“公共读写”时,表示任何用户都可以对该OBS桶内对象进行读/写/删除操作,则无需执行此步骤。

开启资源记录器时需配置资源转储OBS桶,用于存储资源变更消息及资源快照。如无OBS桶,则需先创建桶

在当前场景下,您需要为OBS桶设置桶策略,授权组织内成员账号的资源记录器可将转储文件存放至此OBS桶的指定路径内,具体请参见如下步骤:

  1. 用授权账号登录管理控制台,进入OBS管理控制台。

    授权账号指OBS桶所属的账号。

  2. 参考自定义创建桶策略(JSON视图)对待授权账号授予相关OBS桶的权限。

    桶策略的示例如下,配置该桶策略,将允许被授权组织成员账号的资源记录器将转储文件存放至本OBS桶的指定路径内,以下参数需要您根据实际使用场景手动替换:

    • ${account_id}:需要被授权的组织成员账号的账号ID(domain_id),多个账号ID之间以英文逗号分隔;
    • ${agency_name}:被授权的自定义委托的名称。如何创建委托详见委托其他云服务管理资源,授权对象为云服务Config;
    • ${bucket_name}:用于存储文件的OBS桶的桶名;
    • ${folder_name}:用于存储文件的OBS桶内文件夹的名称。如果您未设置OBS桶内文件夹,则需删除“/${folder_name}”。
    {
      "Statement": [
        {
          "Sid": "org-bucket-policy",
          "Effect": "Allow",
          "Principal": {
            "ID": [
              "domain/${account_id}:agency/${agency_name}"
            ]
          },
          "Action": [
            "PutObject"
          ],
          "Resource": [
            "${bucket_name}/${folder_name}/RMSLogs/*/Snapshot/*",
            "${bucket_name}/${folder_name}/RMSLogs/*/Notification/*"
          ]
        }
      ]
    }
    说明:

    如果需要将资源变更消息和资源快照存储到“使用KMS方式加密的OBS桶”中时,还需参见资源变更消息和资源快照转储至OBS加密桶设置密钥的跨账号权限,其中待授权账号需输入组织成员账号的账号ID(domain_id)。

步骤三:配置SMN主题策略

开启资源记录器时需配置SMN主题,当资源发生变更时,消息通知会推送消息到您所配置的SMN主题。如无SMN主题,则需先创建主题。创建SMN主题后,还需执行“添加订阅”和“请求订阅”操作,消息通知才会生效。

在当前场景下,您需要为SMN主题设置主题访问策略,授权组织内成员账号的资源记录器可通过此主题发送消息,具体请参见如下步骤:

  1. 用授权账号登录管理控制台,进入对应区域的SMN服务控制台。

    授权账号指SMN主题所属的账号。

  2. 参考设置主题策略对待授权账号授予相关SMN主题的权限。

    其中“可发布消息的用户”选择“仅如下用户”,并依次输入组织成员账号的ID。

    如未对某个成员账号进行授权,则该成员账号将无法通过此SMN主题接收资源变更消息通知。

步骤四:创建RFS资源栈集

  1. 以组织管理员账号登录管理控制台。
  2. 单击页面左上角的图标,在弹出的服务列表中,选择“管理与监管”下的“资源编排服务 RFS”。
  3. 单击左侧导航栏的“资源栈集”,进入“资源栈集”页面。
  4. 单击页面右上角的“创建资源栈集”。

    图2 创建资源栈集

  5. 进入“选择模板”页面,根据如下示例完成配置后,单击“下一步”。

    • 权限模型:选择“服务管理权限”。
    • 开启并行操作:选择“关闭”或“开启”均可。 推荐选择“开启”,将提高资源栈的运行速度。
    • 选择模板:根据需要选择任意模板来源。模板的内容请参见“Terraform模板内容”。
    图3 选择模板

  6. 进入“参数配置”页面,根据如下示例完成配置后,单击“下一步”。

    图4 参数配置
    • 资源栈集名称:使用系统自动生成的名称或自定义,不可与已有资源栈集名称重复。
    • 配置参数
      • AllSupported:(必选,Bool类型)指定是否记录Config所有支持的资源类型,可选值为“true”和“false”。
      • ResourceTypes:(可选,列表类型)指定资源类型列表。当AllSupported设置为“false”时,此处需输入具体的资源类型,例如["vpc.vpcs", "rds.instances"]。
      • BucketName:(必选,字符串类型)指定用于资源转储的OBS桶的名称。
      • BucketRegion:(必选,字符串类型)指定该OBS桶所在的区域。
      • AccountRegion:(必选,字符串类型)指定账号所在的站点,输入cn-north-4表示组织内账号均属于中国站,输入ap-southeast-1表示组织内账号均属于国际站。
      • TopicUrn:(必选,字符串类型)指定用于发送消息通知的SMN主题URN。
      • TopicRegion:(必选,字符串类型)指定该SMN主题所在的区域。
      • ConfigAgencyName:(必选,字符串类型)指定自定义IAM委托的名称。此委托必须包含可以让资源记录器正常工作的权限(调用SMN发送通知的权限和OBS的写入权限)。

  7. 进入“部署设置”页面,根据如下示例完成配置后,单击“下一步”。

    图5 部署设置
    • 部署设置
      • 组织单元IDs:输入组织单元(OU)的ID。当指定根组织单元(Root)的ID时,表示资源栈集将部署于整个组织。
      • 筛选条件:根据需要筛选条件,用于筛选部署的账号。
      • 部署区域:选择资源栈集部署的区域。
    • 部署参数
      • 最大并发账户:建议选择“数字”类型,值设置为5。
      • 容错:建议选择“百分比”类型,值设置为100。
      • Region部署方式和并发模式根据界面提示按需选择。

  8. 进入“配置确认”界面,确认资源栈集配置无误后,单击“部署”。
  9. 在弹出的确认框中单击“确定”,资源栈集部署成功。

    资源栈集会向所选组织成员账号中均部署一个资源栈实例,部署完成后,组织成员账号的资源记录器将会被开启并基于Terraform模板内容进行配置。

    图6 部署资源栈集
    说明:

    资源栈集创建并部署成功后,所部署的组织成员账号随时可以修改和关闭自身的资源记录器。您也可以随时更新资源栈集删除资源栈集,删除资源栈集后,所部署成员账号的资源记录器均将被关闭。

Terraform模板内容

Terraform模板示例如下,您可以使用此模板的内容创建RFS私有模板,或在本地保存为tf格式的文件,用于在创建资源栈集时选择此模板:

terraform {
  required_providers {
    huaweicloud = {
      source  = "huawei.com/provider/huaweicloud"
      version = ">=1.49.0"
    }
  }
}

provider "huaweicloud" {
}

variable "AllSupported" {
  description = "Specifies whether to select all supported resources."
  type        = bool
  default     = true

  validation {
    condition     = can(regex("^(true|false)$", var.AllSupported))
    error_message = "Must be true or false."
  }
}

variable "ResourceTypes" {
  description = "Specifies the resource type list. "
  type        = list(string)
  default     = []
}

variable "BucketName" {
  description = "Specifies the OBS bucket name used for data dumping."
  type        = string
}

variable "BucketRegion" {
  description = "Specifies the region where this bucket is located."
  type        = string
}

variable "TopicRegion" {
  description = "Specifies the region where the smn topic is located."
  type        = string
}

variable "AccountRegion" {
  description = "Specifies the region where the account is located."
  type        = string
}


variable "TopicUrn" {
  description = "Specifies the SMN topic URN used to send notifications."
  type        = string
}

variable "ConfigAgencyName" {
  description = "Specifies the IAM agency name which must include permissions for sending notifications through SMN and for writing data into OBS."
  type        = string
}

data "huaweicloud_identity_projects" "CurrentAccountProject" {
  name = var.AccountRegion
}

resource "huaweicloud_identity_agency" "identity_agency" {
  name                   = var.ConfigAgencyName
  delegated_service_name = "op_svc_eps"
  all_resources_roles = ["SMN Administrator", "OBS Administrator", "KMS Administrator"]
}

resource "huaweicloud_rms_resource_recorder" "ConfigRecorder" {
  agency_name = var.ConfigAgencyName

  selector {
    all_supported  = var.AllSupported
    resource_types = var.ResourceTypes
  }

  obs_channel {
    bucket = var.BucketName
    region = var.BucketRegion
  }

  smn_channel {
    region = var.TopicRegion
    topic_urn = var.TopicUrn
    project_id = data.huaweicloud_identity_projects.CurrentAccountProject.projects[0].id
  }
  depends_on = [huaweicloud_identity_agency.identity_agency]
}

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容