이 가이드는 API 명세를 기반으로 자동 생성했습니다.
Classic/VPC 환경에서 이용 가능합니다.
Ncloud API 표준 규격을 적용한 API입니다.
호출자 계정 하위에 새로운 역할을 생성하며, 전달된 태그가 있으면 함께 연결합니다. 생성된 역할을 반환합니다.
요청
요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.
| 메서드 | URI |
|---|---|
| POST | /roles |
요청 헤더
Sub Account API에서 공통으로 사용하는 헤더에 대한 정보는 Sub Account 요청 헤더를 참조해 주십시오.
요청 바디
요청 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
roleName |
String | Required | 생성할 역할의 이름
|
roleType |
String | Required | 역할 유형. SSO와 NcloudStorage는 서비스가 관리하는 유형이라 지정 불가. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
|
sessionExpirationSeconds |
Integer (int32) | Optional | 세션 만료 시간(초). 역할 유형(roleType)이 Account인 경우 필수로 입력하며, 그 외 역할 유형에서 입력하면 400을 반환
|
description |
String | Optional | 역할에 대한 설명
|
tags |
Map<String> | Optional | 리소스에 부여할 태그의 키-값 맵
|
tags.<키> |
String | - | 태그의 값
|
요청 예시
요청 예시는 다음과 같습니다.
curl --location --request POST 'https://subaccount.apigw.gov-ntruss.com/api/v2/roles' \
--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' \
--data '{
"roleName": "my-role",
"roleType": "Server"
}'
응답
응답 형식을 설명합니다.
응답 바디
응답 바디에 대한 설명은 다음과 같습니다.
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
nrn |
String | - | 역할의 NRN(Ncloud Resource Name)
|
roleId |
String (uuid) | - | 역할의 식별자
|
roleName |
String | - | 역할의 이름
|
roleType |
String | - | 역할 유형. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
|
sessionExpirationSeconds |
Integer (int32) | - | 역할 세션의 만료 시간(초). 역할 유형(roleType)이 Account·SSO인 경우에만 반환
|
description |
String | - | 역할에 대한 설명
|
active |
Boolean | - | 역할 활성화 상태
|
createdDateTime |
String (date-time) | - | 역할이 생성된 일시
|
updatedDateTime |
String (date-time) | - | 역할이 마지막으로 수정된 일시
|
lastUsedDateTime |
String (date-time) | - | 역할이 마지막으로 사용된 일시
|
policies |
List<PolicySummary> | - | 역할에 연결된 정책 목록 |
entities |
List<RoleEntity> | - | 역할에 연결된 엔터티 목록 |
PolicySummary
정책 요약 정보. 서브 계정·그룹·역할 응답의 연결된 정책 목록에 사용
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
policyId |
String (uuid) | - | 정책의 식별자
|
policyName |
String | - | 정책의 이름
|
policyType |
String | - | 정책 유형
|
description |
String | - | 정책에 대한 설명
|
nrn |
String | - | 정책의 NRN(Ncloud Resource Name)
|
RoleEntity
역할을 부여받는 엔터티 정보
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
id |
String | - | 역할을 부여받는 엔터티의 식별자. Server 유형은 서버 인스턴스 번호, Account 유형은 역할 전환을 허용받은 계정의 계정 번호, Service 유형은 서비스 이름을 사용. SSO·NcloudStorage 유형은 각 서비스가 관리하는 식별자
|
type |
String | - | 역할을 부여받는 엔터티의 유형. 값은 V1 API와 같은 역할 유형 코드를 그대로 사용
|
응답 상태 코드
Sub Account API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Sub Account 응답 상태 코드를 참조해 주십시오.
이 API에만 해당하는 응답 상태 코드는 다음과 같습니다.
| HTTP 상태 코드 | 코드 | 메시지 | 설명 |
|---|---|---|---|
| 201 | - | - | 생성된 역할을 반환 |
| 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. | 요청한 자원(또는 상위 자원)에 대한 접근 권한 없음. 자원의 존재 여부와 무관하게 우선 반환 |
| 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"
}
]
}