테스트 실행 구성 관리

이 페이지에서는 서비스 경계의 테스트 실행 구성을 관리하는 방법을 설명합니다. 일반적으로 서비스 경계를 관리하는 방법에 대한 자세한 내용은 서비스 경계 관리를 참조하세요.

시작하기 전에

테스트 실행 구성 시행

서비스 경계의 테스트 실행 구성에 만족하면 이 구성을 시행할 수 있습니다. 테스트 실행 구성이 시행되면 경계에 대해 현재 시행 중인 구성이 있는 경우 이를 대체합니다. 강제 적용되는 경계 버전이 없으면 테스트 실행 구성이 경계의 초기 시행 구성으로 사용됩니다.

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

콘솔

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

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

  2. VPC 서비스 제어 페이지 상단에서 테스트 실행 모드를 클릭합니다.

  3. 서비스 경계 목록에서 적용할 서비스 경계의 이름을 클릭합니다.

  4. VPC 서비스 경계 세부정보 페이지의 테스트 실행 구성 섹션에서 시행을 클릭합니다.

  5. 기존 시행 구성을 덮어 쓸지 확인하는 메시지가 표시되면 시행을 클릭합니다.

gcloud

gcloud 명령줄 도구를 사용하여 개별 경계는 물론 모든 경계에 대한 연습 구성을 적용할 수 있습니다.

하나의 테스트 실행 구성 시행

단일 경계에 대해 테스트 실행 구성을 시행하려면 dry-run enforce 명령어를 사용합니다.

gcloud access-context-manager perimeters dry-run enforce PERIMETER_NAME \
  [--policy=POLICY_NAME]

각 항목의 의미는 다음과 같습니다.

  • PERIMETER_NAME은 세부정보를 확인하고자 하는 서비스 경계의 이름입니다.

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

모든 테스트 실행 구성 적용

모든 경계에 대해 테스트 실행 구성을 적용하려면 dry-run enforce-all 명령어를 사용합니다.

gcloud access-context-manager perimeters dry-run enforce-all \
  [--etag=ETAG]
  [--policy=POLICY_NAME]

각 항목의 의미는 다음과 같습니다.

  • PERIMETER_NAME은 세부정보를 확인하고자 하는 서비스 경계의 이름입니다.

  • ETAG은 조직의 액세스 정책 대상 버전을 나타내는 문자열입니다. ETag를 포함하지 않으면 enforce-all 작업은 최신 버전의 조직 액세스 정책을 타겟팅합니다.

    액세스 정책의 최신 ETag와 list 액세스 정책을 가져옵니다.

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

API

모든 경계에 테스트 실행 구성을 시행하려면 accessPolicies.servicePerimeters.commit을 호출합니다.

테스트 실행 구성 업데이트

테스트 실행 구성을 업데이트할 때 경계의 다른 기능 중에서 서비스, 프로젝트, VPC 액세스 가능한 서비스 목록을 수정할 수 있습니다.

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

콘솔

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

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

  2. VPC 서비스 제어 페이지 상단에서 테스트 실행 모드를 클릭합니다.

  3. 서비스 경계 목록에서 수정할 서비스 경계의 이름을 클릭합니다.

  4. VPC 서비스 경계 세부정보 페이지의 테스트 실행 구성 섹션에서 수정을 클릭합니다.

  5. VPC 서비스 경계 수정 페이지에서 서비스 경계의 테스트 실행 구성을 변경합니다.

  6. 저장을 클릭합니다.

gcloud

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

gcloud access-context-manager perimeters dry-run update PERIMETER_NAME \
  --add-resources=RESOURCES \
  [--policy=POLICY_NAME]

각 항목의 의미는 다음과 같습니다.

  • PERIMETER_NAME은 세부정보를 확인하고자 하는 서비스 경계의 이름입니다.

  • 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_NAME은 조직의 액세스 정책 이름입니다. 이 값은 기본 액세스 정책을 설정하지 않은 경우에만 필요합니다.

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

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

각 항목의 의미는 다음과 같습니다.

  • PERIMETER_NAME은 세부정보를 확인하고자 하는 서비스 경계의 이름입니다.

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

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

차단된 요청 식별

테스트 실행 구성을 만든 후에는 로그를 검토하여 테스트 실행 구성이 시행되는 경우 서비스 액세스를 거부하는 위치를 식별할 수 있습니다.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 Logging을 클릭한 후 로그 탐색기를 클릭합니다.

    로그 탐색기로 이동

  2. 쿼리 필드에 다음 필터와 같은 쿼리 필터를 입력한 다음 쿼리 실행을 클릭합니다.

    log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"
    
  3. 쿼리 결과에서 로그를 확인합니다.

gcloud

gcloud CLI를 사용하여 로그를 보려면 다음과 같은 명령어를 실행합니다.

gcloud logging read 'log_id("cloudaudit.googleapis.com/policy") AND severity="error" AND protoPayload.metadata.dryRun="true"'