Crea una configuración de bóveda de claves que Ops Manager utiliza para leer las credenciales de HashiCorp Vault.
Roles necesarios
Requiere que el La API Key que llama a este endpoint tiene la
Global Owner rol.
URL base: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/admin
Resource
POST /keyVault
Parámetros de ruta de solicitud
Este endpoint no utiliza parámetros de ruta de solicitud HTTP.
Parámetros de Solicitud Query
Los siguientes parámetros de query son opcionales:
Nombre | Tipo | Necesidad | Descripción | predeterminado |
|---|---|---|---|---|
bonito | booleano | Opcional | Indicador que señala si el cuerpo de la respuesta está en un pretty-print formato. |
|
envelope | booleano | Opcional | Bandera que indica si se debe o no envolver la respuesta en un sobre. Algunos clientes API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, ajusta envelope=true en la query. Para los endpoints que devuelven un resultado, el cuerpo de la respuesta incluye:
|
|
Parámetros del cuerpo de la solicitud
Nombre | Tipo | Necesidad | Descripción |
|---|---|---|---|
nombre amigable | string | Requerido | Etiqueta legible para humanos que identifica esta configuración de bóveda de claves. Ops Manager muestra este valor en el Key Vault lista y en el campo Vault Name. |
tipo | string | Requerido | Tipo de proveedor de bóveda de claves. Ops Manager solo acepta |
URL | string | Requerido | Dirección del servidor HashiCorp Vault al que se conecta Ops Manager, por ejemplo |
auth | Objeto | Requerido | Detalles de autenticación que utiliza Ops Manager para conectarse a HashiCorp Vault. |
mecanismo de autorización | string | Requerido | Método de autenticación que utiliza Ops Manager para conectarse a HashiCorp Vault. Ops Manager acepta los siguientes valores:
|
secreto de autenticación | string | Requerido | Credencial que utiliza Ops Manager para autenticarse en HashiCorp Vault. Cuando Ops Manager cifra este valor en reposo y lo oculta en las respuestas de la API. |
Reclamaciones de autorización de JWT | Objeto | Condicional | Declaraciones que Ops Manager envía cuando solicita un inicio de sesión JWT a HashiCorp Vault. Obligatorio cuando |
cerfiticados personalizados | arreglo | Opcional | Lista de certificados de Autoridad de Certificación personalizados que Ops Manager utiliza para la verificación TLS cuando se conecta al servidor HashiCorp Vault. |
customCertificates[n].filename | string | Condicional | Nombre que identifica el archivo PEM de la Autoridad de Certificación. Obligatorio para cada entrada |
customCertificates[n].certString | string | Condicional | Contenido del archivo PEM de la Autoridad de Certificación. Obligatorio para cada entrada |
Respuesta
Nombre | Tipo | Descripción |
|---|---|---|
ID | string | Identificador único que genera Ops Manager para esta configuración de almacén de claves. Utilice este valor como |
nombre amigable | string | Etiqueta legible para humanos que identifica esta configuración clave de la bóveda. |
tipo | string | Tipo de proveedor de bóveda de claves. Ops Manager devuelve |
URL | string | Dirección del servidor HashiCorp Vault al que se conecta Ops Manager. |
auth | Objeto | Detalles de autenticación que utiliza Ops Manager para conectarse a HashiCorp Vault. |
mecanismo de autorización | string | Método de autenticación que utiliza Ops Manager para conectarse a HashiCorp Vault. Ops Manager devuelve uno de los siguientes valores:
|
secreto de autenticación | string | Credencial que Ops Manager utiliza para autenticarse en HashiCorp Vault. Ops Manager cifra este valor en reposo y devuelve |
Reclamaciones de autorización de JWT | Objeto | Reclamaciones que Ops Manager envía cuando solicita un inicio de sesión JWT a HashiCorp Vault. Ops Manager devuelve este objeto solo cuando |
cerfiticados personalizados | arreglo | Lista de certificados de Autoridad de Certificación personalizados que Ops Manager utiliza para la verificación TLS cuando se conecta al servidor HashiCorp Vault. |
customCertificates[n].filename | string | Nombre que identifica el archivo PEM de la Autoridad de Certificación. |
customCertificates[n].certString | string | Contenido del archivo PEM de la Autoridad de Certificación. Ops Manager devuelve |
enlaces | objeto arreglo | Uno o más enlaces a subrecursos o recursos relacionados. Todos los arreglos |
Solicitud de ejemplo
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" } } }'
Respuesta de ejemplo
Encabezado de respuesta
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
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}
Respuesta del cuerpo
{ "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" } ] }