使用Terraform玩转SLS日志审计自动化部署

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: Terraform是一种开源工具,用于安全高效地预览,配置和管理云基础架构和资源。阿里云的terraform-provider-alicloud目前已经提供了超过 163 个 Resource 和 113 个 Data Source,覆盖计算,存储,网络,负载均衡,CDN,容器服务,中间件,访问控制,数据库等超过35款产品。本文主要介绍如何使用Terraform自动化部署阿里云日志服务下的日志审计服务。

背景

1. 什么是Terraform

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

阿里云作为国内第一家与 Terraform 集成的云厂商,terraform-provider-alicloud目前已经提供了超过 163 个 Resource 和 113 个 Data Source,覆盖计算,存储,网络,负载均衡,CDN,容器服务,中间件,访问控制,数据库等超过35款产品,已经满足了大量大客户的自动化上云需求。

2. Terraform的优势

  • 将基础结构部署到多个云

Terraform适用于多云方案,将类似的基础结构部署到阿里云、其他云提供商或者本地数据中心。开发人员能够使用相同的工具和相似的配置文件同时管理不同云提供商的资源。

  • 自动化管理基础结构

Terraform能够创建配置文件的模板,以可重复、可预测的方式定义、预配和配置ECS资源,减少因人为因素导致的部署和管理错误。能够多次部署同一模板,创建相同的开发、测试和生产环境。

  • 基础架构即代码(Infrastructure as Code)

可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置 。

  • 降低开发成本

您通过按需创建开发和部署环境来降低成本。并且,您可以在系统更改之前进行评估。


安装和配置Terraform

  1. 在cloudshell中使用Terraform
  2. 在本地安装和配置Terraform


使用Terraform配置日志审计

操作步骤

一、配置身份信息以及日志审计服务的中心化区域

在环境变量中配置用户身份信息以及日志审计服务的中心Project所在区域

export ALICLOUD_ACCESS_KEY="LTAIUrZCw3********"
export ALICLOUD_SECRET_KEY="zfwwWAMWIAiooj14GQ2*************"
export ALICLOUD_REGION="cn-huhehaote"

二、操作RAM授权

使用Terraform调用RAM接口完成RAM授权,接口详情请参见alicloud_ram_policy。在调用RAM接口时,需配置审计相关权限(策略内容、角色名称等),详情请参见手动授权日志采集与同步


三、配置日志采集

  1. 创建一个terraform工作目录(文件夹),并在该目录下创建一个名为terraform.tf的文件,文件内容为
resource "alicloud_log_audit" "example" {
  display_name = "tf-audit-test"
  aliuid       = "12345678"
}

上述文件内容中,"example"以及"tf-audit-test"用户可自定义,aliuid填写用户自己的阿里云主账号ID。


  1. 在上一步创建的工作目录下执行terraform init来初始化terraform工作目录

1.png

执行完毕后,提示“Terraform has been successfully initialized!”代表初始化成功


  1. 编辑terraform.tf文件,填写日志审计服务的相关参数,以此配置日志采集。配置样例如下
resource "alicloud_log_audit" "example" {
  display_name = "tf-audit-test"
  aliuid       = "12345678"
  variable_map = {
    "actiontrail_enabled" = "true",
    "actiontrail_ttl" = "180"
  }
}

上述配置表示开启操作审计(Actiontrail)日志的采集,存储时长(ttl)为180天。

用户还可以配置多账号采集,其配置样例如下

resource "alicloud_log_audit" "example" {
  display_name = "tf-audit-test"
  aliuid       = "12345678"
  variable_map = {
    "actiontrail_enabled" = "true",
    "actiontrail_ttl" = "180"
  }
  multi_account = ["123456789123", "12345678912300123"]
}

其中multi_account的值是要采集的多账号的阿里云主账号ID列表。

terraform中日志审计采集配置的完整参数列表参考:Terraform-Aliyun Log Audit


  1. 执行terraform apply,使terraform.tf中的采集配置生效

2.png

输入yes确认应用配置,如果提示Apply complete则表示采集配置应用成功,日志审计服务会按照配置进行日志采集和存储。

3.png

四、其他常用操作

  1. 导入已有审计配置

terraform命令:terraform import alicloud_log_audit.example tf-audit-test

其中exampletf-audit-test用户可自定义修改

4.png

执行完毕后,查看terraform工作目录下terraform.tfstate文件内容,即是导入的配置。

注意:

  • 如果想要将terraform import导入的配置迁移到terraform.tf配置文件中,需要手动拷贝过去,并对格式作适当调整,满足配置文件的格式要求。
  • 如果当前terraform工作目录已经执行过terrraform apply或者terraform import,此时执行terraform import会失败,需要将当前目录下的terraform.tfstate文件删除后再重新导入。


  1. 查看当前审计配置

terraform命令:terraform show

5.png


  1. 查看当前terraform工作目录下的terraform.tf配置文件与已生效(apply)的配置的差异(资源预览)

terraform命令:terraform plan

6.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
EMQ
|
2月前
|
JSON 安全 API
EMQX Enterprise 5.3 发布:审计日志、Dashboard 访问权限控制与 SSO 一站登录
EMQX Enterprise 5.3.0 版本已正式发布! 新版本带来多个企业特性的更新,包括审计日志,Dashboard RBAC 权限控制,以及基于 SSO(单点登录)的一站式登录,提升了企业级部署的安全性、管理性和治理能力。此外,新版本还进行了多项改进以及 BUG 修复,进一步提升了整体性能和稳定性。
EMQ
285 0
|
4月前
|
SQL 弹性计算 监控
构建多账号云环境的解决方案|多账号云上操作日志统一审计
操作审计(ActionTrail)是阿里云提供的云账号资源操作记录的查询和投递服务,可用于安全分析、资源变更追踪以及合规性审计等场景。企业在阿里云采用多账号的资源结构时,如何满对跨账号跨地域的云上操作日志进行统一归集留存和分析,是企业上云管云过程的必备环节。此次分享为您介绍如何使用操作审计产品进行中心化的审计,提升云上多账号操作的可控可见性,及时发现问题、响应问题,规避潜在风险。
254 0
|
4月前
|
存储 Kubernetes Cloud Native
云原生|kubernetes|apiserver审计日志的开启
云原生|kubernetes|apiserver审计日志的开启
49 0
|
5月前
|
SQL 关系型数据库 MySQL
微服务轮子项目(15) -审计日志
微服务轮子项目(15) -审计日志
47 0
|
8月前
|
存储 监控 安全
网络安全之认识日志采集分析审计系统
日志对于大家来说非常熟悉,机房中的各种系统、防火墙、交换机、路由器等等,都在不断地产生日志。无数实践告诉我们,健全的日志记录和分析系统是系统正常运营与优化以及安全事故响应的基础。我们一起来认识日志采集分析审计系统。
221 0
|
8月前
|
存储 运维 监控
mysql开启审计日志
mysql开启审计日志
330 0
|
9月前
|
存储 域名解析 弹性计算
阿里云VPC内网DNS日志正式接入SLS日志审计服务
内网DNS日志(Intranet DNS Log) 记录了指定阿里云uid下所有VPC网络内终端产生的DNS域名解析请求和应答,终端请求的这些域名既包含了配置在PrivateZone上的内网权威域名,也包含了外部公网域名。为了满足用户可以快速、简单实现多账号、多地域场景下内网DNS日志的采集、管理、中心化查询分析等需求,DNS与SLS联合开发,在SLS日志审计应用中发布一键开启内网DNS日志的功能。
阿里云VPC内网DNS日志正式接入SLS日志审计服务
|
10月前
|
SQL Oracle 关系型数据库
rman备份产生800G的审计日志(select action from gv$session )
一个客户反映,我们的备份软件在备份过程中产生了大量审计日志,多大800多G,把根分区都塞满了,日志里面都是下面这条SQL:
|
11月前
|
SQL 存储 监控
从Zabbix数据库入手,获取更详细的审计日志
从Zabbix数据库入手,获取更详细的审计日志
260 0
|
存储 数据可视化 Java
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)
473 0
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)

相关产品

  • 日志服务