updateSubAccount

Prev Next

이 가이드는 API 명세를 기반으로 자동 생성했습니다.

Classic/VPC 환경에서 이용 가능합니다.

Ncloud API 표준 규격을 적용한 API입니다.

이름, 이메일, 접근 권한 플래그, 접근 소스 설정, 메모 등 기존 서브 계정의 수정 가능한 속성을 변경하고, 수정된 서브 계정을 반환. 콘솔 및 API 접근 소스 필드는 도메인 설정에서 허용된 경우에만 적용됩니다. 요청 본문은 부분 수정 미디어 타입(application/merge-patch+json)과 일반 JSON을 모두 지원하며, 생략한 필드는 기존 값을 유지합니다. null 허용으로 선언한 필드에 null을 보내면 값을 비우고, 그 외 필드에 null을 보내면 400을 반환합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
PATCH /sub-accounts/{subAccountId}

요청 헤더

Sub Account API에서 공통으로 사용하는 헤더에 대한 정보는 Sub Account 요청 헤더를 참조해 주십시오.

요청 경로 파라미터

요청 경로 파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
subAccountId String (uuid) Required 대상 서브 계정의 식별자
  • <예시> 4e066e50-9c3a-11e7-8a66-1e5021fa7c80

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

요청 바디는 application/merge-patch+json, application/json 형식을 지원하며, Content-Type 헤더로 형식을 지정합니다.

필드 타입 필수 여부 설명
name String Optional 서브 계정의 표시 이름. 앞뒤 공백은 제거하여 저장하며, 길이는 제거한 값으로 판정
  • 길이: 2 ~ 30
  • <예시> 홍길동
email String (email) | null Optional 서브 계정의 이메일 주소. null이면 이메일을 비우고 이메일 인증 상태를 초기화
  • <예시> user@example.com
apiGatewayAccessible Boolean Optional API Gateway 접근 허용 여부
  • true | false
    • true: 액세스 키를 생성해 API Gateway에 등록된 API 사용 가능
    • false: API Gateway에 등록된 API 사용 불가
  • <예시> false
consoleAccessible Boolean Optional 콘솔 접근 허용 여부
  • true | false
    • true: 서브 계정의 관리 콘솔 접근 가능
    • false: 관리 콘솔 접근 불가
  • <예시> true
passwordResetRequired Boolean Optional 비밀번호 재설정 필요 여부
  • true | false
    • true: 서브 계정이 로그인할 때 새 비밀번호로 변경하도록 안내
    • false: 별도로 안내하지 않음
  • <예시> false
memo String | null Optional 서브 계정에 대한 메모. null이면 메모를 비움
  • 길이: 0 ~ 300
  • <예시> 서브 계정 메모입니다
active Boolean Optional 서브 계정 활성화 상태
  • true | false
    • true: 서브 계정을 활성 상태로 변경
    • false: 서브 계정을 비활성 상태로 변경
  • <예시> true

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request PATCH 'https://subaccount.apigw.gov-ntruss.com/api/v2/sub-accounts/4e066e50-9c3a-11e7-8a66-1e5021fa7c80' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
subAccountId String (uuid) - 서브 계정의 식별자
  • <예시> 4e066e50-9c3a-11e7-8a66-1e5021fa7c80
subAccountNo Integer (int64) - 서브 계정에 부여된 숫자 번호. 식별자(subAccountId)와는 별개의 값이며, 서브 계정 번호를 식별자로 변환하는 API(POST /sub-accounts/resolve-nos)로 상호 변환 가능
  • <예시> 23229
loginId String - 서브 계정의 로그인 아이디
  • <예시> myloginid01
name String - 서브 계정의 표시 이름
  • <예시> 홍길동
email String (email) - 서브 계정의 이메일 주소. emailVerified로 점유 인증 여부 확인 가능
  • <예시> user@example.com
emailVerified Boolean - 이메일 점유 인증 완료 여부
  • true | false
    • true: 이메일 점유 인증 완료
    • false: 이메일 점유 인증 미완료
  • <예시> true
passwordResetRequired Boolean - 비밀번호 재설정 필요 여부. 공공 도메인에서는 서브 계정 생성 시 항상 true로 설정
  • true | false
    • true: 서브 계정이 로그인할 때 새 비밀번호로 변경하도록 안내
    • false: 별도로 안내하지 않음
  • <예시> true
apiGatewayAccessible Boolean - API Gateway 접근 허용 여부
  • true | false
    • true: 액세스 키를 생성해 API Gateway에 등록된 API 사용 가능
    • false: API Gateway에 등록된 API 사용 불가
  • <예시> false
consoleAccessible Boolean - 콘솔 접근 허용 여부
  • true | false
    • true: 서브 계정의 관리 콘솔 접근 가능
    • false: 관리 콘솔 접근 불가
  • <예시> true
consolePermitIpEnabled Boolean - 콘솔 접근 IP 대역 제한 사용 여부
  • true | false
    • true: consolePermitIpAddresses에 지정한 IP 대역에서만 콘솔 접근 가능
    • false: IP 대역을 제한하지 않음
  • <예시> false
consolePermitIpAddresses List<String> - 콘솔 접근을 허용한 IP 대역 목록
  • <예시> ["10.0.0.0/8"]
apiAllowSourceEnabled Boolean - 액세스 키 접근 소스 제한 사용 여부
  • true | false
    • true: apiAllowSources에 지정한 소스에서만 액세스 키로 API 접근 가능
    • false: 접근 소스를 제한하지 않음
  • <예시> false
apiAllowSources List<AllowSource> - Access Key 접근이 허용된 소스 목록
lastLoginDateTime String (date-time) - 서브 계정이 마지막으로 로그인한 일시
  • <예시> 2024-01-01T00:00:00Z
createdDateTime String (date-time) - 서브 계정이 생성된 일시
  • <예시> 2024-01-01T00:00:00Z
memo String - 서브 계정에 대한 메모
  • <예시> 서브 계정 메모입니다
active Boolean - 서브 계정 활성화 상태
  • true | false
    • true: 서브 계정이 활성 상태
    • false: 서브 계정이 비활성 상태여서 로그인·API 호출 불가
  • <예시> true
updatedDateTime String (date-time) - 서브 계정이 마지막으로 수정된 일시
  • <예시> 2024-01-01T00:00:00Z
groups List<GroupSummary> - 서브 계정이 속한 그룹 목록
policies List<PolicySummary> - 서브 계정에 부여된 정책 목록
nrn String - 서브 계정의 NRN(Ncloud Resource Name)
  • <예시> nrn:GOV:IAM::25000000:SubAccount/4e066e50-9c3a-11e7-8a66-1e5021fa7c80

AllowSource

접근을 허용할 소스 정보

필드 타입 필수 여부 설명
type String - 허용 소스의 유형
  • IP | VPC | VPC_SERVER
    • IP: IP 주소 또는 CIDR 대역 단위로 접근을 허용
    • VPC: VPC 단위로 접근을 허용
    • VPC_SERVER: VPC 서버 인스턴스 단위로 접근을 허용
  • <예시> IP
source String - type에 따른 허용 소스 값. IP 유형은 IP 주소 또는 CIDR(예: 10.0.0.0/8), VPC 유형은 VPC 번호, VPC_SERVER 유형은 서버 인스턴스 번호를 지정
  • <예시> 10.0.0.0/8

GroupSummary

그룹 요약 정보. 서브 계정 응답의 소속 그룹 목록에 사용

필드 타입 필수 여부 설명
groupId String (uuid) - 그룹의 식별자
  • <예시> 4e066e50-9c3a-11e7-8a66-1e5021fa7c80
groupName String - 그룹의 이름
  • <예시> my-group
nrn String - 그룹의 NRN(Ncloud Resource Name)
  • <예시> nrn:GOV:IAM::25000000:Group/4e066e50-9c3a-11e7-8a66-1e5021fa7c80

PolicySummary

정책 요약 정보. 서브 계정·그룹·역할 응답의 연결된 정책 목록에 사용

필드 타입 필수 여부 설명
policyId String (uuid) - 정책의 식별자
  • <예시> 4e066e50-9c3a-11e7-8a66-1e5021fa7c80
policyName String - 정책의 이름
  • <예시> my-policy
policyType String - 정책 유형
  • SYSTEM_MANAGED | USER_CREATED
    • SYSTEM_MANAGED: 네이버 클라우드 플랫폼이 제공하는 관리형 정책
    • USER_CREATED: 사용자가 생성한 정책
  • <예시> USER_CREATED
description String - 정책에 대한 설명
  • <예시> 정책 설명입니다
nrn String - 정책의 NRN(Ncloud Resource Name)
  • <예시> nrn:GOV:IAM::25000000:Policy/4e066e50-9c3a-11e7-8a66-1e5021fa7c80

응답 상태 코드

Sub Account API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Sub Account 응답 상태 코드를 참조해 주십시오.

이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.

HTTP 상태 코드 코드 메시지 설명
200 - - 수정된 서브 계정을 반환
400 BadRequest The request is malformed or contains an error such as an invalid parameter value or a missing required parameter. 유효하지 않은 요청. 필수 필드 누락, 형식 오류 등 입력값 검증 실패
403 Forbidden You do not have sufficient permissions to perform this action. 요청한 자원(또는 상위 자원)에 대한 접근 권한 없음. 자원의 존재 여부와 무관하게 우선 반환
404 SubAccountNotFound The specified sub account could not be found. 지정한 서브 계정이 존재하지 않음

응답 예시

응답 예시는 다음과 같습니다.

{
  "subAccountId": "4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
  "subAccountNo": 23229,
  "loginId": "myloginid01",
  "name": "홍길동",
  "email": "user@example.com",
  "emailVerified": true,
  "passwordResetRequired": true,
  "apiGatewayAccessible": false,
  "consoleAccessible": true,
  "consolePermitIpEnabled": false,
  "consolePermitIpAddresses": [
    "10.0.0.0/8"
  ],
  "apiAllowSourceEnabled": false,
  "apiAllowSources": [
    {
      "type": "IP",
      "source": "10.0.0.0/8"
    }
  ],
  "lastLoginDateTime": "2024-01-01T00:00:00Z",
  "createdDateTime": "2024-01-01T00:00:00Z",
  "memo": "서브 계정 메모입니다",
  "active": true,
  "updatedDateTime": "2024-01-01T00:00:00Z",
  "groups": [
    {
      "groupId": "4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
      "groupName": "my-group",
      "nrn": "nrn:GOV:IAM::25000000:Group/4e066e50-9c3a-11e7-8a66-1e5021fa7c80"
    }
  ],
  "policies": [
    {
      "policyId": "4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
      "policyName": "my-policy",
      "policyType": "USER_CREATED",
      "description": "정책 설명입니다",
      "nrn": "nrn:GOV:IAM::25000000:Policy/4e066e50-9c3a-11e7-8a66-1e5021fa7c80"
    }
  ],
  "nrn": "nrn:GOV:IAM::25000000:SubAccount/4e066e50-9c3a-11e7-8a66-1e5021fa7c80"
}