기본적으로 프로젝트의 사용자는 공개 이미지 및 주 구성원이 IAM 역할을 통해 액세스할 수 있는 이미지를 사용하여 영구 디스크를 만들거나 이미지를 복사할 수 있습니다. 하지만 일부의 경우 주 구성원이 정책/보안 요구사항을 충족하는 승인 소프트웨어가 포함된 이미지에서만 부팅 디스크를 만들도록 제한할 수 있습니다.
신뢰할 수 있는 이미지 기능을 사용하면 주 구성원이 특정 프로젝트의 이미지에서만 영구 디스크를 만들도록 조직 정책을 정의할 수 있습니다.
이미지를 사용할 수 있는 위치를 제한하려면 공유 이미지, 디스크, 스냅샷 사용 제한을 참조하세요.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 다음을 수행하세요.
- 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
- 기본 리전 및 영역을 설정합니다.
- 이 가이드의 API 예시를 사용하려면 API 액세스를 설정합니다.
- 조직 수준에서 정책을 관리하는 방법은 제약조건 사용 페이지를 참조하세요.
- 조직 정책 전파 방법은 계층 구조 평가 이해 페이지를 참조하세요.
제한사항
신뢰할 수 있는 이미지 정책은 다음 이미지에 대한 액세스를 제한하지 않습니다.
로컬 프로젝트의 커스텀 이미지
Cloud Storage 버킷의 이미지 파일
신뢰할 수 있는 이미지 정책은 사용자가 자신의 로컬 프로젝트에 이미지 리소스를 만드는 것을 제한하지 않습니다.
이미지 액세스 제약조건 설정
프로젝트, 폴더 또는 조직에 compute.trustedImageProjects
제약조건을 설정하여 이미지 액세스 정책을 적용합니다. 이 제약조건을 설정하려면 조직 정책을 수정할 권한이 있어야 합니다. 예를 들어 roles/orgpolicy.policyAdmin
에는 이러한 제약조건을 설정할 수 있는 권한이 있습니다. 프로젝트, 폴더 또는 조직 수준에서 정책을 관리하는 방법에 대한 자세한 내용은 제약조건 사용을 참조하세요.
Compute Engine에서 사용할 수 있는 모든 공개 이미지에 제약조건을 설정할 수 있습니다.
이미지 프로젝트 이름 목록은 운영체제 세부정보를 참조하세요.
또한 ml-images
프로젝트를 사용하여 Compute Engine에서 사용할 수 있는 머신러닝(ML) 이미지를 제한할 수도 있습니다. 서버리스 VPC 액세스를 사용하는 경우 serverless-vpc-access-images
프로젝트에서 Compute Engine VM 이미지 사용 권한을 프로젝트에 부여합니다.
Google Cloud Console 또는 Google Cloud CLI를 사용하여 이미지 액세스에 대한 제약조건을 설정합니다.
Console
예를 들어 프로젝트 수준에서 제약조건을 설정하려면 다음을 수행합니다.
- 조직 정책 페이지로 이동합니다.
- 정책 목록에서 신뢰할 수 있는 이미지 프로젝트 정의를 클릭합니다.
- 편집을 클릭하여 기존의 신뢰할 수 있는 이미지 제약조건을 맞춤설정합니다.
- 수정 페이지에서 맞춤설정을 선택합니다.
- 정책 값 드롭다운 목록에서 커스텀을 선택하여 특정 이미지 프로젝트에 대한 제약조건을 설정합니다.
- 정책 유형 드롭다운 목록에서 다음과 같이 값을 지정합니다.
- 지정된 이미지 프로젝트를 제한하려면 거부를 선택합니다.
- 지정된 이미지 프로젝트의 제한사항을 삭제하려면 허용을 선택합니다.
커스텀 값 필드에
projects/IMAGE_PROJECT
형식을 사용하여 이미지 프로젝트의 이름을 입력합니다. IMAGE_PROJECT를 제약조건을 설정할 이미지 프로젝트로 바꿉니다.프로젝트 수준 제약조건을 설정하는 경우 조직 또는 폴더에 설정된 기존 제약조건과 충돌할 수 있습니다.
새 정책 값을 클릭하여 여러 이미지 프로젝트를 추가합니다.
저장을 클릭하여 제약조건을 적용합니다.
조직 정책 만들기에 대한 자세한 내용은 조직 정책 만들기 및 관리를 참조하세요.
gcloud
예를 들어 프로젝트 수준에서 제약조건을 설정하려면 다음을 수행합니다.
resource-manager org-policies describe
명령어를 사용하여 프로젝트의 기존 정책 설정을 가져옵니다.gcloud resource-manager org-policies describe \ compute.trustedImageProjects --project=PROJECT_ID \ --effective > policy.yaml
PROJECT_ID를 프로젝트 ID로 바꿉니다.
텍스트 편집기에서
policy.yaml
파일을 열고compute.trustedImageProjects
제약조건을 수정합니다. 필요한 제한사항을 추가하고 더 이상 필요하지 않은 제한사항을 삭제합니다. 파일 수정이 끝나면 변경사항을 저장합니다. 예를 들어 정책 파일에서 설정할 수 있는 제약조건 항목은 다음과 같습니다.constraint: constraints/compute.trustedImageProjects listPolicy: allowedValues: - projects/debian-cloud - projects/cos-cloud deniedValues: - projects/IMAGE_PROJECT
IMAGE_PROJECT를 프로젝트에서 제한하고자 하는 이미지 프로젝트의 이름으로 바꿉니다.
원하는 경우 프로젝트에 있는 커스텀 이미지 외의 모든 이미지에 대한 액세스를 거부할 수 있습니다. 이런 경우 다음 예시를 사용합니다.
constraint: constraints/compute.trustedImageProjects listPolicy: allValues: DENY
프로젝트에
policy.yaml
파일을 적용합니다. 조직 또는 폴더에 기존 제약조건이 있는 경우 이 제약조건이 프로젝트 수준에서 설정해 둔 제약조건과 충돌할 수도 있습니다. 제약조건을 적용하려면resource-manager org-policies set-policy
명령어를 사용합니다.gcloud resource-manager org-policies set-policy \ policy.yaml --project=PROJECT_ID
PROJECT_ID를 프로젝트 ID로 바꿉니다.
제약조건 구성을 완료한 후에는 이 제약조건을 테스트하여 제한사항이 원하는 대로 구현되는지 확인합니다.
다음 단계
- 조직 정책 서비스에 대해 자세히 알아봅니다.
- 기본적으로 사용 가능한 공개 이미지를 확인합니다.
- 다른 프로젝트와 비공개 이미지 공유
- 공유 이미지, 디스크, 스냅샷 사용 제한 방법을 알아봅니다.
- 이미지에서 인스턴스를 시작하는 방법을 알아봅니다.