企业上云如何对SLS日志审计服务进行权限控制

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
文件存储 NAS,50GB 3个月
简介: 日志审计是信息安全审计功能的核心部分,是企业信息系统安全风险管控的重要组成部分。SLS的日志审计服务针对阿里云的多种云产品(Actiontrail、OSS、SLB、RDS、PolarDB、SAS、WAF等)提供了一站式的日志收集、存储、查询、可视化和告警能力,可用于支撑安全分析、合规审计等常见应用场景。

一、背景

日志审计简介

日志审计是信息安全审计功能的核心部分,是企业信息系统安全风险管控的重要组成部分。SLS的日志审计服务针对阿里云的多种云产品(Actiontrail、OSS、SLB、RDS、PolarDB、SAS、WAF等)提供了一站式的日志收集、存储、查询、可视化和告警能力,可用于支撑安全分析、合规审计等常见应用场景。

image.png

日志审计的特点:

  • 中心化采集
  • 跨账号:支持将多个主账号下的日志采集到一个主账号下的Project中。
  • 一键式采集:一次性配置采集策略后,即可完成跨账号自动实时发现新资源(例如新创建的RDS、SLB、OSS Bucket实例等)并实时采集日志。
  • 中心化存储:将采集到的日志存储到某个地域的中心化Project中,方便后续查询分析、可视化与告警、二次开发等。
  • 支持丰富的审计功能
  • 继承日志服务现有的所有功能,包括查询分析、加工、报表、告警、导出等功能,支持审计场景下中心化的审计等需求。
  • 生态开放对接:与开源软件、阿里云大数据产品、第三方SOC软件无缝对接,充分发挥数据价值。


日志审计服务提供了统一的管理界面,便于用户能够便捷地进行云产品日志的采集配置。该页面提供了对于多种云产品审计日志采集开关、存储方式(区域化/中心化)、TTL、是否开启威胁情报检测等功能。

image.png

企业上云后面临的权限问题

众所周知,主账号拥有该账号下所有资源的所有权,可以对该账号下对所有资源进行配置修改。企业上云后,特别是一个公司多个部门或者多个业务线进行开发的场景,如果都使用主账号操作,风险是非常高的。而RAM则为企业解决上述问题,提供了一套简单的统一分配权限、集中管控资源的安全资源控制体系。

企业上云后,面临的一些常见的权限管控问题:

  • 存在多用户协同操作,RAM用户分工不同,各司其职。
  • 云账号不想与其他RAM用户共享云账号密钥,密钥泄露风险较大。
  • RAM用户对资源的访问方式多种多样,资源泄露风险高。
  • 某些RAM用户离开组织时,需要收回其对资源的访问权限。


企业上云后,可以通过创建、管理RAM用户,并控制这些RAM用户对资源的操作权限(权限最小分配原则),从而达到权限控制的目的。而日志审计服务作为云上日志安全审计的控制中心,是云上日志合规的配置入口,安全性至关重要。同样的,我们也可以合理的利用RAM达到权限控制目的。

二、日志审计最佳实践

为了利用RAM对日志审计服务进行权限控制,首先需要明确日志审计场景下涉及的资源:

  • 中心Project:slsaudit-center-${uid}-${region}
  • 区域Project:slsaudit-region-${uid}-${region}


权限控制涉及的账号类型及权限,按权限从大到小顺序:

  • 主账号:
  • 权限:天然拥有对APP、Proejct资源所有控制权限。
  • 使用场景:不建议直接使用。
  • 拥有日志审计写权限的子账号(首次开通):
  • 权限:
  • 使用场景:可以对日志审计进行首次开通及后续配置变更。
  • 拥有日志审计写权限的子账号(非首次开通):
  • 权限:
  • 系统权限策略:AliyunRAMReadOnlyAccess/AliyunSTSAssumeRoleAccess。
  • 自定义日志审计写最小权限:需要拥有日志审计APP查看、配置权限,可以查看日志审计project下的数据。
  • 使用场景:日志审计开通后,可以对日志审计进行相关的配置变更。
  • 拥有日志审计只读权限的子账号:
  • 权限:
  • 系统权限策略:AliyunRAMReadOnlyAccess/AliyunSTSAssumeRoleAccess。
  • 自定义日志审计只读最小权限:需要拥有日志审计APP查看权限,可以查看日志审计project下的数据。
  • 使用场景:适用于一般权限的开发者。仅可查看日志审计配置,及Project中的数据。

三、RAM子账号日志审计操作的最小权限

1、自定义日志审计写最小权限

{
    "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-*"
            ]
        }
    ]
}

2、自定义日志审计只读最小权限

相对于“自定义日志审计写最小权限”,去掉了"log:CreateApp" "log:CreateJob" "log:UpdateJob" "log:CreateProject"等权限。

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

四、操作步骤

1、创建第三部分中提到的权限

例如创建名为audit_test的权限策略。

image.png

RAM访问控制

RAM访问控制/权限策路管理

理/audittest

audit_test

概微

人员管理

基本信息

用户组

策咯名称

版本号

v31

用户

audittest

策晰类型

自定义权限簧略

备注

设置

版本管理

引用记录

策略内容

SSO管理

权限管理

修改簧路内容

授权

"version":"1",

权限算路管理

"Statement":

+1000

RAM角色管理

"EFFECT":"AILOW"

"Action":[

OAuth应用管理(公测中)

Log:GetApp"

"Log:CreateApp"

8Ga

"Resource":[

"acs:Log:*:*:app/audit"

S一

HEFFECT":"AILOW"

2、按照第二部分的权限列表,对子账号进行授权

image.png

3、登陆子账号进行审计操作

五、通过权限否定控制

本文第三部分提到的“RAM子账号日志审计操作的最小权限”,主要是正向出发,尽可能地限制子账号权限。但是某些场景下,子账号希望拥有SLS较大的权限,但是需要把日志审计APP配置权限排除在外,这时候就需要使用RAM的权限否定功能。详细的权限配置如下:

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

例如,授予了子账号AliyunLogFullAccess权限,子账号会拥有全部的SLS权限。但是想收回审计APP配置权限时,可以添加自定义否定策略。

image.png


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
12天前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
1月前
|
存储 监控 安全
日志审计是什么?为什么企业需要日志审计?
日志审计是对信息系统中产生的日志进行收集、分析和存储的过程,记录系统活动如用户登录、操作行为等。企业通过日志审计可满足合规要求(如金融、医疗行业的法规),及时发现安全威胁(如异常登录、数据泄露),并为事故调查提供依据。工具如EventLog Analyzer能帮助企业生成合规报表,确保符合PCI DSS、HIPAA等标准,并支持实时监控与存档分析,保障网络安全与数据隐私。
|
1月前
|
SQL 关系型数据库 MySQL
MySQL事务日志-Undo Log工作原理分析
事务的持久性是交由Redo Log来保证,原子性则是交由Undo Log来保证。如果事务中的SQL执行到一半出现错误,需要把前面已经执行过的SQL撤销以达到原子性的目的,这个过程也叫做"回滚",所以Undo Log也叫回滚日志。
MySQL事务日志-Undo Log工作原理分析
|
2月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
|
2月前
|
存储 监控 安全
什么是事件日志管理系统?事件日志管理系统有哪些用处?
事件日志管理系统是IT安全的重要工具,用于集中收集、分析和解释来自组织IT基础设施各组件的事件日志,如防火墙、路由器、交换机等,帮助提升网络安全、实现主动威胁检测和促进合规性。系统支持多种日志类型,包括Windows事件日志、Syslog日志和应用程序日志,通过实时监测、告警及可视化分析,为企业提供强大的安全保障。然而,实施过程中也面临数据量大、日志管理和分析复杂等挑战。EventLog Analyzer作为一款高效工具,不仅提供实时监测与告警、可视化分析和报告功能,还支持多种合规性报告,帮助企业克服挑战,提升网络安全水平。
115 2
|
3月前
|
存储 监控 安全
什么是日志管理,如何进行日志管理?
日志管理是对IT系统生成的日志数据进行收集、存储、分析和处理的实践,对维护系统健康、确保安全及获取运营智能至关重要。本文介绍了日志管理的基本概念、常见挑战、工具的主要功能及选择解决方案的方法,强调了定义管理目标、日志收集与分析、警报和报告、持续改进等关键步骤,以及如何应对数据量大、安全问题、警报疲劳等挑战,最终实现日志数据的有效管理和利用。
348 0
|
3月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
954 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
4月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
94 0
|
4月前
|
Web App开发 存储 监控
iLogtail 开源两周年:UC 工程师分享日志查询服务建设实践案例
本文为 iLogtail 开源两周年的实践案例分享,讨论了 iLogtail 作为日志采集工具的优势,包括它在性能上超越 Filebeat 的能力,并通过一系列优化解决了在生产环境中替换 Filebeat 和 Logstash 时遇到的挑战。
169 13
|
4月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
389 0

相关产品

  • 日志服务