정책 생성

정책 생성 (Create policy)

POST /orgs/{org_name}/governance/policies — 빈 규칙 세트로 새 정책을 만들어요. 규칙은 rules 하위 리소스를 통해 별도로 추가돼요.

출처: 문서

본문

API 버전 1 — Create policy · POST /orgs/{org_name}/governance/policies

빈 규칙 세트로 새 정책을 만들어요. 규칙은 rules 하위 리소스를 통해 별도로 추가돼요.

연결 및 접근 (Connection and access)

API 연결 및 인증 안내

https://hub.docker.com/v2

다음 대안 중 하나를 사용해요. 한 대안 안의 요구 사항은 함께 적용돼요.

  • bearerAuth

파라미터

org_name

path · 필수

Docker Hub 조직 이름.

유형: string

{
  "type": "string"
}

요청 및 응답

Media type: application/json

요청 (Request)

정책 이름과 선택적 스코프.

스키마: CreatePolicyRequest

{
  "name": "Security Research — hardened",
  "scope": {
    "teams": [
      "d290f1ee-6c54-4b01-90e6-d701748f0851"
    ]
  }
}

응답 201

정책 생성됨. 규칙 세트 없이 새 정책을 반환해요.

스키마: Policy

{
  "created_at": "2026-04-22T00:00:00Z",
  "id": "pol_06evsmp24r1pg71cm8500546pkbn",
  "name": "Security Research — hardened",
  "org": "my-org",
  "scope": {
    "teams": [
      "d290f1ee-6c54-4b01-90e6-d701748f0851"
    ]
  },
  "updated_at": "2026-04-22T00:00:00Z"
}

응답 400

Bad request (잘못된 요청) · 스키마: Error

{
  "error": {
    "code": "invalid_argument",
    "message": "name is required"
  }
}

응답 401

Missing or invalid credentials (자격 증명 누락 또는 유효하지 않음) · 스키마: Error

{
  "error": {
    "code": "unauthenticated",
    "message": "unauthenticated"
  }
}

응답 403

호출자가 이 조직에 대한 필수 권한이 없거나, 조직이 governance를 사용할 자격이 없거나(permission_denied), 생성 한도에 도달했을 때(limit_exceeded): 조직이 이미 최대 정책 수에 도달했거나, 정책이 이미 최대 규칙 수에 도달했어요.

스키마: Error

limit_exceeded:

{
  "error": {
    "code": "limit_exceeded",
    "message": "organization has reached the maximum of 100 policies"
  }
}

permission_denied:

{
  "error": {
    "code": "permission_denied",
    "message": "permission denied"
  }
}

응답 404

Not found (찾을 수 없음) · 스키마: Error

{
  "error": {
    "code": "not_found",
    "message": "policy not found"
  }
}

응답 409

Conflict (충돌) · 스키마: Error

{
  "error": {
    "code": "conflict",
    "message": "policy name already in use"
  }
}

응답 500

Internal server error (내부 서버 오류) · 스키마: Error

{
  "error": {
    "code": "internal",
    "message": "internal error"
  }
}

참조 스키마

  • #/components/schemas/CreatePolicyRequest
  • #/components/schemas/Policy

요청 예시

플레이스홀더를 바꾸고 필요한 자격 증명이나 요청 본문을 제공하세요.

curl \
  --request POST \
  --header "Authorization: Bearer ***" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "Security Research — hardened",
  "scope": {
    "teams": [
      "d290f1ee-6c54-4b01-90e6-d701748f0851"
    ]
  }
}' \
  'https://hub.docker.com/v2/orgs//governance/policies'

더 알아보기 (Learn more)