13.4. 配置示例
以下是配置密码库和凭据存储的示例:该流程涉及两个部分:
- 创建凭据存储和密码库,凭据存储和 vault 密码采用纯文本。
-
更新凭据存储和 vault,使密码使用
elytron-tool.sh
提供的掩码。
在本例中,使用的测试目标是使用 BIND DN 凭证的 LDAP 实例:secret12
。目标使用域 ldaptest
中的用户联合来映射。
13.4.1. 在没有掩码的情况下配置凭证存储和库 复制链接链接已复制到粘贴板!
您可以创建凭证存储和 vault 密码以纯文本形式的密码库。
先决条件
-
正在运行的 LDAP 实例具有
BIND DN 凭证:secret12
。 -
使用默认密钥解析器时,别名使用 <realm-name>_< key-value> 格式。在本例中,实例在 realm
ldaptest
中运行,而ldaptest_
是与该域中的值对应的别名。ldap_secret
解析器用 realm 和密钥名称中的双下划线字符替换下划线字符。例如,对于键 ldaptest_ldap_secret
,最终密钥是 ldaptest_ldap_secret
。
流程
创建 Elytron 凭据存储。
[standalone@localhost:9990 /] /subsystem=elytron/credential-store=test-store:add(create=true, location=/home/test/test-store.p12, credential-reference={clear-text=testpwd1!},implementation-properties={keyStoreType=PKCS12})
[standalone@localhost:9990 /] /subsystem=elytron/credential-store=test-store:add(create=true, location=/home/test/test-store.p12, credential-reference={clear-text=testpwd1!},implementation-properties={keyStoreType=PKCS12})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在凭据存储中添加一个别名。
/subsystem=elytron/credential-store=test-store:add-alias(alias=ldaptest_ldap__secret,secret-value=secret12)
/subsystem=elytron/credential-store=test-store:add-alias(alias=ldaptest_ldap__secret,secret-value=secret12)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,解析器如何使键
ldaptest_ldap__secret
使用双下划线。列出凭据存储中的别名,以检查 Elytron 生成的密钥存储的内容。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Single Sign-On 中配置 vault SPI。
/subsystem=keycloak-server/spi=vault:add(default-provider=elytron-cs-keystore) /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>testpwd1!, keyStoreType=>PKCS12})
/subsystem=keycloak-server/spi=vault:add(default-provider=elytron-cs-keystore) /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>testpwd1!, keyStoreType=>PKCS12})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此时,密码库和凭据存储密码不会被屏蔽。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 LDAP 供应商中,将
binDN 凭据
替换为${vault.ldap_secret}
。 测试您的 LDAP 连接。
LDAP Vault
13.4.2. 屏蔽凭据存储和 vault 中的密码 复制链接链接已复制到粘贴板!
现在,您可以更新凭据存储和 vault,使其使用密码使用 elytron-tool.sh
提供的掩码。
使用
salt
和迭代
参数的值创建屏蔽密码:EAP_HOME/bin/elytron-tool.sh mask --salt SALT --iteration ITERATION_COUNT --secret PASSWORD
$ EAP_HOME/bin/elytron-tool.sh mask --salt SALT --iteration ITERATION_COUNT --secret PASSWORD
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
elytron-tool.sh mask --salt 12345678 --iteration 123 --secret testpwd1! MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123
elytron-tool.sh mask --salt 12345678 --iteration 123 --secret testpwd1! MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Elytron 凭据存储配置以使用屏蔽的密码。
/subsystem=elytron/credential-store=cs-store:write-attribute(name=credential-reference.clear-text,value="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123")
/subsystem=elytron/credential-store=cs-store:write-attribute(name=credential-reference.clear-text,value="MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Red Hat Single Sign-On vault 配置以使用屏蔽的密码。
/subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:remove() /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>”MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123”, keyStoreType=>PKCS12})
/subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:remove() /subsystem=keycloak-server/spi=vault/provider=elytron-cs-keystore:add(enabled=true, properties={location=>/home/test/test-store.p12, secret=>”MASK-3BUbFEyWu0lRAu8.fCqyUk;12345678;123”, keyStoreType=>PKCS12})
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,库和凭证存储被屏蔽:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
现在,您可以使用
${vault.ldap_secret}
来测试与 LDAP 的连接。