서비스 경계의 폴더 지원

VPC 서비스 제어의 폴더 기반 멤버십 기능을 사용하면 Google Cloud 폴더를 구성원으로 사용하여 서비스 경계를 정의할 수 있습니다. 이 기능은 단일 경계 구성으로 전체 폴더 계층 구조를 보호할 수 있도록 지원하여 대규모 경계 관리의 관리 오버헤드를 줄여줍니다.

이 문서에서는 경계의 폴더 지원 작동 방식을 설명하고 다음 내용을 다룹니다.

  • 폴더를 경계에서 사용할 때의 핵심 개념, 동작, 이점

  • 폴더 기반 멤버십, 중첩된 리소스, 상속 및 평가 우선순위와 같은 리소스 계층 구조 규칙 간의 상호작용

  • 프로젝트 및 폴더에 대해 구성된 경계를 조회하는 방법

  • 이 기능을 사용할 때의 권장사항 및 알려진 제한사항

경계의 폴더 멤버십 정보

Google Cloud 폴더에는 여러 프로젝트, 다른 폴더 또는 프로젝트와 다른 폴더 모두가 포함될 수 있습니다. 폴더 내의 개별 프로젝트를 서비스 경계에 추가할 수 있지만 상위 폴더를 대신 추가하는 것이 좋습니다. 경계를 만들 때 폴더를 보호된 리소스로 지정하면 VPC 서비스 제어에 프로젝트, 중첩된 폴더 등 해당 폴더 내의 모든 리소스가 포함됩니다.

경계에 구성된 폴더에 프로젝트를 추가하면 VPC 서비스 제어에서 해당 프로젝트를 동일한 경계에 자동으로 추가합니다. 이러한 프로젝트를 포함하도록 경계 구성을 업데이트할 필요가 없습니다. 마찬가지로 폴더에서 프로젝트를 삭제하면 VPC 서비스 제어에서 경계에서 해당 프로젝트를 자동으로 삭제합니다.

중첩된 폴더 및 상속

VPC 서비스 제어는 중첩된 폴더 및 해당 리소스와 같이 경계에 구성된 폴더 내의 모든 리소스를 제한합니다. 폴더를 경계에 추가하면 VPC 서비스 제어에서 해당 폴더와 하위 폴더의 모든 프로젝트를 자동으로 제한합니다.

리소스 멤버십 평가 우선순위

Google Cloud 리소스는 시행 모드의 일반 서비스 경계 하나와 테스트 실행 모드의 일반 서비스 경계 하나로만 보호할 수 있습니다. 리소스 또는 상위 폴더가 여러 경계와 연결된 경우 리소스 계층에서 최하위 수준 연결이 유효한 경계를 결정합니다.

VPC 서비스 제어는 시행 모드와 테스트 실행 모드의 우선순위를 독립적으로 평가합니다.

  • 시행 모드 우선순위: 유효한 시행 경계는 시행 경계에 명시적으로 할당된 계층 구조의 최하위 리소스 (프로젝트 자체 또는 가장 가까운 상위 폴더)에 의해 결정됩니다.
  • 테스트 실행 모드 우선순위: 효과적인 테스트 실행 경계는 테스트 실행 경계에 명시적으로 할당되거나 명시적으로 할당된 강제 시행 리소스에서 암시적으로 상속된 계층 구조의 가장 낮은 리소스에 의해 결정됩니다.

프로젝트 또는 하위 폴더에 테스트 실행 경계를 구성해도 상위 폴더에 구성된 시행 경계가 사용 중지되거나 재정의되지 않습니다.

우선순위 예

  • 예 1 (시행 모드에서 직접 프로젝트 재정의): 시행된 경계 (sp1)에서 상위 폴더 (folders/1)를 구성하고 해당 폴더 내의 프로젝트 (projects/1)를 다른 시행된 경계 (sp2)에서 명시적으로 구성하는 경우 projects/1은 sp2로 보호됩니다. 직접 프로젝트 할당이 폴더 상속보다 우선 적용됩니다. folders/1의 다른 모든 프로젝트 (예: projects/2)는 폴더 상속을 통해 sp1로 보호됩니다.

  • 예 2 (테스트 실행 모드의 폴더 상속): 테스트 실행 모드의 서비스 경계에서 폴더 (folders/1)를 구성하면 명시적으로 사용 중지하지 않는 한 해당 폴더 내의 모든 프로젝트 (projects/1 및 projects/2)가 테스트 실행 경계 구성 (sp1)을 상속합니다. 드라이 런 상속은 중첩된 리소스가 다른 테스트 실행 경계로 명시적으로 구성되지 않는 한 시행 모드 상속과 동일하게 작동합니다.

  • 예 3 (시행 및 드라이 런 경계의 독립적 평가): VPC 서비스 제어는 시행 및 드라이 런 연결을 독립적으로 평가합니다. 시행 경계 (sp1)에서 상위 폴더 (folders/1)를 구성하고 해당 폴더 내의 프로젝트(projects/1)를 테스트 실행 경계 (sp2)에 명시적으로 할당하면 projects/1는 시행 모드에서 sp1로 보호되는 동시에 테스트 실행 모드에서 sp2로 평가됩니다. 테스트 실행 경계에 프로젝트를 할당해도 상위 폴더의 시행 경계가 재정의되거나 사용 중지되지는 않습니다.

  • 예 4 (다단계 폴더 계층 구조 및 하위 폴더 우선순위): 다단계 폴더 계층 구조에서 VPC 서비스 제어는 계층 구조의 각 수준에서 우선순위를 평가합니다. 상위 폴더 (folders/2)가 강제 적용 경계 (sp1)에 구성된 경우 포함된 모든 프로젝트(projects/1 및 projects/2)는 sp1 강제 적용을 상속합니다. 테스트 실행 경계가 서로 다른 수준에서 할당되는 경우(예: 상위 folders/2가 테스트 실행 경계 sp2에 할당되고 프로젝트 projects/2(하위 폴더 folders/1에 있음)가 테스트 실행 경계 sp1에 할당됨) 각 프로젝트는 가장 가까운 상위 항목에서 테스트 실행 구성을 상속합니다. 따라서 projects/1은 sp2 드라이 런에서 평가되지만 projects/2은 sp1 드라이 런에서 평가됩니다.

구성된 유효한 경계 조회

리소스는 상위 폴더에서 경계 보호를 상속받을 수 있으므로 LookupConfiguredServicePerimeter 메서드를 사용하여 프로젝트 또는 폴더를 보호하는 서비스 경계를 식별할 수 있습니다.

API는 다음을 반환합니다.

  • servicePerimeter: 적용된 효과적인 강제 시행 경계의 정규화된 이름입니다.
  • servicePerimeterDryRun: 유효한 드라이 런 경계의 정규화된 이름입니다.
  • restrictedResource: 시행 경계가 직접 연결된 특정 리소스 (프로젝트 또는 폴더)입니다.
  • restrictedResourceDryRun: 드라이런 경계가 직접 연결된 특정 리소스입니다.

자세한 내용은 구성된 보안 경계 조회를 참고하세요.

경계에서 프로젝트 제외

폴더 수준 경계에서 프로젝트를 제외하려면 서비스를 제한하지 않고 모든 인그레스 및 이그레스 트래픽을 허용하는 별도의 경계에 해당 프로젝트를 명시적으로 할당하세요. 명시적 프로젝트 구성이 폴더 수준 경계보다 우선하므로 프로젝트가 폴더 경계에서 제외됩니다.

경계 업데이트에 대한 자세한 내용은 서비스 경계 업데이트를 참고하세요.

범위가 지정된 정책

범위가 지정된 정책 내의 서비스 경계는 해당 정책 범위 내에 있는 리소스만 제한합니다. 폴더가 범위가 지정된 경계에 멤버로 포함되려면 액세스 정책의 범위가 해당 폴더 또는 해당 폴더의 상위 항목 (예: 상위 폴더 또는 조직)으로 지정되어야 합니다.

권장사항

폴더 기반 경계를 관리할 때는 다음 권장사항을 검토하세요.

프로젝트를 폴더 경계로 안전하게 이전

명시적 프로젝트 멤버십에서 폴더 기반 멤버십으로 전환할 때는 다음 단계에 따라 의도치 않은 경계 시행 중단을 방지하세요.

  1. 타겟 상위 폴더를 서비스 경계에 추가합니다.
  2. 리소스 계층 구조에서 해당 상위 폴더 아래에 있는 프로젝트를 이동합니다.
  3. 최소 48시간 대기: 명시적 프로젝트 항목을 경계 구성에 최소 48시간 동안 유지합니다. 이 대기 기간을 통해 모든 시스템에서 리소스 계층 구조 전파가 완료될 수 있습니다.
  4. 경계에서 명시적 프로젝트 구성을 삭제합니다. 폴더 상속을 통해 프로젝트가 계속 보호됩니다.

계층 구조 이동

폴더나 프로젝트를 이동하면 적용되는 경계 보호가 변경됩니다. 예기치 않은 액세스 거부를 방지하려면 Resource Manager 관리자와 모든 계층 구조 이동을 조정하세요.

경계에 구성한 프로젝트를 다른 폴더로 이동하고 해당 폴더를 동일한 경계에 추가하는 경우 경계에 기존 명시적 프로젝트 멤버십 구성을 최소 48시간 동안 유지해야 합니다. 이 대기 기간을 통해 리소스 계층 구조가 전파되고 경계에서 명시적 프로젝트 구성을 삭제할 때 예기치 않은 경계 적용 문제가 방지됩니다.

제한사항

  • 경계 브리지에서는 폴더 기반 멤버십이 지원되지 않습니다. 경계 브리지는 프로젝트 리소스만 허용합니다.

  • VPC 서비스 제어는 폴더 수준 API 리소스를 지원하지 않습니다.

  • 알려진 문제로 인해 드라이런 경계에서 VPC 네트워크 프로젝트를 보호된 리소스로 구성하면 폴더 기반 시행이 재정의됩니다. 네트워크 프로젝트가 드라이런 경계에 명시적으로 추가되면 상위 폴더에서 상속된 강제 경계 보호가 손실됩니다.

  • 폴더 멤버십은Google Cloud API가 아닌 API와 allowed_service_patterns로 구성된 경계에서 지원되지 않습니다. 이러한 서비스 패턴에 대한 액세스를 허용하려면 폴더를 통해 상속받는 대신 시작 프로젝트 또는 VPC 네트워크를 경계에 명시적으로 추가해야 합니다.

다음 단계