一、背景日志审计简介
日志审计是信息安全审计功能的核心部分 是企业信息系统安全风险管控的重要组成部分。SLS的日志审计服务针对阿里云的多种云产品 Actiontrail、OSS、SLB、RDS、PolarDB、SAS、WAF等 提供了一站式的日志收集、存储、查询、可视化和告警能力 可用于支撑安全分析、合规审计等常见应用场景。
日志审计的特点
中心化采集跨账号 支持将多个主账号下的日志采集到一个主账号下的Project中。一键式采集 一次性配置采集策略后 即可完成跨账号自动实时发现新资源 例如新创建的RDS、SLB、OSS Bucket实例等 并实时采集日志。中心化存储 将采集到的日志存储到某个地域的中心化Project中 方便后续查询分析、可视化与告警、二次开发等。支持丰富的审计功能继承日志服务现有的所有功能 包括查询分析、加工、报表、告警、导出等功能 支持审计场景下中心化的审计等需求。生态开放对接 与开源软件、阿里云大数据产品、第三方SOC软件无缝对接 充分发挥数据价值。日志审计服务提供了统一的管理界面 便于用户能够便捷地进行云产品日志的采集配置。该页面提供了对于多种云产品审计日志采集开关、存储方式 区域化/中心化 、TTL、是否开启威胁情报检测等功能。
企业上云后面临的权限问题众所周知 主账号拥有该账号下所有资源的所有权 可以对该账号下对所有资源进行配置修改。企业上云后 特别是一个公司多个部门或者多个业务线进行开发的场景 如果都使用主账号操作 风险是非常高的。而RAM则为企业解决上述问题 提供了一套简单的统一分配权限、集中管控资源的安全资源控制体系。
企业上云后 面临的一些常见的权限管控问题
存在多用户协同操作 RAM用户分工不同 各司其职。云账号不想与其他RAM用户共享云账号密钥 密钥泄露风险较大。RAM用户对资源的访问方式多种多样 资源泄露风险高。某些RAM用户离开组织时 需要收回其对资源的访问权限。企业上云后 可以通过创建、管理RAM用户 并控制这些RAM用户对资源的操作权限 权限最小分配原则 从而达到权限控制的目的。而日志审计服务作为云上日志安全审计的控制中心 是云上日志合规的配置入口 安全性至关重要。同样的 我们也可以合理的利用RAM达到权限控制目的。
二、日志审计最佳实践为了利用RAM对日志审计服务进行权限控制 首先需要明确日志审计场景下涉及的资源
日志审计APP https://sls.console.aliyun.com/lognext/app/audit/audit_global_config可以查看。存储审计日志的Project下的资源 包括了Project、Logstore、索引、报表、数据加工任务等。Project分为两类 中心Project slsaudit-center-${uid}-${region}区域Project slsaudit-region-${uid}-${region}权限控制涉及的账号类型及权限 按权限从大到小顺序
主账号 权限 天然拥有对APP、Proejct资源所有控制权限。使用场景 不建议直接使用。拥有日志审计写权限的子账号 首次开通 权限 系统权限策略 AliyunRAMFullAccess/AliyunSTSAssumeRoleAccess 用于自动创建审计需要的内置角色sls-audit-service-dispatch、sls-audit-service-monitor。自定义日志审计写最小权限 需要拥有日志审计APP的查看、配置权限 可以查看日志审计project下的数据。使用场景 可以对日志审计进行首次开通及后续配置变更。拥有日志审计写权限的子账号 非首次开通 权限 系统权限策略 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的权限策略。
2、按照第二部分的权限列表 对子账号进行授权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配置权限时 可以添加自定义否定策略。
本文转自网络,原文链接:https://developer.aliyun.com/article/783833