Kerberos 集成
对应的官方文档地址
Kerberos 集成身份验证允许 Bitwarden 用户在外部 MSSQL 数据库中使用集成的 AD 身份验证。
keytab 文件
Bitwarden 服务器使用导出的 keytab
文件来验证域名。
1、从 Windows 域控制器中输入以下代码示例(根据需要可能会有所不同):
ktpass /princ bitwarden@<EXAMPLE.DOMAIN> /mapuser "bitwarden" /pass super_secure_password_here /out bitwarden.keytab /crypto all /ptype KRB5_NT_PRINCIPAL /mapop set
2、文件生成后,将文件复制到下一章节中的 Bitwarden 服务器位置。
Bitwarden 配置
接下来,创建 Bitwarden 配置:
1、创建 Kerberos 目录:
mkdir /opt/bitwarden/bwdata/kerberos
2、将两个文件放入该目录:
上一章节生成的
keytab
文件krb5.conf
文件(示例如下)
3、创建 krb5.conf
文件:
nano /opt/bitwarden/bwdata/kerberos/krb5.conf
这里是一个示例文件。
这里是一个示例 TEST 文件。
检查这些值是否与您自己的值一致,以及是否可以从 Bitwarden 服务器访问 kdc
和 admin_server
。
更新 Bitwarden
global.override.env
要更新 Bitwarden,必须在 global.override.env
文件中添加一个额外的环境变量。
1、访问 global.override.env
:
nano ~/global.override.env/
2、在 global.override.env
中添加以下变量:
globalSettings__kerberosUser=bitwarden
SQL 连接字符串
替换 SQL 连接字符串,指向外部数据库并使用集成身份验证。 更改 SQL 服务器主机名和数据库名:
globalSettings__sqlServer__connectionString="Data Source=tcp:example-sql-server.example.domain,1433;Initial Catalog=vault;Persist Security Info=False;Integrated Security=true;Multiple Active Result Sets=False;Connect Timeout=30;Encrypt=True;Trust Server Certificate=True"
Docker 更新
完成前面的设置步骤后,主机操作系统上就应该存在此配置文件了。接下来,修改 Bitwarden 的 Docker Compose 配置,为相关容器添加额外的卷挂载。这将确保在更新和更改主 docker-compose 文件后,配置仍能保留。Compose 提供了一个 override
文件,可以将你的本地变更合并到标准的 Bitwarden 配置中。
1、创建 override 文件:
nano /opt/bitwarden/bwdata/docker/docker-compose.override.yml
2、标准配置包括以下内容:
services:
admin:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
sso:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
identity:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
api:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
events:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
3、如果使用 SCIM,还必须包括:
scim:
volumes:
- ../kerberos:/etc/bitwarden/kerberos
4、完成后,保存文件。
启动 Bitwarden
设置完成后,您就可以启动 Bitwarden 了。如果尚未重新启动 Bitwarden 容器,请在设置完成后重新启动它:
./bitwarden restart
admin
容器将填充新的外部 MSSQL 数据库。如果您在内置的 mssql
容器中存储了任何信息,则需要通过数据库备份和还原或导出/导入将其迁移到新的外部数据库。
最后更新于