테넌트 프로젝트 관리

이 페이지에서는 테넌트 프로젝트를 생성 및 삭제하는 방법을 설명합니다.

단일 서비스 소비자 전용의 관리형 서비스 리소스를 호스팅하는 데 사용되는 Google Cloud 프로젝트인 테넌트 프로젝트를 만들고 구성하려면 Service Consumer Management API를 사용합니다. 각 테넌트 프로젝트는 테넌시 유닛과 연관되어 있습니다.

테넌시 유닛은 프로젝트 목적을 나타내고 프로비저닝 해제할 때 참조 목적으로 사용할 수 있는 tag: string 식별자가 할당된 여러 테넌트 프로젝트를 포함할 수 있습니다.

테넌트 프로젝트는 생성된 후에는 조직의 일반적인 Google Cloud 프로젝트와 동일합니다. 일반적인 Google Cloud 프로젝트와 마찬가지로 이 프로젝트에서도 아무 관리 도구나 사용해서 작업할 수 있습니다.

테넌트 프로젝트 만들기

테넌트 프로젝트를 만들고 이를 테넌시 유닛에 추가하려면 services.tenancyUnits.addProject 메서드를 호출합니다.

다음 예시에서는 REST API를 사용해서 tag1 태그가 포함된 새 테넌트 프로젝트를 테넌시 유닛에 추가합니다.

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject

호출에는 다음 데이터가 포함됩니다.

{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy":{"policy_bindings":{"role":"roles/owner", "members":"user:bob@example.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}

이 호출은 프로젝트가 성공적으로 생성되었는지를 확인하기 위해 쿼리할 수 있는 장기 실행 작업이 반환됩니다.

새 테넌트 프로젝트는 프로젝트 선취권으로 구성됩니다. 프로젝트 선취권은 실수로 삭제되는 것을 방지하기 위해 테넌트 프로젝트에 설정되는 속성입니다. services.tenancyUnits.removeProject 메서드를 호출하여 선취권을 해제하고 프로젝트를 삭제해야 합니다. 이 보호 조치를 건너뛰는 것은 권장되지 않습니다.

테넌트 프로젝트는 설정 및 구성 중에 지정한 폴더에서 만들어집니다. 생성 후에 프로젝트를 다른 폴더로 이동하는 것은 권장되지 않습니다.

Service Consumer Management API 서비스 계정은 테넌트 프로젝트 구성에 지정된 다른 사용자와 별도로 테넌트 프로젝트의 생성자 및 소유자입니다. 이 계정을 소유자 역할에서 삭제하는 것은 권장되지 않습니다.

일부 경우에는 새 테넌트 프로젝트를 만드는 대신 테넌트 프로젝트가 되도록 기존 Google Cloud 프로젝트를 업데이트해야 할 수 있습니다. 기존 Google Cloud 프로젝트를 테넌시 유닛에 추가하려면 services.tenancyUnits.attachProject 메서드를 호출합니다.

테넌트 프로젝트 삭제

abc 태그가 포함된 테넌트 프로젝트를 삭제하려면 다음 예시에 설명된 것처럼 services.tenancyUnits.removeProject 메서드를 호출합니다.

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject

호출에는 다음 데이터가 포함됩니다.

{"tag":"abc"}

이 작업은 프로젝트 선취권을 삭제하고, 프로젝트와 그 안에 있는 모든 리소스를 삭제하고, 연관된 모든 메타데이터를 테넌시 유닛에서 삭제합니다.

이렇게 하면 프로젝트가 삭제되고, 연관된 모든 메타데이터가 테넌시 유닛에서 삭제됩니다. 프로젝트를 삭제하고 싶지만 기록을 보관하려면 대신 services.tenancyUnits.deleteProject 메서드를 호출합니다. 이 메서드는 프로젝트를 삭제하고 메타데이터를 남겨서 DELETED 상태로 주석 처리합니다. 삭제된 프로젝트를 삭제 취소하려면 services.tenancyUnits.undeleteProject 메서드를 호출합니다.