您可能需要手动密封密钥存储库,以保护其内容免受侵入者的侵害。密封的密钥存储库无法从 Web 界面访问。无法使用 [密钥 API] 检索密码值。(/mesosphere/dcos/cn/2.1/security/ent/secrets/secrets-api/). 取决于密钥存储库中的值的服务可能无法部署。
若要密封密钥存储库,请完成以下步骤以密封 的单个实例。dcos-secrets
. 如果通过 dcos config show core.dcos_url
获取的群集 URL 指向负载均衡器,并且群集中有多个主节点,则应针对每个主节点发出这些步骤,并且应将群集 URL 更改为各个主节点的地址。
密封的预期状态是持久的;在密封存储库后,重启 dcos-secrets
不会拆封它。只有 拆封存储库 中所述的步骤才可以拆封它。
前提条件:
- DC/OS CLI 已安装
- 通过 作为超级用户登录到 DC/OS CLI
dcos auth login
- 已安装了 GNU Privacy Guard (GPG)
- 必须遵守 下载根证书中的步骤才能发布此部分的
curl
命令。
-
在终端提示符下,通过以下命令检查密钥存储库的状态。
curl --cacert dcos-ca.crt -H "Authorization: token=$(dcos config show core.dcos_acs_token)" $(dcos config show core.dcos_url)/secrets/v1/seal-status/default
-
密钥存储库服务应返回与此类似的响应:
{"sealed":false,"threshold":1,"shares":1,"progress":0}
如果
"sealed"
的值是true
,则不完成本程序的其余部分。如果密钥存储库已经密封,则不能再次密封。 -
使用以下命令密封密钥存储库。
curl -X PUT --cacert dcos-ca.crt -H "Authorization: token=$(dcos config show core.dcos_acs_token)" $(dcos config show core.dcos_url)/secrets/v1/seal/default
-
使用此命令确认密钥存储库已密封。
curl --cacert dcos-ca.crt -H "Authorization: token=$(dcos config show core.dcos_acs_token)" $(dcos config show core.dcos_url)/secrets/v1/seal-status/default
应返回以下 JSON:
{"sealed":true,"threshold":1,"shares":1,"progress":0}