Crea una función de rol personalizada

publicación /api/atlas/v1.0/groups/{groupId}/customDBRoles/roles

Crea un rol personalizado en el proyecto especificado. Para utilizar este recurso, la Cuenta de Servicio o clave API solicitantes deben tener el rol de Propietario del Proyecto, el rol de Propietario del Stream Processing de Proyecto o el rol de administrador de acceso a la base de datos del proyecto.

Parámetros de path

  • ID del grupo string Requerido

    string única de 24dígitos hexadecimales que identifica tu proyecto. Usa el endpoint /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 id de tu proyecto. Para los grupos ya existentes, el id de su grupo/proyecto sigue siendo el mismo. El recurso y los endpoints correspondientes utilizan el término grupos.

    El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

Parámetros de query

  • envelope booleano

    Bandera que indica si la aplicación envuelve 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 remediar esto, establece envelope=true en la query. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como un sobre. La aplicación agrega el parámetro de estado al cuerpo de la respuesta.

    El valor por defecto es false.

  • bonito booleano

    Bandera que indica si el cuerpo de la respuesta debe estar en el formato prettyprint.

    El valor por defecto es false.

    Impresión bonita
aplicación/json

Cuerpo Requerido

Crea un rol personalizado en el proyecto especificado.

  • acciones arreglo[objeto]

    Lista de las acciones de privilegios individuales que otorga el rol.

    Ocultar atributos de acciones Mostrar atributos de acciones Objeto

    Acción de privilegio que otorga el rol.

    • acción string Requerido

      Etiqueta legible por humanos que identifica la acción de privilegio.

      Los valores son FIND, INSERT, REMOVE, UPDATE, BYPASS_DOCUMENT_VALIDATION, USE_UUID, KILL_OP, BYPASS_DEFAULT_MAX_TIME_MS, CREATE_COLLECTION, CREATE_INDEX, DROP_COLLECTION, ENABLE_PROFILER, KILL_ANY_CURSOR, CHANGE_STREAM, COLL_MOD, COMPACT, CONVERT_TO_CAPPED, DROP_DATABASE, DROP_INDEX, RE_INDEX, RENAME_COLLECTION_SAME_DB, SET_USER_WRITE_BLOCK, BYPASS_USER_WRITE_BLOCK, LIST_SESSIONS, KILL_ANY_SESSION, COLL_STATS, CONN_POOL_STATS, DB_HASH, DB_STATS, GET_CMD_LINE_OPTS, GET_LOG, GET_PARAMETER, GET_SHARD_MAP, HOST_INFO, IN_PROG, LIST_DATABASES, LIST_COLLECTIONS, LIST_INDEXES, LIST_SHARDS, NET_STAT, REPL_SET_GET_CONFIG, REPL_SET_GET_STATUS, SERVER_STATUS, VALIDATE, SHARDING_STATE, TOP, SQL_GET_SCHEMA, SQL_SET_SCHEMA, VIEW_ALL_HISTORY, OUT_TO_S3, OUT_TO_AZURE, OUT_TO_GCS, STORAGE_GET_CONFIG, STORAGE_SET_CONFIG, FLUSH_ROUTER_CONFIG, ENABLE_SHARDING, CHECK_METADATA_CONSISTENCY, MOVE_CHUNK, SPLIT_CHUNK, ANALYZE_SHARD_KEY, REFINE_COLLECTION_SHARD_KEY, CLEAR_JUMBO_FLAG, RESHARD_COLLECTION, SHARDED_DATA_DISTRIBUTION, GET_STREAM_PROCESSOR, CREATE_STREAM_PROCESSOR, PROCESS_STREAM_PROCESSOR, MODIFY_STREAM_PROCESSOR, START_STREAM_PROCESSOR, STOP_STREAM_PROCESSOR, DROP_STREAM_PROCESSOR, SAMPLE_STREAM_PROCESSOR, LIST_STREAM_PROCESSORS, LIST_CONNECTIONS o STREAM_PROCESSOR_STATS.

    • Recursos arreglo[objeto] Requerido

      Lista de recursos sobre los cuales se concede la acción.

      Ocultar los atributos de los recursos Mostrar atributos de recursos Objeto

      Espacio de nombres al que este usuario de base de datos tiene acceso.

      Recursos del clúster
      • clúster booleano Requerido

        Indicador que señala si se otorga la acción en el recurso del clúster. Si true, MongoDB Nube ignora los parámetros actions.resources.collection y actions.resources.db.

      • Colección string Requerido

        Etiqueta legible por humanos que identifica la colección sobre la que otorgas la acción a un usuario de MongoDB. Si no configura este parámetro, otorga la acción a todas las colecciones en la base de datos especificada en el parámetro actions.resources.db. Si configuras "actions.resources.cluster" : true, MongoDB Cloud ignora este parámetro.

      • db string Requerido

        Etiqueta legible por humanos que identifica la base de datos en la que se otorga la acción a un usuario de MongoDB. Si estableces "actions.resources.cluster" : true, MongoDB Cloud ignora este parámetro.

  • roles heredados arreglo[objeto]

    Lista de los roles integrados que hereda este rol personalizado.

    Ocultar los atributos inheritedRoles Mostrar atributos de inheritedRoles Objeto

    Rol heredado de otro contexto para este usuario de base de datos.

    Roles de MongoDB integrados
    • db string Requerido

      Etiqueta legible por humanos que identifica la base de datos en la que alguien otorga la acción a un usuario de MongoDB.

    • rol string Requerido

      Etiqueta legible por humanos que identifica el rol heredado. Establece este valor en admin para cada rol excepto read o readWrite.

      Roles integrados de MongoDB
  • nombreDelRol string Requerido

    etiqueta legible por humanos que identifica el rol de la solicitud. Este nombre debe ser único para este rol personalizado del proyecto.

Respuestas

  • 202 aplicación/json

    Accepted

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • acciones arreglo[objeto]

      Lista de las acciones de privilegios individuales que otorga el rol.

      Ocultar atributos de acciones Mostrar atributos de acciones Objeto

      Acción de privilegio que otorga el rol.

      • acción string Requerido

        Etiqueta legible por humanos que identifica la acción de privilegio.

        Los valores son FIND, INSERT, REMOVE, UPDATE, BYPASS_DOCUMENT_VALIDATION, USE_UUID, KILL_OP, BYPASS_DEFAULT_MAX_TIME_MS, CREATE_COLLECTION, CREATE_INDEX, DROP_COLLECTION, ENABLE_PROFILER, KILL_ANY_CURSOR, CHANGE_STREAM, COLL_MOD, COMPACT, CONVERT_TO_CAPPED, DROP_DATABASE, DROP_INDEX, RE_INDEX, RENAME_COLLECTION_SAME_DB, SET_USER_WRITE_BLOCK, BYPASS_USER_WRITE_BLOCK, LIST_SESSIONS, KILL_ANY_SESSION, COLL_STATS, CONN_POOL_STATS, DB_HASH, DB_STATS, GET_CMD_LINE_OPTS, GET_LOG, GET_PARAMETER, GET_SHARD_MAP, HOST_INFO, IN_PROG, LIST_DATABASES, LIST_COLLECTIONS, LIST_INDEXES, LIST_SHARDS, NET_STAT, REPL_SET_GET_CONFIG, REPL_SET_GET_STATUS, SERVER_STATUS, VALIDATE, SHARDING_STATE, TOP, SQL_GET_SCHEMA, SQL_SET_SCHEMA, VIEW_ALL_HISTORY, OUT_TO_S3, OUT_TO_AZURE, OUT_TO_GCS, STORAGE_GET_CONFIG, STORAGE_SET_CONFIG, FLUSH_ROUTER_CONFIG, ENABLE_SHARDING, CHECK_METADATA_CONSISTENCY, MOVE_CHUNK, SPLIT_CHUNK, ANALYZE_SHARD_KEY, REFINE_COLLECTION_SHARD_KEY, CLEAR_JUMBO_FLAG, RESHARD_COLLECTION, SHARDED_DATA_DISTRIBUTION, GET_STREAM_PROCESSOR, CREATE_STREAM_PROCESSOR, PROCESS_STREAM_PROCESSOR, MODIFY_STREAM_PROCESSOR, START_STREAM_PROCESSOR, STOP_STREAM_PROCESSOR, DROP_STREAM_PROCESSOR, SAMPLE_STREAM_PROCESSOR, LIST_STREAM_PROCESSORS, LIST_CONNECTIONS o STREAM_PROCESSOR_STATS.

      • Recursos arreglo[objeto] Requerido

        Lista de recursos sobre los cuales se concede la acción.

        Ocultar los atributos de los recursos Mostrar atributos de recursos Objeto

        Espacio de nombres al que este usuario de base de datos tiene acceso.

        Recursos del clúster
        • clúster booleano Requerido

          Indicador que señala si se otorga la acción en el recurso del clúster. Si true, MongoDB Nube ignora los parámetros actions.resources.collection y actions.resources.db.

        • Colección string Requerido

          Etiqueta legible por humanos que identifica la colección sobre la que otorgas la acción a un usuario de MongoDB. Si no configura este parámetro, otorga la acción a todas las colecciones en la base de datos especificada en el parámetro actions.resources.db. Si configuras "actions.resources.cluster" : true, MongoDB Cloud ignora este parámetro.

        • db string Requerido

          Etiqueta legible por humanos que identifica la base de datos en la que se otorga la acción a un usuario de MongoDB. Si estableces "actions.resources.cluster" : true, MongoDB Cloud ignora este parámetro.

    • roles heredados arreglo[objeto]

      Lista de los roles integrados que hereda este rol personalizado.

      Ocultar los atributos inheritedRoles Mostrar atributos de inheritedRoles Objeto

      Rol heredado de otro contexto para este usuario de base de datos.

      Roles de MongoDB integrados
      • db string Requerido

        Etiqueta legible por humanos que identifica la base de datos en la que alguien otorga la acción a un usuario de MongoDB.

      • rol string Requerido

        Etiqueta legible por humanos que identifica el rol heredado. Establece este valor en admin para cada rol excepto read o readWrite.

        Roles integrados de MongoDB
    • nombreDelRol string Requerido

      etiqueta legible por humanos que identifica el rol de la solicitud. Este nombre debe ser único para este rol personalizado del proyecto.

  • 400 aplicación/json

    Solicitud incorrecta.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 401 aplicación/json

    No autorizado.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 403 aplicación/json

    Forbidden.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 404 aplicación/json

    No se encontró.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 409 aplicación/json

    Conflicto.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 500 aplicación/json

    Error interno del servidor.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

POST /api/atlas/v1.0/grupos/{groupId}/customDBRoles/roles
curl \
 --request POST 'https://cloud.mongodb.com/api/atlas/v1.0/groups/32b6e34b3d91647abb20e7b8/customDBRoles/roles' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"actions":[{"action":"FIND","resources":[{"cluster":true,"collection":"string","db":"string"}]}],"inheritedRoles":[{"db":"string","role":"string"}],"roleName":"string"}'
Solicitar ejemplos
{
  "actions": [
    {
      "action": "FIND",
      "resources": [
        {
          "cluster": true,
          "collection": "string",
          "db": "string"
        }
      ]
    }
  ],
  "inheritedRoles": [
    {
      "db": "string",
      "role": "string"
    }
  ],
  "roleName": "string"
}
Ejemplos de respuestas (202)
{
  "actions": [
    {
      "action": "FIND",
      "resources": [
        {
          "cluster": true,
          "collection": "string",
          "db": "string"
        }
      ]
    }
  ],
  "inheritedRoles": [
    {
      "db": "string",
      "role": "string"
    }
  ],
  "roleName": "string"
}
Ejemplos de respuestas (400)
{
  "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"
}
Ejemplos de respuestas (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Ejemplos de respuestas (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
Ejemplos de respuestas (404)
{
  "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"
}
Ejemplos de respuestas (409)
{
  "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"
}
Ejemplos de respuestas (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}