密封密钥存储库

ENTERPRISE

手动密封密钥存储库

您可能需要手动密封密钥存储库,以保护其内容免受侵入者的侵害。密封的密钥存储库无法从 Web 界面访问。无法使用 密钥 API 检索密码值。取决于密钥存储库中的值的服务可能无法部署。

若要密封密钥存储库,请完成以下步骤以密封 dcos-secrets 的单个实例。如果通过 dcos config show core.dcos_url 获取的集群 URL 指向负载均衡器,并且集群中有多个管理节点,则应针对每个管理节点发出这些步骤,并且应将集群 URL 更改为各个主节点的地址。

密封的预期状态是持久的,因此在密封存储库后,dcos-secrets 重启不会拆封它 - 只有拆封存储库中描述的步骤会拆封它。

先决条件:

  1. 在终端提示符下,通过以下命令检查密钥存储库的状态。

    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
    
  2. 密钥存储库服务应返回与此类似的响应:

    {"sealed":false,"threshold":1,"shares":1,"progress":0}
    

    如果 "sealed" 的值是 true,则不完成本程序的其余部分。如果密钥存储库已经密封,则不能再次密封。

  3. 使用以下命令密封密钥存储库。

    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
    
  4. 使用此命令确认密钥存储库已密封。

    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}