서비스 경계 관리

이 페이지에서는 VPC 서비스 제어에서 서비스 경계를 관리하는 방법을 설명합니다. 새 서비스 경계를 만드는 방법에 대한 자세한 내용은 서비스 경계 만들기를 참조하세요.

이 페이지에는 다음 섹션이 포함되어 있습니다.

시작하기 전에

서비스 경계 나열 및 설명

조직의 모든 서비스 경계를 나열합니다.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 보안을 클릭한 다음 VPC 서비스 제어를 클릭합니다.

    VPC 서비스 제어 페이지로 이동

  2. VPC 서비스 제어 페이지의 표에서 보려는 서비스 경계의 이름을 클릭합니다.

gcloud

조직의 서비스 경계를 나열하려면 list 명령어를 사용합니다.

gcloud access-context-manager perimeters list \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

조직의 경계 목록이 표시됩니다. 예를 들면 다음과 같습니다.

NAME           TITLE
ProdPerimeter  Production Perimeter

서비스 경계에 대한 세부정보를 보려면 describe 명령어를 사용합니다.

gcloud access-context-manager perimeters \
  describe PERIMETER_ID \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 세부정보를 확인하고자 하는 서비스 경계의 ID입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

경계에 대한 세부정보를 볼 수 있습니다. 예를 들면 다음과 같습니다.

accessLevels:
- accessPolicies/626111171578/accessLevels/corpAccess
resources:
- projects/111584792408
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
title: Production Perimeter

서비스 경계 나열(형식 지정)

gcloud 명령줄 도구를 사용하여 YAML 또는 JSON 형식으로 서비스 경계 목록을 가져올 수 있습니다.

형식이 지정된 경계 목록을 가져오려면 list 명령어를 사용합니다.

gcloud access-context-manager perimeters list \
  --format=FORMAT \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • FORMAT는 다음 값 중 하나입니다.

    • list(YAML 형식)

    • json(JSON 형식)

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

다음 출력은 YAML 형식의 예시 목록입니다.

- name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- name: accessPolicies/165717541651/servicePerimeters/Private
  spec: {'resources': ['projects/136109111311'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com', 'logging.googleapis.com']}
  status: {'resources': ['projects/136109111311', 'projects/401921913171'], 'restrictedServices': ['bigquery.googleapis.com']}
  title: Private
  useExplicitDryRunSpec: True
- name: accessPolicies/165717541651/servicePerimeters/OnpremBridge
  perimeterType: PERIMETER_TYPE_BRIDGE
  status: {'resources': ['projects/167410821371']}
  title: OnpremBridge

다음 출력은 JSON 형식의 예시 목록입니다.

[
  {
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/Private",
    "spec": {
      "resources": [
        "projects/136109111311"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com",
        "logging.googleapis.com"
      ]
    },
    "status": {
      "resources": [
        "projects/136109111311",
        "projects/401921913171"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com"
      ]
    },
    "title": "Private",
    "useExplicitDryRunSpec": true
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

서비스 경계 업데이트

이 섹션에서는 개별 서비스 경계를 업데이트하는 방법을 설명합니다. 한 번의 작업으로 조직의 모든 서비스 경계를 업데이트하려면 서비스 경계 일괄 변경을 참조하세요.

서비스 경계를 업데이트하기 위해 다음 태스크를 수행할 수 있습니다.

서비스 경계를 업데이트한 후 변경사항이 전파되고 적용되려면 최대 30분이 걸릴 수 있습니다. 이 시간 동안 경계에서 Error 403: Request is prohibited by organization's policy. 오류 메시지와 함께 요청을 차단할 수 있습니다.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 보안을 클릭한 다음 VPC 서비스 제어를 클릭합니다.

    VPC 서비스 제어 페이지로 이동

  2. VPC 서비스 제어 페이지의 표에서 수정하려는 서비스 경계의 이름을 클릭합니다.

  3. VPC 서비스 경계 수정 페이지에서 서비스 경계를 업데이트합니다.

  4. 저장을 클릭합니다.

gcloud

새 프로젝트를 경계에 추가하려면 update 명령어를 사용하여 추가할 리소스를 지정합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-resources=RESOURCES \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 세부정보를 확인하고자 하는 서비스 경계의 ID입니다.

  • RESOURCES는 하나 이상의 프로젝트 번호 또는 VPC 네트워크 이름의 쉼표로 구분된 목록입니다. 예를 들면 projects/12345 또는 //compute.googleapis.com/projects/my-project/global/networks/vpc1입니다. 프로젝트 및 VPC 네트워크만 허용됩니다. 프로젝트 형식: projects/project_number. VPC 형식: //compute.googleapis.com/projects/project-id/global/networks/network_name.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

제한된 서비스 목록을 업데이트하려면 update 명령어를 사용하여 쉼표로 구분된 목록으로 추가할 서비스를 지정합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 세부정보를 확인하고자 하는 서비스 경계의 ID입니다.

  • SERVICES는 쉼표로 구분된 하나 이상의 서비스 목록입니다. 예를 들면 storage.googleapis.com 또는 storage.googleapis.com,bigquery.googleapis.com입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

기존 경계에 액세스 수준 추가

액세스 수준을 생성했으면 서비스 경계에 적용하여 액세스를 제어할 수 있습니다.

서비스 경계를 업데이트한 후 변경사항이 전파되고 적용되려면 최대 30분이 걸릴 수 있습니다. 이 시간 동안 경계에서 Error 403: Request is prohibited by organization's policy. 오류 메시지와 함께 요청을 차단할 수 있습니다.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 보안을 클릭한 다음 VPC 서비스 제어를 클릭합니다.

    VPC 서비스 제어 페이지로 이동

  2. VPC 서비스 제어 페이지의 표에서 수정하려는 서비스 경계의 이름을 클릭합니다.

  3. VPC 서비스 경계 수정 페이지에서 액세스 수준 선택 상자를 클릭합니다.

  4. 서비스 경계에 적용할 액세스 수준에 해당하는 체크박스를 선택합니다.

  5. 저장을 클릭합니다.

gcloud

액세스 수준을 기존 서비스 경계에 추가하려면 update 명령어를 사용합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • LEVEL_NAME은 경계에 추가하려는 액세스 수준의 이름입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

서비스 경계 삭제

서비스 경계를 삭제하면 경계와 관련된 보안 제어가 더 이상 관련 Google Cloud 프로젝트에 적용되지 않습니다. 멤버 Google Cloud 프로젝트 또는 관련 리소스는 이에 영향을 받지 않습니다.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 보안을 클릭한 다음 VPC 서비스 제어를 클릭합니다.

    VPC 서비스 제어 페이지로 이동

  2. VPC 서비스 제어 페이지에서 삭제할 경계에 해당하는 테이블 행에서 를 클릭합니다.

gcloud

서비스 경계를 삭제하려면 delete 명령어를 사용하세요.

gcloud access-context-manager perimeters delete PERIMETER_ID \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

VPC 액세스 서비스로 경계 내부의 서비스에 대한 액세스 제한

이 섹션에서는 VPC 액세스 가능 서비스를 사용 설정, 추가, 삭제, 사용 중지하는 방법을 설명합니다.

VPC 액세스 가능 서비스 기능을 사용하여 서비스 경계 의 네트워크 엔드포인트에서 액세스할 수 있는 서비스 집합을 제한할 수 있습니다. 서비스 경계에는 VPC 액세스 가능 서비스를 추가할 수 있지만 경계 브리지에는 추가할 수 없습니다.

VPC 액세스 가능 서비스 기능에 대한 자세한 내용은 VPC 액세스 가능 서비스를 참조하세요.

VPC 액세스 가능 서비스 사용 설정

서비스 경계에 VPC 액세스 가능 서비스를 사용 설정하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • SERVICES는 경계 의 네트워크에 액세스를 허용하려는 하나 이상의 서비스가 쉼표로 구분된 목록입니다. 이 목록에 포함되지 않은 모든 서비스에 대한 액세스가 차단됩니다.

    경계로 보호되는 서비스를 빠르게 포함하려면 SERVICES의 목록에 RESTRICTED-SERVICES를 추가합니다. RESTRICTED-SERVICES 외에 다른 서비스를 포함할 수 있습니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

예를 들어 경계 내부의 VPC 네트워크가 Logging 및 Cloud Storage 서비스에만 액세스할 수 있도록 하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update example_perimeter \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,logging.googleapis.com,storage.googleapis.com \
  --policy=11271009391

VPC 액세스 가능 서비스에 서비스 추가

경계의 VPC 액세스 가능 서비스에 서비스를 추가하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • SERVICES는 경계 의 네트워크에 액세스를 허용하려는 하나 이상의 서비스가 쉼표로 구분된 목록입니다.

    경계로 보호되는 서비스를 빠르게 포함하려면 SERVICES의 목록에 RESTRICTED-SERVICES를 추가합니다. RESTRICTED-SERVICES 외에 개별 서비스를 포함할 수 있습니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

예를 들어 VPC 액세스 가능 서비스를 사용 설정하고 경계 내의 VPC 네트워크가 Pub/Sub 서비스에 대한 액세스 권한이 필요하면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update example_perimeter \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,pubsub.googleapis.com \
  --policy=11271009391

VPC 액세스 가능 서비스에서 서비스 삭제

서비스 경계의 VPC 액세스 가능 서비스에서 서비스를 삭제하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • SERVICES는 서비스 경계 내의 네트워크에 액세스할 수 있는 서비스 목록에서 삭제할 하나 이상의 서비스에 대한 쉼표로 구분된 목록입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

예를 들어 VPC 액세스 가능 서비스를 사용 설정했고 더 이상 경계 내의 VPC 네트워크가 Cloud Storage 서비스에 액세스하지 못하도록 하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update example_perimeter \
  --remove-vpc-allowed-services=storage.googleapis.com \
  --policy=11271009391

VPC 액세스 가능 서비스 사용 중지

서비스 경계에 대한 VPC 서비스 제한을 사용 중지하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update PERIMETER_ID \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_ID]

다음을 바꿉니다.

  • PERIMETER_ID는 서비스 경계의 ID입니다.

  • POLICY_ID는 조직의 액세스 정책 ID입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

예를 들어 example_perimeter에 대한 VPC 서비스 제한을 중지하려면 다음 명령어를 사용합니다.

gcloud access-context-manager perimeters update example_perimeter \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  --policy=11271009391

VPC 액세스 가능 서비스 및 Access Context Manager API

Access Context Manager API를 사용하여 VPC 액세스 가능 서비스를 관리할 수도 있습니다. 서비스 경계를 만들거나 수정할 때 응답 본문에서 ServicePerimeterConfig 객체를 사용하여 VPC 액세스 가능 서비스를 구성합니다.