updateRole

Prev Next

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

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

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

역할 ID로 지정한 기존 역할의 설명 등 변경 가능한 속성을 수정하고, 수정된 역할을 반환. 요청 본문은 부분 수정 미디어 타입(application/merge-patch+json)과 일반 JSON을 모두 지원하며, 생략한 필드는 기존 값을 유지합니다. null 허용으로 선언한 필드에 null을 보내면 값을 비우고, 그 외 필드에 null을 보내면 400을 반환합니다.

요청

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

메서드 URI
PATCH /roles/{roleId}

요청 헤더

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

요청 경로 파라미터

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

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

요청 바디

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

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

필드 타입 필수 여부 설명
roleName String Optional 변경할 역할의 이름
  • 길이: 3 ~ 100
  • <예시> my-role
roleType String Optional 역할 유형. 생략하면 기존 값을 유지하며, 기존 값과 다르게 변경 불가. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
  • Server | Account | Service
    • Server: 서버 인스턴스에 부여하는 역할
    • Account: 다른 계정이 전환해 사용하는 역할
    • Service: 서비스형 상품에 부여하는 역할
  • <예시> Server
description String | null Optional 역할에 대한 설명. null이면 설명을 비움
  • 길이: 0 ~ 300
  • <예시> 역할 설명입니다
sessionExpirationSeconds Integer (int32) Optional 세션 만료 시간(초). 생략하면 기존 값을 유지. 역할 유형(roleType)이 Account가 아닌 역할에서 입력하면 400을 반환
  • 600 | 1800
  • <예시> 600

요청 예시

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

curl --location --request PATCH 'https://subaccount.apigw.gov-ntruss.com/api/v2/roles/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'

응답

응답 형식을 설명합니다.

응답 바디

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

필드 타입 필수 여부 설명
nrn String - 역할의 NRN(Ncloud Resource Name)
  • <예시> nrn:GOV:IAM::25000000:Role/4e066e50-9c3a-11e7-8a66-1e5021fa7c80
roleId String (uuid) - 역할의 식별자
  • <예시> 4e066e50-9c3a-11e7-8a66-1e5021fa7c80
roleName String - 역할의 이름
  • <예시> my-role
roleType String - 역할 유형. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
  • Server | Account | SSO | NcloudStorage | Service
    • Server: 서버 인스턴스에 부여하는 역할
    • Account: 다른 계정이 전환해 사용하는 역할
    • Service: 서비스형 상품에 부여하는 역할
    • SSO: SSO 서비스가 관리하는 역할
    • NcloudStorage: Ncloud Storage 서비스가 관리하는 역할
  • <예시> Server
sessionExpirationSeconds Integer (int32) - 역할 세션의 만료 시간(초). 역할 유형(roleType)이 Account·SSO인 경우에만 반환
  • <예시> 600
description String - 역할에 대한 설명
  • <예시> 역할 설명입니다
active Boolean - 역할 활성화 상태
  • true | false
    • true: 역할이 활성 상태
    • false: 역할이 비활성 상태여서 전환·사용 불가
  • <예시> true
createdDateTime String (date-time) - 역할이 생성된 일시
  • <예시> 2019-08-10T13:21:00Z
updatedDateTime String (date-time) - 역할이 마지막으로 수정된 일시
  • <예시> 2019-08-10T13:21:00Z
lastUsedDateTime String (date-time) - 역할이 마지막으로 사용된 일시
  • <예시> 2019-08-10T13:21:00Z
policies List<PolicySummary> - 역할에 연결된 정책 목록
entities List<RoleEntity> - 역할에 연결된 엔터티 목록

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

RoleEntity

역할을 부여받는 엔터티 정보

필드 타입 필수 여부 설명
id String - 역할을 부여받는 엔터티의 식별자. Server 유형은 서버 인스턴스 번호, Account 유형은 역할 전환을 허용받은 계정의 계정 번호, Service 유형은 서비스 이름을 사용. SSO·NcloudStorage 유형은 각 서비스가 관리하는 식별자
  • <예시> 12345
type String - 역할을 부여받는 엔터티의 유형. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
  • Server | Account | SSO | NcloudStorage | Service
    • Server: 서버 인스턴스
    • Account: 역할 전환을 허용받은 계정
    • Service: 서비스형 상품
    • SSO: SSO 서비스가 관리하는 유형으로, 직접 연결할 수 없고 조회 응답에서만 표시
    • NcloudStorage: Ncloud Storage 서비스가 관리하는 유형으로, 직접 연결할 수 없고 조회 응답에서만 표시
  • <예시> Server

응답 상태 코드

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 RoleNotFound The specified role could not be found. 지정한 역할이 존재하지 않음
409 AlreadyExists A resource with the requested identifier already exists. 이미 같은 값을 사용하는 자원이 존재

응답 예시

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

{
  "nrn": "nrn:GOV:IAM::25000000:Role/4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
  "roleId": "4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
  "roleName": "my-role",
  "roleType": "Server",
  "sessionExpirationSeconds": 600,
  "description": "역할 설명입니다",
  "active": true,
  "createdDateTime": "2019-08-10T13:21:00Z",
  "updatedDateTime": "2019-08-10T13:21:00Z",
  "lastUsedDateTime": "2019-08-10T13:21:00Z",
  "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"
    }
  ],
  "entities": [
    {
      "id": "12345",
      "type": "Server"
    }
  ]
}