Greg Nancarrow:如何将 JFrog Artifactory 与富士通企业版 Postgres 集成

Greg Nancarrow:如何将 JFrog Artifactory 与富士通企业版 Postgres 集成

💡 原文英文,约2400词,阅读约需9分钟。
📝

内容提要

本文介绍在Azure RHEL9虚拟机上,将JFrog Artifactory与富士通企业版PostgreSQL集成,并启用透明数据加密(TDE)保护Artifactory元数据,涵盖安装配置Artifactory、部署数据库、设置加密表空间与密钥库、创建用户数据库及扩展磁盘分区等步骤。

🔎

延伸解读

为何选择富士通企业版Postgres

JFrog官方推荐PostgreSQL作为Artifactory的首选数据库。富士通企业版Postgres完全兼容PostgreSQL,并额外提供透明数据加密等安全功能。集成后,Artifactory存储在数据库中的元数据(如安全配置、访问控制和供应链情报)可被加密保护,防止数据库文件或磁盘被盗时数据泄露。

单节点部署的局限与生产建议

本文演示的是在单台Azure RHEL9虚拟机上安装Artifactory和富士通企业版Postgres的简化配置。作者明确指出,生产环境应考虑高可用架构、将数据库部署在独立服务器、为JFrog GUI和Artifactory与数据库之间的通信配置SSL,并使用独立的Azure数据磁盘或云存储。

透明数据加密的实施要点

启用TDE需定义加密表空间,并设置主加密密钥。密钥由口令保护并存储在本地keystore文件中,也可通过KMIP协议存放到远程密钥管理服务器。配置时需在postgresql.conf中指定keystore_location、加密算法和默认表空间,并确保密钥库目录仅postgres用户可访问。

安装前的磁盘分区调整

Azure Linux VM创建后不会自动扩展分区和文件系统以匹配OS磁盘大小,需手动使用growpart、pvresize、lvextend和xfs_growfs等命令调整。本文示例将根分区扩至15GB、/usr扩至20GB、/tmp扩至8GB,新增8GB交换分区和24GB的/pgdata逻辑卷,剩余空间分配给/var,并需持久化挂载和交换配置。

❓

Q&A

如何将 JFrog Artifactory 与富士通企业版 Postgres 集成?

在 Azure RHEL9 虚拟机上,先安装 JFrog Artifactory,再安装富士通企业版 Postgres,配置数据库连接,并可选启用透明数据加密(TDE)来加密 Artifactory 元数据。

为什么选择富士通企业版 Postgres 而不是标准 PostgreSQL 来配合 Artifactory?

因为富士通企业版 Postgres 与 PostgreSQL 兼容,并且提供额外的安全功能,如透明数据加密(TDE),可以加密存储在数据库中的 Artifactory 元数据(如安全配置、访问控制和供应链情报)。

如何为 Artifactory 数据库启用透明数据加密(TDE)?

在 postgresql.conf 中设置 keystore_location、tablespace_encryption_algorithm 为 AES256,并指定 default_tablespace 为加密表空间;创建密钥库和表空间目录并设置权限;启动数据库后,使用 pgx_set_master_key 设置主加密密钥,并用 pgx_keystore 启用自动打开。

在 Azure RHEL9 虚拟机上安装富士通企业版 Postgres 需要哪些前提条件?

需要安装一系列系统软件包,如 alsa-lib、audit-libs、bzip2-libs、cyrus-sasl-lib、glibc、libnsl2、libicu、libgcc、libstdc++、liburing、libzstd、lz4-libs、ncurses-libs、net-tools、nss-softokn-freebl、numactl-libs、protobuf-c、unzip、xz-libs、zlib 等。

如何配置 Artifactory 以连接到富士通企业版 Postgres 数据库?

编辑 /opt/jfrog/artifactory/var/etc/system.yaml 文件,在 shared -> database 下设置 type 为 postgresql,driver 为 org.postgresql.Driver,url 为 jdbc:postgresql://localhost:27500/artifactory,并指定用户名和密码。

如何扩展 Azure RHEL9 虚拟机的磁盘分区以充分利用空间?

使用 growpart 和 pvresize 扩展物理卷,然后使用 lvextend 和 xfs_growfs 调整逻辑卷和文件系统大小,例如将根分区扩展到 15G,/usr 到 20G,/tmp 到 8G,添加交换分区,创建 /pgdata 逻辑卷,并将剩余空间分配给 /var。最后通过脚本持久化挂载和交换分区。

🏷️

标签

➡️

继续阅读