diff --git a/docs/en/user-guide/appendix-database-proxy.md b/docs/en/user-guide/appendix-database-proxy.md new file mode 100644 index 00000000..1c078379 --- /dev/null +++ b/docs/en/user-guide/appendix-database-proxy.md @@ -0,0 +1,35 @@ +## Using EC2 to configure database agents + +Create one EC2 instance as the database proxy. Install Nginx to set port forwarding. For example: + + +### Step 1:Install +`sudo yum install nginx nginx-mod-stream` +### Step 2:Start +`sudo systemctl start nginx` +### Step 3:View status +`systemctl status nginx` +### Step 4:Edit /etc/nginx/nginx.conf +`sudo vim /etc/nginx/nginx.conf` +Add content similar to the following at the end of the file +``` +stream { + upstream backend1 { + server 10.0.34.171:3306 max_fails=3 fail_timeout=30s; # Server address can use domain name + } + server { + listen 3306; + proxy_connect_timeout 1s; + proxy_pass backend1; + } +} +``` +### Step 5: Reload configuration file +`sudo nginx -s reload` +### Step 6: Add 2 security groups to the instance +Add Rule to the Proxy security group to allow all TCP entries from the following two security groups:`SDPS-CustomDB`、`StackName-RDSRDSClient` +### Step 7: (Optional) Is the local testing agent effective +``` +sudo yum install telnet +telnet 127.0.0.1 7001 +``` diff --git a/docs/en/user-guide/data-catalog-create-jdbc-db-proxy.md b/docs/en/user-guide/data-catalog-create-jdbc-database-proxy.md similarity index 98% rename from docs/en/user-guide/data-catalog-create-jdbc-db-proxy.md rename to docs/en/user-guide/data-catalog-create-jdbc-database-proxy.md index 98c608f5..7c5d3cf7 100644 --- a/docs/en/user-guide/data-catalog-create-jdbc-db-proxy.md +++ b/docs/en/user-guide/data-catalog-create-jdbc-database-proxy.md @@ -2,7 +2,7 @@ When your RDS/database is in a private network and there are strict IP restrictions (only fixed IPs are allowed for access), you need to connect to the data source in this way. ### Prerequisites - Maintain Network Connectivity -1. Please ensure when you [add an AWS account](data-source.md), choose the JDBC method, then proceed to [Connect to Data Source - RDS](data-catalog-create-jdbc-rds-proxy.md) for operations. +1. Please ensure when you [add an AWS account](data-source.md), choose the JDBC method, then proceed to [Connect to Data Source - RDS](data-catalog-create-jdbc-database-proxy.md) for operations. 2. Create a Database Proxy: Create an EC2 in the VPC where the solution resides to act as a proxy machine. Refer to the steps in: [Appendix: Creating a Database Proxy](appendix-database-proxy.md). 3. Add RDS to the whitelist: Add the EC2 IP to the Inbound Rule of the Security Group for the database to be scanned. diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml index 54c474a2..9c092a8c 100644 --- a/docs/mkdocs.en.yml +++ b/docs/mkdocs.en.yml @@ -33,7 +33,7 @@ nav: - Connect to Glue: user-guide/data-catalog-create-glue.md - Connect to JDBC: user-guide/data-catalog-create-jdbc.md - Connect to JDBC(Redshift): user-guide/data-catalog-create-jdbc-redshift.md - - Connect to JDBC(RDS Proxy): user-guide/data-catalog-create-jdbc-rds-proxy.md + - Connect to JDBC(RDS Proxy): user-guide/data-catalog-create-jdbc-database-proxy.md - Step2:Define classification template: user-guide/data-identifiers.md - Step3:Run sensitive data discovery jobs: - Create job: user-guide/discovery-job-create.md @@ -50,6 +50,7 @@ nav: - Appx.Permissions of CloudFormation Stacks: user-guide/appendix-permissions.md - Appx.Add accounts via AWS Organization: user-guide/appendix-organization.md - Appx.EU PII identifiers(GDPR reference): user-guide/appendix-build-in-identifiers-eu-gdpr.md + - Appx.Create database proxy: user-guide/appendix-database-proxy.md - FAQ: faq.md - Troubleshooting: troubleshooting.md - Uninstall the solution: uninstall.md diff --git a/docs/mkdocs.zh.yml b/docs/mkdocs.zh.yml index 558cbe63..59125f62 100644 --- a/docs/mkdocs.zh.yml +++ b/docs/mkdocs.zh.yml @@ -34,7 +34,7 @@ nav: - 连接Glue: user-guide/data-catalog-create-glue.md - 连接JDBC: user-guide/data-catalog-create-jdbc.md - 连接JDBC(Redshift): user-guide/data-catalog-create-jdbc-redshift.md - - 连接JDBC(RDS Proxy): user-guide/data-catalog-create-jdbc-rds-proxy.md + - 连接JDBC(RDS Proxy): user-guide/data-catalog-create-jdbc-database-proxy.md - 第2步:定义数据分类模板: user-guide/data-identifiers.md - 第3步:运行敏感数据发现任务: - 创建作业: user-guide/discovery-job-create.md @@ -51,6 +51,7 @@ nav: - 附录:CloudFormation堆栈的权限: user-guide/appendix-permissions.md - 附录:通过AWS Organization添加帐户: user-guide/appendix-organization.md - 附录:EU个人信息标识符(GDPR参考): user-guide/appendix-build-in-identifiers-eu-gdpr.md + - 附录:创建数据库代理: user-guide/appendix-database-proxy.md - 常见问题: faq.md - 故障排查: troubleshooting.md - 卸载解决方案: uninstall.md diff --git a/docs/zh/architecture-overview/architecture-details.md b/docs/zh/architecture-overview/architecture-details.md deleted file mode 100644 index a2095227..00000000 --- a/docs/zh/architecture-overview/architecture-details.md +++ /dev/null @@ -1,30 +0,0 @@ -# 解决方案如何运作 - -本节描述了构成此解决方案的组件和 AWS 服务以及高层次系统设计。 - -![高层次系统设计](docs/../../images/system-design.png) -**AWS 上的敏感数据保护高层次系统设计** - -如图所示,集中式敏感数据治理帐户是管理员帐户。解决方案用户(通常为安全审计员)可以在部署 **Admin** 堆栈后通过 Web 门户访问解决方案。用户可以在部署 **Agent** 堆栈并登录 Web 门户后浏览数据目录并在监控帐户中执行敏感数据检测作业。 - -多个监控帐户与管理员帐户连接,具有数据源访问和作业执行权限,以便管理员帐户可以在指定的监控帐户中调用作业处理器模型进行敏感数据检测。 - -## 管理员帐户中的模块 - -- **Web 门户(UI)**:解决方案管理员或普通用户可以通过 Web 门户访问解决方案。它提供安全的用户访问管理和解决方案的 Web UI。 - -- **数据源管理(DSM)**:DSM 负责通过数据源检测器从监控帐户中检索数据源并存储数据源结构。用户可以探索监控帐户中的数据存储,例如 S3 存储桶和 RDS 实例。 - -- **数据目录管理(DCM)**:DCM 可以发现 DSM 中数据源的最新模式(通常称为元数据)。该模式包括表列等信息在 RDS 数据库中以及敏感数据检测作业运行后的敏感数据检测结果。 - -- **作业控制器(JC)**:作业控制器负责在监控帐户中执行检测作业并将检测结果收集回管理员帐户。它可以配置作业按用户定义的时间表或根据需要运行。 - -- **模板配置(TC)**:检测模板存储在 TC 模型中。它包含内置模板和自定义模板。JC 可以检索模板以运行作业处理器。 - -- **帐户管理(AM)**:监控 AWS 帐户由 AM 模型管理。 - -## 监控帐户中的模块 - -- **作业处理器**:作业处理器是敏感数据检测的运行容器,由作业控制器调用。作业处理器将原始数据读取到检测引擎进行检测,并将分析结果和运行状态发送到作业控制器。 - -- **检测引擎**:检测引擎模型是具有 AI/ML 支持功能的核心敏感数据检测引擎。它从作业处理器接收数据,使用预先训练的 ML 模型或模式识别敏感数据类型。 diff --git a/docs/zh/user-guide/appendix-database-proxy.md b/docs/zh/user-guide/appendix-database-proxy.md index 1937ff12..23ee86fd 100644 --- a/docs/zh/user-guide/appendix-database-proxy.md +++ b/docs/zh/user-guide/appendix-database-proxy.md @@ -1,20 +1,35 @@ -## 配置EC2数据库代理 +## 使用EC2配置数据库代理 -创建1个EC2实例作为数据库代理。安装iptables 设置端口转发。例如: +创建1个EC2实例作为数据库代理。安装Nginx 设置端口转发。例如: -''' -Step1: 安装 -> sudo yum install iptables -Step2: 启用IP转发。在Linux上,IP转发通常默认禁用。要启用它,编辑/etc/sysctl.conf文件,修改或添加以下内容 -> net.ipv4.ip_forward = 1 -Step3: 应用新的sysctl设置 -> sudo sysctl -p /etc/sysctl.conf -Step4: 设置转发规则 -> # 其他机器,只能是IP,不能是域名 -> sudo iptables -t nat -A PREROUTING -p tcp --dport 444 -j DNAT --to 192.168.1.100:3000 -> sudo iptables -t nat -A POSTROUTING -j MASQUERADE -Step5: 保存规则以便重启有效 -> sudo service iptables save -Step6: 查看NAT规则 -> sudo iptables -L -n -v --line-numbers -t nat -''' \ No newline at end of file + +### Step 1:安装 +`sudo yum install nginx nginx-mod-stream` +### Step 2:启动 +`sudo systemctl start nginx` +### Step 3:查看状态 +`systemctl status nginx` +### Step 4:编辑/etc/nginx/nginx.conf文件 +`sudo vim /etc/nginx/nginx.conf` +在文件末尾添加类似以下内容 +``` +stream { + upstream backend1 { + server 10.0.34.171:3306 max_fails=3 fail_timeout=30s; # server地址可以使用域名 + } + server { + listen 3306; + proxy_connect_timeout 1s; + proxy_pass backend1; + } +} +``` +### Step 5: 重新加载配置文件 +`sudo nginx -s reload` +### Step 6: 为实例添加安全组 +Proxy安全组添加Rule,允许以下2个安全组的所有TCP进入:`SDPS-CustomDB`、`堆栈名-RDSRDSClient` +### Step 7: (可选)本地测试代理是否生效 +``` +sudo yum install telnet +telnet 127.0.0.1 7001 +``` diff --git a/docs/zh/user-guide/data-catalog-create-jdbc-db-proxy.md b/docs/zh/user-guide/data-catalog-create-jdbc-database-proxy.md similarity index 98% rename from docs/zh/user-guide/data-catalog-create-jdbc-db-proxy.md rename to docs/zh/user-guide/data-catalog-create-jdbc-database-proxy.md index 41e544a5..86475d9e 100644 --- a/docs/zh/user-guide/data-catalog-create-jdbc-db-proxy.md +++ b/docs/zh/user-guide/data-catalog-create-jdbc-database-proxy.md @@ -2,7 +2,7 @@ 当您的RDS/数据库在私有网络,且对于IP有严格的限制(只允许固定IP进行接入),您需要通过这种方式进行数据源连接。 ### 前提条件 - 保持网络连通性 -1. 请确认您[添加AWS账户](data-source.md)时,选择JDBC方式,请转至[连接到数据源 - RDS](data-catalog-create-jdbc-rds-proxy.md)进行操作。 +1. 请确认您[添加AWS账户](data-source.md)时,选择JDBC方式,请转至[连接到数据源 - RDS](data-catalog-create-jdbc-database-proxy.md)进行操作。 2. 创建数据库代理(Proxy):在方案所在VPC创建EC2作为代理机器,参考步骤详见:[附录:创建数据库代理](appendix-database-proxy.md)。 3. 添加RDS访问白名单:将EC2的IP添加至待检测数据库的Security Group的Inbound Rule。 diff --git a/docs/zh/user-guide/data-catalog-create-jdbc-redshift.md b/docs/zh/user-guide/data-catalog-create-jdbc-redshift.md index 1c798ba3..623dc74b 100644 --- a/docs/zh/user-guide/data-catalog-create-jdbc-redshift.md +++ b/docs/zh/user-guide/data-catalog-create-jdbc-redshift.md @@ -3,7 +3,7 @@ 当您希望对某个Redshift Cluster进行敏感数据扫描时,您可以将Redshift的database作为数据源。 ### 前提条件 - 保持网络连通性 -1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-rds-proxy.md)进行操作。 +1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-database-proxy.md)进行操作。 2. 准备好Redshift的连接凭证(用户名/密码) !!! Info "如何获得Redshift凭证" diff --git a/docs/zh/user-guide/data-catalog-create-jdbc.md b/docs/zh/user-guide/data-catalog-create-jdbc.md index 182c857d..490d45ac 100644 --- a/docs/zh/user-guide/data-catalog-create-jdbc.md +++ b/docs/zh/user-guide/data-catalog-create-jdbc.md @@ -14,7 +14,7 @@ | Amazon RDS for MariaDB| ### 前提条件 - 保持网络连通性 -1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-db-proxy.md)进行操作。 +1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-database-proxy.md)进行操作。 2. 请确保待检测数据库的inbound rule上有所在安全组的自引用, 操作详见[官网文档](https://docs.aws.amazon.com/glue/latest/dg/setup-vpc-for-glue-access.html)。 3. 准备好Redshift的连接凭证(用户名/密码) diff --git a/docs/zh/user-guide/data-catalog-create-rds.md b/docs/zh/user-guide/data-catalog-create-rds.md index 2e3d3dff..13d0ae2e 100644 --- a/docs/zh/user-guide/data-catalog-create-rds.md +++ b/docs/zh/user-guide/data-catalog-create-rds.md @@ -1,7 +1,7 @@ # 连接到数据源 - RDS ### 前提条件 - 保持网络连通性 -1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-rds-proxy.md)进行操作。 +1. 请确认您[添加AWS账户](data-source.md)时,选择的是CloudFormation方式。如果您添加账户时,选择JDBC方式,请转至[通过EC2代理连接数据库](data-catalog-create-jdbc-database-proxy.md)进行操作。 2. 请确保待检测RDS的inbound rule上有所在安全组的自引用, 操作详见[官网文档](https://docs.aws.amazon.com/glue/latest/dg/setup-vpc-for-glue-access.html)。 3. 请确保Amazon RDS 实例所在VPC至少要有1个私有子网, 4. 请确保RDS所在VPC满足以下条件之一: 1) 它具有 [VPC NAT 网关](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)。 diff --git a/docs/zh/user-guide/get-started.md b/docs/zh/user-guide/get-started.md index 5defe77a..135d3fd5 100644 --- a/docs/zh/user-guide/get-started.md +++ b/docs/zh/user-guide/get-started.md @@ -2,6 +2,6 @@ 成功[部署解决方案](../deployment/deployment.md)后,您可以访问控制台来检测敏感数据。 - **第1步**:[连接数据源](data-source.md) 添加 AWS 账户并创建数据目录。 -- **第2步**:[定义分类模板](data-classification-template.md) 通过管理数据标识符在模板中定义敏感数据。 +- **第2步**:[定义分类模板](data-identifiers.md) 通过管理数据标识符在模板中定义敏感数据。 - **第3步**:[运行敏感数据发现作业](discovery-job-create.md) 通过创建和管理数据发现作业来检测敏感数据。 - **第4步**:[查看结果](data-catalog-sync.md) 通过数据目录可以看到数据源的元数据(如表结构)查看已更新的数据目录,并查看“摘要”页面检查仪表板。 \ No newline at end of file