nixyslab/nxs-data-anonymizer!photo_2023-07-28_15-28-52
维护者:
Nixys LLC
获取帮助:
Nixys Support Bot、维护者*** 或 GitHub Issues
提交issue:
[***]
Dockerfile 链接v1.15.0, latestnxs-data-anonymizer 是一款用于***化 PostgreSQL 和 MySQL/MariaDB/Percona 数据库转储的工具。
您可以直接从控制台使用该Docker镜像,或将其集成到CI/CD流程中。
您也可以将该工具作为二进制文件使用。详情参见 GitHub 仓库。
使用前,您需要检查数据库结构并设置 nxs-data-anonymizer 配置,以匹配需要***化的敏感数据。
例如,若需实时将生产环境的PostgreSQL数据库***化到开发环境(需安装PostgreSQL客户端),可使用以下命令:
consoledocker run -it -v "/path/to/nxs-data-anonymizer.conf:/nxs-data-anonymizer.conf" nixyslab/nxs-data-anonymizer sh -c 'export PGPASSWORD=password; pg_dump -U postgres prod | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | psql -U postgres dev'
本节介绍如何将nxs-data-anonymizer集成到GitLab CI中。您可将以下任务添加到 .gitlab-ci.yml 并根据需求调整。
本节描述的任务将执行以下操作:
main 分支设置特定标签时运行production 数据库转储,***化后上传至S3存储桶任务示例:
yamlanonymize: stage: anonymize image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_PROD} PG_USER: ${PG_USER_PROD} PGPASSWORD: ${PG_PASS_PROD} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd - echo "${NXS_DA_CFG}" > /nxs-data-anonymizer.conf script: - pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz only: - /^v.*$/ except: - branches - merge_requests
本节描述的任务将执行以下操作:
stage 分支的手动任务stage 数据库任务示例:
yamlrestore-stage: stage: restore image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_STAGE} PG_USER: ${PG_USER_STAGE} PGPASSWORD: ${PG_PASS_STAGE} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd script: - s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} only: - stage when: manual
本节描述上述GitLab CI任务示例中使用的变量。
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
本节介绍如何将nxs-data-anonymizer集成到GitHub Actions中。您可将以下任务添加到 .github 工作流并根据需求调整。
本节描述的任务可执行以下操作:
production 数据库转储,***化后上传至S3存储桶yamlon: push: tags: - v*.* jobs: anonymize: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_PROD }} PG_USER: ${{ secrets.PG_USER_PROD }} PGPASSWORD: ${{ secrets.PG_PASS_PROD }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd echo "${{ secrets.NXS_DA_CFG }}" > /nxs-data-anonymizer.conf - name: Anonymize run: | pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz
本节描述的任务将执行以下操作:
stage 数据库yamlon: workflow_dispatch jobs: restore-stage: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_STAGE }} PG_USER: ${{ secrets.PG_USER_STAGE }} PGPASSWORD: ${{ secrets.PG_PASS_STAGE }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd - name: Restore run: | s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE}
本节描述上述GitHub Actions任务示例中使用的密钥。
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
nxs-data-anonymizer 是开源软件,基于 Apache License 2.0 许可发布。
与所有Docker镜像一样,此镜像可能包含其他软件,这些软件可能受其他许可证约束(例如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保对该镜像的任何使用符合其中包含的所有软件的相关许可证。===SHORT_DESC=== nxs-data-anonymizer是一款用于***化PostgreSQL和MySQL/MariaDB/Percona数据库转储的工具,可保护敏感数据,适用于开发、测试环境数据准备或CI/CD流程集成。 ===FULL_DESC=== !photo_2023-07-28_15-28-52
维护者:
Nixys LLC
获取帮助:
Nixys Support Bot、维护者*** 或 GitHub Issues
提交issue:
[***]
Dockerfile 链接v1.15.0, latestnxs-data-anonymizer 是一款用于***化 PostgreSQL 和 MySQL/MariaDB/Percona 数据库转储的工具。
您可以直接从控制台使用该Docker镜像,或将其集成到CI/CD流程中。
您也可以将该工具作为二进制文件使用。详情参见 GitHub 仓库。
使用前,您需要检查数据库结构并设置 nxs-data-anonymizer 配置,以匹配需要***化的敏感数据。
例如,若需实时将生产环境的PostgreSQL数据库***化到开发环境(需安装PostgreSQL客户端),可使用以下命令:
consoledocker run -it -v "/path/to/nxs-data-anonymizer.conf:/nxs-data-anonymizer.conf" nixyslab/nxs-data-anonymizer sh -c 'export PGPASSWORD=password; pg_dump -U postgres prod | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | psql -U postgres dev'
本节介绍如何将nxs-data-anonymizer集成到GitLab CI中。您可将以下任务添加到 .gitlab-ci.yml 并根据需求调整。
本节描述的任务将执行以下操作:
main 分支设置特定标签时运行production 数据库转储,***化后上传至S3存储桶任务示例:
yamlanonymize: stage: anonymize image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_PROD} PG_USER: ${PG_USER_PROD} PGPASSWORD: ${PG_PASS_PROD} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd - echo "${NXS_DA_CFG}" > /nxs-data-anonymizer.conf script: - pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz only: - /^v.*$/ except: - branches - merge_requests
本节描述的任务将执行以下操作:
stage 分支的手动任务stage 数据库任务示例:
yamlrestore-stage: stage: restore image: nixyslab/nxs-data-anonymizer:latest variables: GIT_STRATEGY: none PG_HOST: ${PG_HOST_STAGE} PG_USER: ${PG_USER_STAGE} PGPASSWORD: ${PG_PASS_STAGE} before_script: - echo "${S3CMD_CFG}" > ~/.s3cmd script: - s3cmd --no-progress --quiet get s3://bucket/anondump.sql.gz - | gunzip | psql -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} only: - stage when: manual
本节描述上述GitLab CI任务示例中使用的变量。
| 变量 | 描述 |
|---|---|
S3CMD_CFG | S3存储配置 |
PG_SCHEMA | PostgreSQL模式 |
PG_DATABASE | PostgreSQL数据库名称 |
| 变量 | 描述 |
|---|---|
NXS_DA_CFG | nxs-data-anonymizer配置 |
PG_HOST_PROD | PostgreSQL主机 |
PG_USER_PROD | PostgreSQL用户 |
PG_PASS_PROD | PostgreSQL密码 |
| 变量 | 描述 |
|---|---|
PG_HOST_STAGE | PostgreSQL主机 |
PG_USER_STAGE | PostgreSQL用户 |
PG_PASS_STAGE | PostgreSQL密码 |
本节介绍如何将nxs-data-anonymizer集成到GitHub Actions中。您可将以下任务添加到 .github 工作流并根据需求调整。
本节描述的任务可执行以下操作:
production 数据库转储,***化后上传至S3存储桶yamlon: push: tags: - v*.* jobs: anonymize: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env: PG_HOST: ${{ secrets.PG_HOST_PROD }} PG_USER: ${{ secrets.PG_USER_PROD }} PGPASSWORD: ${{ secrets.PG_PASS_PROD }} PG_SCHEMA: ${{ secrets.PG_SCHEMA }} PG_DATABASE: ${{ secrets.PG_DATABASE }} steps: - name: Create services configs run: | echo "${{ secrets.S3CMD_CFG }}" > ~/.s3cmd echo "${{ secrets.NXS_DA_CFG }}" > /nxs-data-anonymizer.conf - name: Anonymize run: | pg_dump -h ${PG_HOST} -U ${PG_USER} --schema=${PG_SCHEMA} ${PG_DATABASE} | /nxs-data-anonymizer -t pgsql -c /nxs-data-anonymizer.conf | gzip | s3cmd put - s3://bucket/anondump.sql.gz
本节描述的任务将执行以下操作:
stage 数据库yamlon: workflow_dispatch jobs: restore-stage: runs-on: ubuntu-latest container: image: nixyslab/nxs-data-anonymizer:latest env:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务