日志审计多帐号采集方案升级--资源目录集成

本文涉及的产品
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
文件存储 NAS,50GB 3个月
对象存储 OSS,内容安全 1000 次 1年
简介: 阿里云SLS日志服务集成阿里云资源目录服务,支持跨账号实时自动化、中心化采集阿里云产品日志。

背景

日志审计服务是在SLS平台能力基础上提供的一款审计服务,支持多账户场景下实时自动化、中心化地采集阿里云上的云产品日志。具有如下优点:

  • 丰富的云产品支持,目前覆盖基础(ActionTrail、容器服务Kubernetes版)、存储(OSS、NAS)、网络(SLB、API网关)、数据库(关系型数据库RDS、云原生分布式数据库PolarDB-X 1.0、云原生数据库PolarDB)、安全(WAF、DDoS防护、云防火墙、云安全中心)。
  • 跨账号:与阿里云资源目录集成,支持将多个主账号下的日志采集到一个中心主账号下。
  • 一键式采集:一次性配置采集规则后,即可完成自动实时发现新资源并实时采集日志。
  • 中心化存储:将采集到的日志存储到某个地域的中心化Project中,方便后续查询分析、可视化与告警、二次开发等。
  • 丰富的内置告警规则,一键建立安全防护网。

1.日志审计多账号管理现状

跨账号采集是日志审计服务的一大特色,当进行跨账号采集云产品日志时,首先要解决的是中心主账号和其他主账号的双向授权问题。目前日志审计的授信关系建立是基于RAM开发的自定义鉴权机制,但是该机制存在如下不足:

  • 需要每个成员账号,提供具有RAM写权限的AK用于信任关系的建立。或者针对每个成员账号,手动建立被中心账号信任的RAM角色。
  • 创建出的RAM角色因为是自定义角色,会被用户有意或无意修改导致授权失效等问题。


RD(Resource Directory,资源目录)作为一套面向企业客户的多级账号管理服务,正好解决了日志审计多账号场景下账号间授信关系建立的问题。

2.资源目录简介

资源目录RD(Resource Directory)是阿里云面向企业客户提供的一套多级账号和资源关系管理服务。


名称

说明

管理账号

  • 是RD的超级管理员,也是一个企业中开通RD的初始账号
  • 企业管理账号,具有组织内所有成员账号的Full Access管理权限
  • 每个RD有且只有一个企业管理员账号

资源夹

  • 即分组,代表企业的组织单元,通常用于指代企业的分公司、业务线或产品项目
  • 资源夹不是账号,也不是云资源,可以理解成类似电脑的文件夹
  • 最多支持创建五层级的资源夹(不包含Root资源夹

Root资源夹

  • Root资源夹位于资源目录的顶层,没有父资源夹。资源关系依据Root资源夹向下分布。

成员

  • 成员账号有两种类型:云账号和资源账号。
  • 云账号就是普通的阿里云账号,通常账号密码登陆官网。
  • 资源账号是特殊的阿里云账号,被限制了root登陆,即不能通过账号密码直接登录官网,而是通过用户(RAM user或role)访问。
  • 企业管理员账号可以创建新的资源账号,或邀请已有的云账号加入rd组织

委派管理员

  • 指在某个指定云服务中,代表组织执行管理任务的成员账号
  • 只有企业管理员账号,可以将组织的成员账号设置为某个云服务的委派管理员

3.日志审计与资源目录集成后的优势

  • 账号间信任关系建立 --- 解决审计场景下账号间信任关系建立问题。
  • 利用RD体系创建新账号:省去人工创建账号并做实名认证的繁琐流程。
  • 邀请已有阿里云账号加入组织:如果企业已经在阿里云有账号,可通过邀请方式将已有账号加入企业RD组织。
  • 依据企业业务环境构建目录结构 --- 通过订阅资源目录分组,可以解决企业内组织多账号自动发现的问题
  • 客户根据自己的业务情况,按照应用程序、环境、团队或任何其他对业务有意义的业务单元进行账号分组管理,建立树状的组织多账号结构。
  • 为集成产品在组织成员账号中创建服务关联角色 --- 解决RAM角色被用户有意或无意修改问题。
  • 支持在云服务中指定委派管理员 -- 通过委派管理员账号,可以将组织管理任务与业务管理任务相分离,管理账号执行资源目录的组织管理任务。

使用资源目录采集多帐号日志

要使用资源目录完成跨账号中心化采集,需要以下几个步骤:

  • 开通资源目录,并邀请成员账号。并设置委派管理员。具体操作,请参考资源目录
  • 将委派管理员作为日志审计的中心账号,完成日志审计服务的开通。在日志审计服务中,添加要采集的成员账号(全选或者指定RD中的特定成员账号)。
  • 开启对应的云产品采集开关,就可以建立跨账号采集链路了。


需要注意的是:在通过日志审计服务完成日志的中心化采集后,成员账号还保留单独采集,比如RDS使用RDS审计中心app,SLB(在SLB控制台)。

以下针对控制台和Terraform分别介绍日志审计如何使用资源目录管理模式设置多帐号采集。

控制台操作

以下两种账号控制台操作需要以子账号的身份操作,这样符合最佳实践。

1. 委派管理员账号登录

点击日志审计服务-多帐号配置-全局配置tab页修改可选择配置账号的两种模式:全员、自定义

  • 全员模式,会自动采集委派管理员所在资源目录下的所有成员账号的日志审计
  • 新增资源目录成员,该成员会自动纳入委派管理员的日志审计采集账号
  • 移除资源目录成员,该成员会自动移出委派管理员的日志审计采集账号
  • 自定义模式,只会采集配置时设置的采集账号
  • 新增资源目录成员,该成员不会纳入委派管理员的日志审计采集账号
  • 移除资源目录成员,若该成员在自定义勾选的账号内,该成员会自动移出委派管理员的日志审计采集账号

2. 普通账号登录

普通账号仅支持使用自定义鉴权管理模式(需要手动秘钥授权,在无RD的场景下推荐使用)。访问资源目录管理模式页面仅展示多帐号管理的引导步骤,无法勾选设置多帐号采集

Terraform

Terraform是一种开源工具,用于安全高效地预览、配置和管理云基础架构和资源。Terraform的命令行接口(CLI)提供了一种简单机制,用于将配置文件部署到阿里云或其他任意支持的云上,并对其进行版本控制。

在使用前请确保已安装和配置Terraform。请参见Cloud Shell中使用Terraform链接在本地安装和配置Terraform完成配置操作。

操作步骤准备:

创建一个Terraform工作目录sls,并在该目录下执行terraform init初始化工作目录,完成后创建一个名为terraform.tf的文件

步骤一、配置身份信息

使用Terraform进行RD多帐号采集配置的身份认证支持主账号、子账号(环境变量、静态aksk设置)、ECS Role以及AssumeRole,下面围绕这几种方式分开介绍,详情可参考Terraform认证方式设置

方式一、环境变量中配置用户身份以及日志审计服务的中心Project所在地域

exportALICLOUD_ACCESS_KEY="AK****"exportALICLOUD_SECRET_KEY="SK****"exportALICLOUD_REGION="cn-huhehaote"

方式二、 静态AKSK设置

terraform.tf中配置provider信息

provider "alicloud" {
  access_key ="AK****"  secret_key ="SK****"  region     ="cn-huhehaote"}

方式三、 ECS Role

借助实例RAM角色,可将角色和ECS实例关联起来,使用STS临时凭证访问阿里云的日志审计服务,并且无需自行在实例中保存AccessKey。

  • 云账号登录RAM控制台,在左侧导航栏,单击RAM角色管理->创建RAM角色,当前可信实体类型选择为阿里云服务,单击下一步;选择角色类型为普通服务角色,输入角色名称,受信服务为云服务器,点击完成
  • 创建的RAM角色授予访问日志服务SLS的权限,参见权限附录说明日志审计所需最小权限
  • 为ECS绑定RAM角色,登录ECS管理控制台,在左侧导航栏点击实例与镜像->实例,找到要操作的ECS实例,选择更多->实例设置->授予/收回RAM角色,在弹窗重,选择创建前面步骤中创建好的实例RAM角色,点击确定完成授予。

也可以在创建ECS实例时,在系统配置页面的RAM角色属性中为实例选择已创建好的实例RAM角色

provider "alicloud" {
  ecs_role_name ="创建的RAM角色名"  region        ="cn-huhehaote"}


方式四、AssumeRole

主账号给子账号授予AliyunSTSAssumeRoleAccess权限,并创建RAM角色(RAM角色需添加自定义的日志审计所需最小写权限),为受信账号下的RAM用户授予AssumeRole权限、获取RAM用户角色的临时安全令牌,参见授予用户角色

provider "alicloud" {
  assume_role {
    role_arn           ="acs:ram::主账号uid:role/sls-test"    session_name       ="AuditRoleSession"    session_expiration =999  }
}

步骤二、配置日志审计采集

terraform.tf文件中配置日志审计采集参数如下,日志审计采集配置的完整参数说明请查看Terraform-Aliyun Log Audit

参数

说明

display_name

采集配置名称。自定义配置。

aliuid

阿里云账号ID。

multi_account

多账号采集时,需配置多个阿里云账号ID。

resource_directory_type

资源目录管理模式:

  • resource_directory_type不存在,自定义鉴权管理模式
  • resource_directory_type=custom,资源目录管理-自定义模式,此时multi_account的账号数组代表资源目录自定义配置的多帐号
  • resource_directory_type=all,资源目录管理-全员模式,此时multi_account为空数据或者不传入该字段

actiontrail_enabled

是否开启操作审计(Actiontrail)日志的采集,取值:

  • true:开启。
  • false:关闭。

actiontrail_ttl

设置操作审计日志的存储时间。

terraform.tf配置示例:

resource "alicloud_log_audit""rdtest" {
  display_name ="tf-audit-rd-test"  aliuid ="主账号uid"  variable_map = {
"actiontrail_enabled"="false",
"actiontrail_ttl"="180"  }
  multi_account = ["11212279087***"]
resource_directory_type="custom"}

步骤三、使terraform.tf文件中的采集配置生效

  1. 执行如下命令。terraform apply
  2. 输入yes。如果返回结果中提示Apply complete!,表示应用采集配置成功,日志审计服务将按照采集配置进行日志采集和存储。

多帐号采集模式切换说明

委派管理员设置资源目录管理模式以及自定义鉴权模式这两种模式之前的切换注意点:

  • 委派管理员设置过资源目录管理模式后前端页面会显示无法切换至自定义鉴权管理模式,如需切换,需清除所有的采集账号才可切换使用自定义鉴权管理模式。

  • 自定义鉴权管理模式可覆盖切换成资源目录管理模式

附录

日志审计所需最小写权限

该配置也是控制台和terraform操作开通配置的最小权限

{
"Version": "1",
"Statement": [
        {
"Effect": "Allow",
"Action": [
"log:GetApp",
"log:CreateApp"            ],
"Resource": [
"acs:log:*:*:app/audit"            ]
        },
        {
"Effect": "Allow",
"Action": [
"log:Get*",
"log:List*",
"log:CreateJob",
"log:UpdateJob",
"log:CreateProject"            ],
"Resource": [
"acs:log:*:*:project/slsaudit-*"            ]
        }
    ]
}

参考

  • 日志审计
  • 资源目录
  • 欢迎扫群加入阿里云-日志服务(SLS)技术交流(集团同学请直接搜索群号11702236加入), 获得第一手资料与支持
  • 后续系列直播与培训视频会同步到B站,敬请留意

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
2月前
|
数据采集 缓存 大数据
【赵渝强老师】大数据日志采集引擎Flume
Apache Flume 是一个分布式、可靠的数据采集系统,支持从多种数据源收集日志信息,并传输至指定目的地。其核心架构由Source、Channel、Sink三组件构成,通过Event封装数据,保障高效与可靠传输。
198 1
|
3月前
|
机器学习/深度学习 算法 物联网
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
本文提出一种面向能效与低延迟的离线语音控制智能家居方案,通过将关键词识别(KWS)集成至终端设备,结合去中心化Mesh网络与CoAP协议,实现本地化语音处理。相较云端方案,系统能耗降低98%,延迟减少75%以上,显著提升响应速度与能源效率,为绿色智能家居提供可行路径。(236字)
259 17
面向能效和低延迟的语音控制智能家居:离线语音识别与物联网集成方案——论文阅读
|
3月前
|
存储 Kubernetes 监控
Kubernetes日志管理:使用Loki进行日志采集
通过以上步骤,在Kubernetes环境下利用LoKi进行有效率且易于管理地logs采集变成可能。此外,在实施过程中需要注意版本兼容性问题,并跟进社区最新动态以获取功能更新或安全补丁信息。
235 16
编解码 算法 vr&ar
255 0
|
4月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
A+流量分析平台是阿里集团统一的全域流量数据分析平台,致力于通过埋点、采集、计算构建流量数据闭环,助力业务提升流量转化。面对万亿级日志数据带来的写入与查询挑战,平台采用Flink+Paimon+StarRocks技术方案,实现高吞吐写入与秒级查询,优化存储成本与扩展性,提升日志分析效率。
497 1
|
4月前
|
自然语言处理 负载均衡 算法
推理速度提升300%:LLaMA4-MoE的FlashAttention-2集成与量化部署方案
本文详解LLaMA4-MoE模型架构与实现全流程,涵盖语料预处理、MoE核心技术、模型搭建、训练优化及推理策略,并提供完整代码与技术文档,助你掌握大模型MoE技术原理与落地实践。
287 6
|
5月前
|
缓存 人工智能 监控
MCP资源管理深度实践:动态数据源集成方案
作为一名深耕AI技术领域多年的开发者,我见证了从传统API集成到现代化协议标准的演进历程。今天要和大家分享的MCP(Model Context Protocol)资源管理实践,是我在实际项目中积累的宝贵经验。MCP作为Anthropic推出的革命性AI连接标准,其资源管理机制为我们提供了前所未有的灵活性和扩展性。在过去的几个月里,我深度参与了多个企业级MCP项目的架构设计和实施,从最初的概念验证到生产环境的大规模部署,每一个环节都让我对MCP资源管理有了更深刻的理解。本文将从资源生命周期管理的角度出发,详细探讨文件系统、数据库、API等多种数据源的适配策略,深入分析实时数据更新与缓存的最佳实践
184 0
|
5月前
|
JSON 安全 网络安全
LoongCollector 安全日志接入实践:企业级防火墙场景的日志标准化采集
LoonCollector 是一款轻量级日志采集工具,支持多源安全日志的标准化接入,兼容 Syslog、JSON、CSV 等格式,适用于长亭 WAF、FortiGate、Palo Alto 等主流安全设备。通过灵活配置解析规则,LoonCollector 可将原始日志转换为结构化数据,写入阿里云 SLS 日志库,便于后续查询分析、威胁检测与合规审计,有效降低数据孤岛问题,提升企业安全运营效率。
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
804 55

热门文章

最新文章

相关产品

  • 日志服务