Adicionar entradas à lista de acesso IP do projeto
Adiciona uma ou mais entradas de lista de acesso ao projeto especificado. O MongoDB Cloud só permite conexões de cliente com o cluster a partir de entradas na lista de acesso IP do projeto. Grave cada entrada como um endereço IP ou um bloco de endereços IP anotado em CIDR. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter as funções Proprietário do projeto ou Administrador de gráficos do projeto. Este recurso substitui o recurso da lista de permissões. O MongoDB Cloud removeu as listas de permissões em julho de 2021. Atualize seus aplicativos para usar este novo recurso. O ponto de extremidade /groups/{GROUP-ID}/accessList
gerencia a lista de acesso IP do banco de dados. Este ponto de extremidade é diferente do ponto de extremidade orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist
, que gerencia a lista de acesso para organizações do MongoDB Cloud. Este ponto de extremidade não suporta solicitações POST
simultâneas. Você deve enviar diversas solicitações POST
de forma síncrona.
parâmetros de caminho
-
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})$
.
parâmetros de query
-
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
. -
Sinalizador que indica se a resposta retorna o número total de itens (totalCount) na resposta.
O valor padrão é
true
. -
Número de itens que a resposta retorna por página.
O valor mínimo é
1
, o valor máximo é500
. O valor padrão é100
. -
Número da página que exibe o conjunto atual dos objetos totais que a resposta retorna.
O valor mínimo é
1
. O valor padrão é1
. -
Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint.
O valor padrão é
false
.Prettyprint
corpo, corpo
Obrigatório
Uma ou mais entradas da lista de acesso para adicionar ao projeto especificado.
-
String exclusiva de caracteres do grupo de segurança da Amazon Web Services (AWS) que você deseja adicionar à lista de acesso IP do projeto. Sua entrada na lista de acesso IP pode ser um awsSecurityGroup, um cidrBlock ou um ipAddress. Você deve configurar o emparelhamento Virtual Private Connection (VPC) para seu projeto antes de adicionar um grupo de segurança da AWS a uma lista de acesso IP. Não é possível definir grupos de segurança AWS como entradas de lista de acesso temporário. Não defina este parâmetro se você definir cidrBlock ou ipAddress.
O formato deve corresponder ao seguinte padrão:
^([0-9]*/)?sg-([0-9]*)
. -
Faixa de endereços IP na notação CIDR (Classless Inter-Domain Routing) que você deseja adicionar à lista de acesso IP do projeto. Sua entrada na lista de acesso IP pode ser um awsSecurityGroup, um cidrBlock ou um ipAddress. Não defina este parâmetro se você definir awsSecurityGroup ou ipAddress.
O formato deve corresponder ao seguinte padrão:
^([0-9]{1,3}\.){3}[0-9]{1,3}(%2[fF][0-9]{1,3})?|([0-9a-f]{1,4}\:){7}[0-9a-f]{1,4}(%2[fF][0-9]{1,3})?|([0-9a-f]{1,4}\:){1,6}\:(%2[fF][0-9]{1,3})?$
. -
Lembrete que explica a finalidade ou o escopo desta entrada da lista de acesso IP.
O comprimento máximo é
80
. -
Data e hora após as quais o MongoDB Cloud exclui a entrada temporária da lista de acesso. Esse parâmetro expressa seu valor no formato de carimbo de data/hora ISO 8601 em UTC e pode incluir a designação de fuso horário. A data deve ser posterior à data atual, mas não além de uma semana após o envio desta solicitação. O recurso retornará esse parâmetro se você tiver especificado uma data de expiração ao criar essa entrada de lista de acesso IP.
-
Endereço IP que você deseja adicionar à lista de acesso IP do projeto. Sua entrada na lista de acesso IP pode ser um awsSecurityGroup, um cidrBlock ou um ipAddress. Não defina esse parâmetro se você definir awsSecurityGroup ou cidrBlock.
O formato deve corresponder ao seguinte padrão:
^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)(\.(?!$)|$)){4}|([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$
.
atlas api projectIpAccessList createGroupAccessListEntry --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20231115001/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.CreateGroupAccessListEntryApiParams{}
sdkResp, httpResp, err := client.ProjectIPAccessListApi.
CreateGroupAccessListEntryWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-11-15+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/accessList" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-11-15+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/accessList" \
-d '{ <Payload> }'
[
{
"awsSecurityGroup": "string",
"cidrBlock": "string",
"comment": "string",
"deleteAfterDate": "2025-05-04T09:42:00Z",
"ipAddress": "string"
}
]
{
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"results": [
{
"awsSecurityGroup": "string",
"cidrBlock": "string",
"comment": "string",
"deleteAfterDate": "2025-05-04T09:42:00Z",
"groupId": "32b6e34b3d91647abb20e7b8",
"ipAddress": "string",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
]
}
],
"totalCount": 42
}
{
"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": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}