Retornar uma função personalizada em um projeto

OBTER /api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}

Retorna uma função personalizada para o projeto especificado. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter a função somente leitura do projeto.

parâmetros de caminho

  • groupId string Obrigatório

    Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.

    AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.

    O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.

  • roleName string Obrigatório

    Rótulo legível por humanos que identifica a função para a solicitação. Este nome deve ser exclusivo para essa função personalizada neste projeto.

parâmetros de query

  • envelope booleano

    Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON envelope. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.

    O valor padrão é false.

  • pretty booleano

    Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.

    O valor padrão é false.

    Prettyprint

Respostas

  • 200 application/vnd.atlas.2023-01-01+json

    OK

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • ações array[objeto]

      Lista das ações de privilégio específicas que a função concede.

      ação privilegiada que a função concede.

      Ocultar atributos de ações Mostrar atributos de ações objeto
      • ação string Obrigatório

        Etiqueta legível por humanos que identifica a ação do privilégio.

        Os valores são 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, START_STREAM_PROCESSOR, STOP_STREAM_PROCESSOR, DROP_STREAM_PROCESSOR, SAMPLE_STREAM_PROCESSOR, LIST_STREAM_PROCESSORS, LIST_CONNECTIONS ou STREAM_PROCESSOR_STATS.

      • Recursos array[objeto]

        Lista de recursos aos quais você concede a ação.

        Namespace ao qual este usuário de banco de dados tem acesso.

        Ocultar atributos de recursos Mostrar atributos de recursos objeto
        Recursos do cluster
        • cluster booleano Obrigatório

          Sinalizador que indica se a ação deve ser concedida no recurso do cluster.true Se, o MongoDB Cloud ignorará os parâmetros ação.resources.collection e ação.resources.db.

        • collection string Obrigatório

          Rótulo legível por humanos que identifica a coleção na qual você concede a ação a um usuário do MongoDB . Se você não definir esse parâmetro, concederá a ação a todas as coleções no banco de dados especificado no parâmetro roles.resources.db. Se você "actions.resources.cluster" : true definir, o MongoDB Cloud ignorará este parâmetro.

        • db string Obrigatório

          Rótulo legível por humanos que identifica o banco de dados no qual você concede a ação a um usuário do MongoDB . Se você definir "actions.resources.cluster" : true, o MongoDB Cloud ignorará este parâmetro.

    • inheritedRoles array[objeto]

      Lista das funções incorporadas que esta função personalizada herda.

      Role herdado de outro contexto para este usuário de banco de dados.

      Ocultar atributos inheritedRoles Mostrar atributos inheritedRoles objeto
      Roles MongoDB integrados
      • db string Obrigatório

        Etiqueta legível por humanos que identifica o banco de dados no qual alguém concede a ação a um usuário do MongoDB .

      • papel string Obrigatório

        Rótulo legível por humanos que identifica a função herdada. Defina esse valor como admin para cada role, exceto read ou readWrite.

        Roles construídos no MongoDB
    • roleName string Obrigatório

      Rótulo legível por humanos que identifica a função para a solicitação. Este nome deve ser exclusivo para essa função personalizada neste projeto.

  • 401 aplicação/json

    Não autorizado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 403 aplicação/json

    Forbidden.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 404 aplicação/json

    Não encontrado.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

  • 500 aplicação/json

    Erro interno do servidor.

    Ocultar atributos de resposta Mostrar atributos de resposta objeto
    • badRequestDetail objeto

      Detalhes da solicitação inválida.

      Ocultar atributo ruimRequestDetail Mostrar atributo ruimRequestDetail objeto
      • Campos array[objeto]

        Descreve todas as violações em uma solicitação do cliente .

        Ocultar atributos de campos Mostrar atributos dos campos objeto
        • Descrição string Obrigatório

          Uma descrição do motivo pelo qual o elemento de solicitação é incorreto.

        • Campo string Obrigatório

          Um caminho que leva a um campo no corpo da solicitação.

    • detalhe string

      Descreve as condições ou os motivos específicos que causam cada tipo de erro.

    • Erro integer(int32) Obrigatório

      O código de status HTTP retornado com este erro.

      Documentação externa
    • Código de erro string Obrigatório

      Código de erro do aplicativo retornado com esse erro.

    • Parâmetros array[objeto]

      Parâmetros usados para fornecer mais informações sobre o erro.

    • Razão string

      Mensagens de erro de aplicativo retornadas com este erro.

GET /api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}
atlas api customDatabaseRoles getGroupCustomDbRoleRole --help
import (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20241023001/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.GetGroupCustomDbRoleRoleApiParams{}
	sdkResp, httpResp, err := client.CustomDatabaseRolesApi.
		GetGroupCustomDbRoleRoleWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2024-10-23+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}?pretty=true"
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2024-10-23+json" \
  -X GET "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/customDBRoles/roles/{roleName}?pretty=true"
Exemplos de resposta (200)
{
  "actions": [
    {
      "action": "FIND",
      "resources": [
        {
          "cluster": true,
          "collection": "string",
          "db": "string"
        }
      ]
    }
  ],
  "inheritedRoles": [
    {
      "db": "string",
      "role": "string"
    }
  ],
  "roleName": "string"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}
Exemplos de resposta (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"
}