Docs 菜单
Docs 主页
/ /

创建单个密钥保管库配置

创建一个 Key Vault 配置, Ops Manager使用该配置从 HashiCorp Vault 读取凭证。

要求调用此端点的 API密钥具有Global Owner 角色。

基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/admin

POST /keyVault

此端点不使用 HTTP 请求路径参数。

以下查询参数为可选参数:

名称
类型
必要性
说明
默认

pretty

布尔

Optional

指示响应正文是否以 prettyprint 格式表示的标志。

false

envelope

布尔

Optional

指示是否将响应包装在信封中的标志。

某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true

对于返回一个结果的端点,响应体包括:

  • status: HTTP 响应代码

  • content:预期响应正文

false

名称
类型
必要性
说明

FriendlyName

字符串

必需

标识此密钥保管库配置的人类可读标签。 Ops Manager会在 Key Vault 列表和 Vault Name字段中显示此值。

类型

字符串

必需

密钥保管库提供商类型。 Ops Manager仅接受 HASHI_CORP,它代表 HashiCorp Vault。

url

字符串

必需

Ops Manager连接到的 HashiCorp Vault服务器的地址,例如 https://localhost:8200/

auth

对象

必需

Ops Manager用于连接到 HashiCorp Vault 的身份验证详细信息。

auth. Mechanism

字符串

必需

Ops Manager用于连接到 HashiCorp Vault 的身份验证方法。 Ops Manager接受以下值:

  • TOKEN

  • JWT

auth.secret

字符串

必需

Ops Manager用于向 HashiCorp Vault 进行身份验证的档案。

auth.mechanismTOKEN 时,将此值设立为 Vault 令牌。当auth.mechanismJWT 时,将此值设立为用于对 JWT 进行签名的 PEM 格式的 RSA 私钥。

Ops Manager会对该值进行静态加密,并在API响应中对其进行编辑。

auth.jwtClaims

对象

可选的

Ops Manager从 HashiCorp Vault 请求 JWT 登录时发送的声明。当auth.mechanismJWT 时为必填项。包括userrole 声明。

customCertificates

阵列

Optional

Ops Manager在连接到 HashiCorp Vault服务器时用于 TLS 验证的自定义证书颁发机构证书列表。

customCertificates[n].filename

字符串

可选的

标识证书颁发机构 PEM文件的名称。对于 customCertificates中的每个条目都是必需的。

customCertificates[n].certString

字符串

可选的

证书颁发机构 PEM文件的内容。对于 customCertificates中的每个条目都是必需的。 Ops Manager在API响应中编辑该值。

名称
类型
说明

id

字符串

Ops Manager为此 Key Vault 配置生成的唯一标识符。当您配置 S3 兼容存储快照存储以使用此密钥保管库时,请将此值用作 vaultId

FriendlyName

字符串

标识此密钥保管库配置的人类可读标签。

类型

字符串

密钥保管库提供商类型。 Ops Manager返回 HASHI_CORP,它代表 HashiCorp Vault。

url

字符串

Ops Manager连接到的 HashiCorp Vault服务器的地址。

auth

对象

Ops Manager用于连接到 HashiCorp Vault 的身份验证详细信息。

auth. Mechanism

字符串

Ops Manager用于连接到 HashiCorp Vault 的身份验证方法。 Ops Manager返回以下值之一:

  • TOKEN

  • JWT

auth.secret

字符串

Ops Manager用于向 HashiCorp Vault 进行身份验证的档案。 Ops Manager会对该值进行静态加密并返回 [REDACTED] 而不是存储的值。

auth.jwtClaims

对象

Ops Manager从 HashiCorp Vault 请求 JWT 登录时发送的声明。 Ops Manager仅当auth.mechanismJWT 时才返回此对象。

customCertificates

阵列

Ops Manager在连接到 HashiCorp Vault服务器时用于 TLS 验证的自定义证书颁发机构证书列表。

customCertificates[n].filename

字符串

标识证书颁发机构PEM文件的名称。

customCertificates[n].certString

字符串

证书颁发机构 PEM文件的内容。 Ops Manager返回[REDACTED] 而不是存储的值。

链接

对象数组

指向子资源或相关资源的一个或多个链接。响应中的所有 links 数组至少包含一个名为 self 的链接。URL之间的关系在 Web 链接规范中进行了解释。

curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--include \
--request POST 'https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/keyVault?pretty=true' \
--data '{
"friendlyName": "myVault",
"type": "HASHI_CORP",
"url": "https://localhost:8200/",
"auth": {
"mechanism": "TOKEN",
"secret": "<vault-token>"
}
}'
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--include \
--request POST 'https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/keyVault?pretty=true' \
--data '{
"friendlyName": "myVault",
"type": "HASHI_CORP",
"url": "https://localhost:8200/",
"auth": {
"mechanism": "JWT",
"secret": "-----BEGIN PRIVATE KEY-----\n<private-key>\n-----END PRIVATE KEY-----",
"jwtClaims": {
"user": "ops-manager",
"role": "ops-manager-role"
}
}
}'
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: {dateInUnixFormat}
WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false
Content-Length: {requestLengthInBytes}
Connection: keep-alive
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: application/json
Strict-Transport-Security: max-age=300
Date: {dateInUnixFormat}
Connection: keep-alive
Content-Length: {requestLengthInBytes}
X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
{
"id": "{KEY-VAULT-ID}",
"friendlyName": "myVault",
"type": "HASHI_CORP",
"url": "https://localhost:8200/",
"auth": {
"mechanism": "TOKEN",
"secret": "[REDACTED]"
},
"links": [
{
"href": "https://<OpsManagerHost>:<Port>/api/public/v1.0/admin/keyVault/{KEY-VAULT-ID}",
"rel": "self"
}
]
}

后退

获取全部

在此页面上