신뢰할 수 있는 이미지 정책 설정

기본적으로 프로젝트의 사용자는 공개 이미지주 구성원이 IAM 역할을 통해 액세스할 수 있는 이미지를 사용하여 영구 디스크를 만들거나 이미지를 복사할 수 있습니다. 하지만 일부의 경우 주 구성원이 정책/보안 요구사항을 충족하는 승인 소프트웨어가 포함된 이미지에서만 부팅 디스크를 만들도록 제한할 수 있습니다.

신뢰할 수 있는 이미지 기능을 사용하면 주 구성원이 특정 프로젝트의 이미지에서만 영구 디스크를 만들도록 조직 정책을 정의할 수 있습니다.

이미지를 사용할 수 있는 위치를 제한하려면 공유 이미지, 디스크, 스냅샷 사용 제한을 참조하세요.

시작하기 전에

제한사항

  • 신뢰할 수 있는 이미지 정책은 다음 이미지에 대한 액세스를 제한하지 않습니다.

  • 신뢰할 수 있는 이미지 정책은 사용자가 자신의 로컬 프로젝트에 이미지 리소스를 만드는 것을 제한하지 않습니다.

이미지 액세스 제약조건 설정

프로젝트, 폴더 또는 조직에 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

예를 들어 프로젝트 수준에서 제약조건을 설정하려면 다음을 수행합니다.

  1. 조직 정책 페이지로 이동합니다.

    조직 정책으로 이동

  2. 정책 목록에서 신뢰할 수 있는 이미지 프로젝트 정의를 클릭합니다.
  3. 편집을 클릭하여 기존의 신뢰할 수 있는 이미지 제약조건을 맞춤설정합니다.
  4. 수정 페이지에서 맞춤설정을 선택합니다.
  5. 정책 값 드롭다운 목록에서 커스텀을 선택하여 특정 이미지 프로젝트에 대한 제약조건을 설정합니다.
  6. 정책 유형 드롭다운 목록에서 다음과 같이 값을 지정합니다.
    • 지정된 이미지 프로젝트를 제한하려면 거부를 선택합니다.
    • 지정된 이미지 프로젝트의 제한사항을 삭제하려면 허용을 선택합니다.
  7. 커스텀 값 필드에 projects/IMAGE_PROJECT 형식을 사용하여 이미지 프로젝트의 이름을 입력합니다. IMAGE_PROJECT를 제약조건을 설정할 이미지 프로젝트로 바꿉니다.

    프로젝트 수준 제약조건을 설정하는 경우 조직 또는 폴더에 설정된 기존 제약조건과 충돌할 수 있습니다.

  8. 새 정책 값을 클릭하여 여러 이미지 프로젝트를 추가합니다.

  9. 저장을 클릭하여 제약조건을 적용합니다.

조직 정책 만들기에 대한 자세한 내용은 조직 정책 만들기 및 관리를 참조하세요.

gcloud

예를 들어 프로젝트 수준에서 제약조건을 설정하려면 다음을 수행합니다.

  1. resource-manager org-policies describe 명령어를 사용하여 프로젝트의 기존 정책 설정을 가져옵니다.

    gcloud resource-manager org-policies describe \
       compute.trustedImageProjects --project=PROJECT_ID \
       --effective > policy.yaml
    

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

  2. 텍스트 편집기에서 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
    

  3. 프로젝트에 policy.yaml 파일을 적용합니다. 조직 또는 폴더에 기존 제약조건이 있는 경우 이 제약조건이 프로젝트 수준에서 설정해 둔 제약조건과 충돌할 수도 있습니다. 제약조건을 적용하려면 resource-manager org-policies set-policy 명령어를 사용합니다.

    gcloud resource-manager org-policies set-policy \
       policy.yaml --project=PROJECT_ID
    

    PROJECT_ID를 프로젝트 ID로 바꿉니다.

제약조건 구성을 완료한 후에는 이 제약조건을 테스트하여 제한사항이 원하는 대로 구현되는지 확인합니다.

다음 단계