지정된 프로젝트에 액세스 목록 항목을 한 개 이상 추가합니다. MongoDB Cloud는 프로젝트의 IP 액세스 목록에 있는 항목에서만 클러스터에 대한 클라이언트 연결을 허용합니다. 각 항목을 IP 주소 한 개 또는 CIDR 표기 IP 주소 블록 한 개로 작성합니다. 이 리소스를 사용하려면, 요청하는 서비스 계정 또는 API 키에 프로젝트 소유자 또는 프로젝트 차트 관리자 역할이 있어야 합니다. 이 리소스는 화이트리스트 리소스를 대체합니다. MongoDB Cloud는 2021년 7월에 화이트리스트를 제거했습니다. 이 새 리소스를 사용하려면 애플리케이션을 업데이트합니다. /groups/{GROUP-ID}/accessList 엔드포인트는 데이터베이스 IP 액세스 목록을 관리합니다. 이 엔드포인트는 MongoDB Cloud 조직의 액세스 목록을 관리하는 orgs/{ORG-ID}/apiKeys/{API-KEY-ID}/accesslist 엔드포인트와는 다릅니다. 이 엔드포인트는 동시 POST 요청을 지원하지 않습니다. 여러 POST 요청을 동시에 제출해야 합니다.
프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.
참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.
형식은 ^([a-f0-9]{24})$ 패턴 과 일치해야 합니다.
애플리케이션이 응답을 envelope JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.
기본값은 false 입니다.
응답이 응답의 총 항목 수(TotalCount)를 반환하는지 여부를 나타내는 플래그입니다.
기본값은 true 입니다.
페이지당 응답이 반환하는 항목 수입니다.
최소값은 1, 최대값은 500입니다. 기본값은 100입니다.
응답이 반환하는 전체 객체의 현재 세트를 표시하는 페이지 번호입니다.
최소값은 1입니다. 기본값은 1입니다.
응답 본문이 프리티프린트 형식이어야 하는지 여부를 나타내는 플래그입니다.
기본값은 false 입니다.
지정된 프로젝트에 추가할 한 개 이상의 액세스 목록 항목입니다.
프로젝트의 IP 액세스 목록에 추가하려는 Amazon Web Services(AWS) 보안 그룹의 고유 문자열입니다. IP 액세스 목록 항목은 awsSecurityGroup 한 개, cidrBlock 한 개 또는 ipAddress 한 개일 수 있습니다. AWS 보안 그룹을 IP 액세스 목록에 추가하려면 먼저 프로젝트에 가상 비공개 연결(Virtual Private Connection, VPC) 피어링을 구성해야 합니다. AWS 보안 그룹을 임시 액세스 목록 항목으로 설정할 수 없습니다. cidrBlock 또는 ipAddress를 설정한 경우에는 이 매개변수를 설정하지 마세요.
형식은 ^([0-9]*/)?sg-([0-9]*) 패턴 과 일치해야 합니다.
프로젝트의 IP 액세스 목록에 추가하려는 클래스 없는 도메인 간 라우팅(Classless Inter-Domain Routing, CIDR) 표기법의 IP 주소 범위입니다. IP 액세스 목록 항목은 awsSecurityGroup 한 개, cidrBlock 한 개 또는 ipAddress 한 개일 수 있습니다. awsSecurityGroup 또는 ipAddress를 설정하는 경우 이 매개변수를 설정하지 마세요.
형식은 ^([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})?$ 패턴 과 일치해야 합니다.
이 IP 액세스 목록 항목의 목적이나 범위를 설명하는 비고입니다.
최대 길이는 80입니다.
MongoDB Cloud가 임시 액세스 목록 항목을 삭제하는 날짜 및 시간입니다. 이 매개변수는 값을 ISO 8601 타임스탬프 형식으로 UTC로 표현하며 시간대 지정을 포함할 수 있습니다. 날짜는 현재 날짜 이후여야 하며 이 요청을 제출한 후 1주일 이내여야 합니다. 이 IP 액세스 목록 항목을 생성할 때 만료 날짜를 지정한 경우 리소스는 이 매개변수를 반환합니다.
프로젝트의 IP 액세스 목록에 추가하려는 IP 주소입니다. IP 액세스 목록 항목은 awsSecurityGroup 한 개, cidrBlock 한 개 또는 ipAddress 한 개일 수 있습니다. awsSecurityGroup 또는 cidrBlock을 설정한 경우에는 이 매개변수를 설정하지 마세요.
형식은 ^((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 createAccessListEntry --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250312001/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.2025-03-12+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.2025-03-12+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"
}