하나의 프로젝트 서비스 계정에 대한 액세스 목록 항목 추가
프로젝트에 지정된 서비스 계정에 대한 액세스 목록 항목을 추가합니다. 리소스를 사용하려면 모든 API 요청이 API 액세스 목록의 IP 주소에서 시작되어야 합니다.
경로 매개변수
-
프로젝트 식별하는 고유한 24-16진수 문자열입니다. 인증된 사용자가 액세스 할 수 있는 모든 프로젝트를 조회 하려면 /groups 엔드포인트를 사용합니다.
참고: 그룹과 프로젝트는 동의어입니다. 그룹 ID는 프로젝트 ID와 동일합니다. 기존 그룹의 경우, 그룹/프로젝트 ID는 동일하게 유지됩니다. 리소스 및 해당 엔드포인트는 그룹이라는 용어를 사용합니다.
형식은
^([a-f0-9]{24})$
패턴 과 일치해야 합니다. -
서비스 계정의 클라이언트 ID입니다.
형식은
^mdb_sa_id_[a-fA-F\d]{24}$
패턴 과 일치해야 합니다.
쿼리 매개변수
-
애플리케이션이 응답을
envelope
JSON 객체로 래핑할지 여부를 나타내는 플래그입니다. 일부 API 클라이언트는 HTTP 응답 헤더 또는 상태 코드에 액세스할 수 없습니다. 이 문제를 해결하려면 쿼리에서 envelope=true를 설정합니다. 결과 목록을 반환하는 엔드포인트는 결과 객체를 엔벨로프로 사용합니다. 애플리케이션은 응답 본문에 상태 매개변수를 추가합니다.기본값은
false
입니다. -
응답이 응답의 총 항목 수(TotalCount)를 반환하는지 여부를 나타내는 플래그입니다.
기본값은
true
입니다. -
페이지당 응답이 반환하는 항목 수입니다.
최소값은
1
, 최대값은500
입니다. 기본값은100
입니다. -
응답이 반환하는 전체 객체의 현재 세트를 표시하는 페이지 번호입니다.
최소값은
1
입니다. 기본값은1
입니다. -
응답 본문이 프리티프린트 형식이어야 하는지 여부를 나타내는 플래그입니다.
기본값은
false
입니다.Prettyprint
body
필수 사항
프로젝트의 지정된 서비스 계정의 액세스 목록에 추가할 액세스 목록 항목의 목록입니다.
-
서비스 계정의 액세스 목록에 있는 네트워크 주소의 범위입니다. 이 매개변수를 사용하려면 범위를 인터넷 프로토콜 버전 4 또는 버전 6 주소의 클래스 없는 도메인 간 라우팅(Classless Inter-Domain Routing, CIDR) 표기법으로 표현해야 합니다. 동일한 요청에서 이 매개변수 또는 ipAddress의 값을 설정할 수 있지만 둘 다 설정할 수는 없습니다.
형식은
^((([0-9]{1,3}\.){3}[0-9]{1,3})|(:{0,2}([0-9a-f]{1,4}:){0,7}[0-9a-f]{1,4}[:]{0,2}))((%2[fF]|/)[0-9]{1,3})+$
패턴 과 일치해야 합니다. -
서비스 계정의 액세스 목록에 있는 네트워크 주소입니다. 이 매개 변수를 사용하려면 주소를 하나의 인터넷 프로토콜 버전 4 또는 버전 6 주소로 표현해야 합니다. 이 매개변수 또는 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 serviceAccounts createGroupServiceAccountAccessList --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250219001/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.CreateGroupServiceAccountAccessListApiParams{}
sdkResp, httpResp, err := client.ServiceAccountsApi.
CreateGroupServiceAccountAccessListWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/serviceAccounts/{clientId}/accessList" \
-d '{ <Payload> }'
[
{
"cidrBlock": "203.0.113.0/24",
"ipAddress": "203.0.113.10"
}
]
{
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"results": [
{
"cidrBlock": "203.0.113.0/24",
"createdAt": "2025-05-04T09:42:00Z",
"ipAddress": "203.0.113.10",
"lastUsedAddress": "203.0.113.10",
"lastUsedAt": "2025-05-04T09:42:00Z",
"requestCount": 42
}
],
"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": 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"
}