Genera un certificado X.509 para el usuario de MongoDB especificado. Atlas administra el certificado y el usuario de MongoDB que pertenecen a un proyecto. Para usar este recurso, la cuenta de servicio o la clave API solicitantes deben tener el rol de propietario del proyecto.
Para que MongoDB Cloud genere un certificado administrado para un usuario de base de datos, configure "x509Type" : "MANAGED" en el usuario de base de datos MongoDB deseado.
Si administra su propia autoridad de certificación (CA) en modo X.509 autoadministrado, debe generar certificados para los usuarios de la base de datos utilizando su propia CA.
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.
NOTA: Grupos y proyectos son términos sinónimos. El ID de tu grupo es el mismo que el de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.
Etiqueta legible por humanos que representa la cuenta de usuario de la base de datos MongoDB para la que se creará un certificado.
Indicador que indica si la aplicación encapsula la respuesta en un objeto JSON envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.
El valor predeterminado es false.
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es false.
atlas api x509Authentication createDatabaseUserCert --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20231001001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.CreateGroupDatabaseUserCertApiParams{}
sdkResp, httpResp, err := client.X509AuthenticationApi.
CreateGroupDatabaseUserCertWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/databaseUsers/{username}/certs" \
-d '{ <Payload> }'
{
"monthsUntilExpiration": 3
}
string
{
"error": 400,
"detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
"reason": "Bad Request",
"errorCode": "VALIDATION_ERROR"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"error": 404,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
"reason": "Not Found",
"errorCode": "RESOURCE_NOT_FOUND"
}
{
"error": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}