getPolicy

Prev Next

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

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

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

정책 ID로 지정한 단일 정책의 상세 정보를 조회합니다.

요청

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

메서드 URI
GET /policies/{policyId}

요청 헤더

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

요청 경로 파라미터

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

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

요청 쿼리 파라미터

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

필드 타입 필수 여부 설명
withPermissions Boolean Optional 권한 상세 정보 포함 여부
  • true | false
    • true: 응답에 정책의 해석된 권한 상세 정보(permissions) 포함
    • false: 권한 상세 정보를 포함하지 않음
  • 기본값: false
  • <예시> true

요청 예시

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

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

응답

응답 형식을 설명합니다.

응답 바디

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

필드 타입 필수 여부 설명
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
createdDateTime String (date-time) - 정책이 생성된 일시
  • <예시> 2019-08-10T13:21:00Z
updatedDateTime String (date-time) - 정책이 마지막으로 수정된 일시
  • <예시> 2019-08-10T13:21:00Z
permissions List<PolicyPermission> - 정책이 부여하는 권한(액션 및 리소스 구문) 목록. withPermissions=true인 경우에만 반환

PolicyPermission

정책에 포함되는 권한(효과, 대상, 조건)

필드 타입 필수 여부 설명
effect String - 권한 효과. 값은 IAM 정책 문서 문법(Effect)의 값을 그대로 사용
  • Allow | Deny
    • Allow: targets에 지정한 대상에 대한 액션을 허용
    • Deny: targets에 지정한 대상에 대한 액션을 거부. 같은 요청에 Allow와 Deny가 함께 적용되면 Deny가 우선
  • <예시> Allow
targets List<PolicyPermissionTarget> - 권한이 적용되는 대상(상품, 액션, 리소스) 목록
condition Map<Map<String | List<String>>> - 권한 적용 조건. 조건 연산자를 키로 하고 그 아래에 조건 키와 조건 값을 두는 중첩 맵으로 지정. 연산자는 문자열 비교와 일시 비교, Null, 그리고 각 연산자에 IfExists를 붙인 변형을 지원하며, 지원하지 않는 연산자를 지정하면 400(iam.policy.invalidConditionSyntax)으로 응답. 조건 키는 요청 주체를 식별하는 ncp: 접두의 전역 속성과 태그 키를 뒤에 붙여 쓰는 형식(예: ncp:resourceTag/{tagKey})을 사용. 지원 연산자와 조건 키의 전체 목록은 정책 조건 가이드(https://guide-gov.ncloud-docs.com/docs/subaccount-condition)를 참고
  • <예시> {"StringEquals": {"ncp:resourceTag/env": "beta"}, "DateGreaterThan": {"ncp:currentTime": "2026-01-01T00:00:00Z"}}
condition.<키>.<키> String | List<String> - 조건 값. 단일 문자열 또는 문자열 배열로 지정. 일시 비교 연산자의 값은 RFC 3339 형식의 일시 문자열이고, Null 연산자의 값은 문자열 true 또는 false

PolicyPermissionTarget

권한이 적용되는 대상(상품, 액션, 리소스)

필드 타입 필수 여부 설명
product String - 권한 대상 상품(서비스) 코드
  • <예시> IAM
actions List<String> - 권한 대상 액션 목록
  • <예시> ["View/getPolicyDetail"]
resourceNrns List<String> - 권한 대상 리소스의 NRN 목록
  • <예시> ["nrn:GOV:IAM::25000000:Policy/4e066e50-9c3a-11e7-8a66-1e5021fa7c80"]

응답 상태 코드

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

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

HTTP 상태 코드 코드 메시지 설명
200 - - 요청한 정책을 반환. withPermissions를 true로 지정한 경우에만 permissions가 포함
400 BadRequest The request is malformed or contains an error such as an invalid parameter value or a missing required parameter. 유효하지 않은 요청. policyId, withPermissions 값의 형식·허용 범위 검증에 실패
403 Forbidden You do not have sufficient permissions to perform this action. 요청한 자원(또는 상위 자원)에 대한 접근 권한 없음. 자원의 존재 여부와 무관하게 우선 반환
404 NotFound One or more of the resources in the request does not exist in the system. 요청한 자원을 찾을 수 없음

응답 예시

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

{
  "policyId": "4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
  "policyName": "my-policy",
  "policyType": "USER_CREATED",
  "description": "정책 설명입니다",
  "nrn": "nrn:GOV:IAM::25000000:Policy/4e066e50-9c3a-11e7-8a66-1e5021fa7c80",
  "createdDateTime": "2019-08-10T13:21:00Z",
  "updatedDateTime": "2019-08-10T13:21:00Z",
  "permissions": [
    {
      "effect": "Allow",
      "targets": [
        {
          "product": "IAM",
          "actions": [
            "View/getPolicyDetail"
          ],
          "resourceNrns": [
            "nrn:GOV:IAM::25000000:Policy/4e066e50-9c3a-11e7-8a66-1e5021fa7c80"
          ]
        }
      ],
      "condition": {
        "StringEquals": {
          "ncp:resourceTag/env": "beta"
        },
        "DateGreaterThan": {
          "ncp:currentTime": "2026-01-01T00:00:00Z"
        }
      }
    }
  ]
}