VPC 서비스 제어는 데이터 무단 반출을 방지하기 위해 서비스 경계를 설정할 수 있는 Google Cloud 기능입니다.
Developer Connect의 VPC 서비스 제어는 외부 소스 코드 관리 시스템으로의 무단 반출 가능성을 방지하지 않습니다. 이 가이드에서는 커스텀 조직 정책을 사용하여 이러한 시나리오를 차단하는 데 도움이 되는 추가 제어 방법을 보여줍니다. SCMS
VPC 서비스 제어를 사용하는 방법에 대한 자세한 내용은 VPC 서비스 제어를 사용하여 서비스 경계 설정을 참조하세요.
만들기 개발자가 연결을 만들 수 있는 대상을 제한하는 커스텀 조직 정책을 만듭니다.
만들기 개발자가 특정 서비스 디렉터리 리소스를 통해서만 연결을 만들고 업데이트할 수 있도록 허용하는 커스텀 조직 정책
시작하기 전에
이 가이드에서 명령줄 예시를 사용하려면 Google Cloud CLI를 설치하고 구성합니다.
필요한 역할
커스텀 조직 정책을 만들거나 수정하는 데 필요한 권한을 얻으려면 관리자에게 조직 리소스에 대한 조직 정책 관리자 (roles/orgpolicy.policyAdmin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
팀에서 연결을 만들 수 있는 SCMS를 제한하는 제약조건 만들기
SCMS로의 데이터 무단 반출 가능성을 완화하는 한 가지 방법은 연결에 허용되는 SCMS를 제한하는 것입니다. 지정된 SCMS 하나 이상에 대한 연결을 허용하는 커스텀 조직 정책을 만들 수 있습니다.
다음 조직 정책은 GitHub Enterprise에만 연결을 허용하도록 저장소 연결을 제한합니다.
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
resource.githubEnterpriseConfig.hostUri=="https://github.mycompany.net"
actionType: ALLOW
displayName: Connection GitHub Enterprise Host Constraint
description: |
Allows creation/update of Developer Connect connections only to GitHub Enterprise host github.mycompany.net
서비스 디렉터리를 통한 연결을 요구하는 제약조건 만들기
지정된 서비스 디렉터리 엔드포인트에만 연결을 허용하는 커스텀 조직 정책을 만들어 데이터 무단 반출 가능성을 완화할 수 있습니다.
다음 조직 정책은 특정 서비스 디렉터리 엔드포인트에만 연결을 허용합니다.
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- developerconnect.googleapis.com/Connection
methodTypes:
- CREATE
- UPDATE
condition: |
resource.gitlabEnterpriseConfig.serviceDirectoryConfig.service=="projects/my-project/locations/us-central1/namespaces/ns/services/myendpoint"
actionType: ALLOW
displayName: Connection GitLab Enterprise Service Directory endpoint
description: |
Allows creation/update of Developer Connect connections only through a specific Service Directory resource
Developer Connect 인사이트의 제한사항
VPC 서비스 제어와 함께 Developer Connect 인사이트
(InsightsConfig)를 사용하는 경우 다음과 같은 알려진
제한사항 및 구성 요구사항을 고려하세요.
App Hub API 의존성: Developer Connect 인사이트는 App Hub API에 의존합니다. 폴더 관리 경계를 사용하는 애플리케이션의 경우 폴더 수준의 VPC 서비스 제어 제한사항이 하위 프로젝트에 적용되지 않습니다. App Hub는 하위 프로젝트가 관리 프로젝트와 동일한 경계에 있지 않더라도 모든 하위 프로젝트의 서비스와 워크로드를 검색할 수 있습니다.
App Topology를 통해 사용할 수 있는 리소스 메타데이터: Developer Connect 인사이트를 사용하는 경우 App Topology API도 사용 설정되어 있으면 App Topology를 통해 풍부한 리소스 메타데이터를 사용할 수 있습니다. 두 서비스를 모두 사용하는 경우 경계에서 Developer Connect 인사이트 API (
developerconnect.googleapis.com) 와 App Topology API(apptopology.googleapis.com)를 모두 제한하는 것이 좋습니다.App Hub 애플리케이션 피드 및 IAM 액세스 제어:
InsightsConfig가 App Hub 애플리케이션의 인사이트를 추적할 때 Developer Connect는 App Hub 애플리케이션의 관리 폴더 또는 프로젝트 경계에 Cloud 애셋 인벤토리 실시간 피드를 만듭니다. 이러한 피드의 데이터는 Developer Connect 서비스에 직접 게시되지만 이러한 폴더 또는 프로젝트에서 애셋 메타데이터를 읽을 수 있는 Developer Connect 서비스 에이전트만 사용합니다. IAM 역할을 사용하여 이 액세스 권한이 부여되는 Developer Connect 서비스 에이전트를 제한하는 것 외에도InsightsConfig리소스를 호스팅하는 프로젝트와 데이터가 게시되는 프로젝트는 동일한 VPC 서비스 제어 경계에 있어야 하거나 액세스를 허용하도록 Developer Connect 서비스 에이전트에 대해 구성된 인그레스 및 이그레스 규칙을 추가해야 합니다.프로젝트 범위 피드 및 IAM 액세스 제어:
InsightsConfig가 프로젝트로 범위가 지정되면 Developer Connect 는 대상 프로젝트에 직접 Cloud 애셋 인벤토리 실시간 피드를 만듭니다. 이러한 피드의 데이터는 Developer Connect 서비스에 직접 게시되지만 이러한 프로젝트에서 애셋 메타데이터를 읽을 수 있는 Developer Connect 서비스 에이전트만 사용합니다. IAM 역할을 사용하여 이 액세스 권한이 부여되는 Developer Connect 서비스 에이전트를 제한하는 것 외에도InsightsConfig리소스를 호스팅하는 프로젝트와 데이터가 게시되는 프로젝트는 동일한 VPC 서비스 제어 경계에 있어야 하거나 액세스를 허용하도록 Developer Connect 서비스 에이전트에 대해 구성된 인그레스 및 이그레스 규칙을 추가해야 합니다.아티팩트 메타데이터 및 출처의 경계 정렬:
InsightsConfig리소스를 호스팅하는 프로젝트와 아티팩트 메타데이터 또는 출처가 포함된 프로젝트는 동일한 VPC 서비스 제어 경계에 있어야 하거나 액세스를 허용하도록 Developer Connect 서비스 에이전트에 대해 구성된 인그레스 및 이그레스 규칙 을 추가해야 합니다.배포 로깅의 경계 정렬:
InsightsConfig리소스를 호스팅하는 프로젝트와 배포가 포함된 프로젝트는 동일한 VPC 서비스 제어 경계에 있어야 하거나 액세스를 허용하도록 Developer Connect 서비스 에이전트에 대해 구성된 인그레스 및 이그레스 규칙 을 추가해야 합니다.