이 페이지에서는 조직, 폴더 또는 프로젝트의 Google Kubernetes Engine VM을 비롯한 모든 Compute Engine 인스턴스에서 조직 정책 서비스를 사용하여 VM Manager를 사용 설정하는 방법을 설명합니다.
이 가이드는 보안 및 모니터링 에이전트와 같은 모든 필수 프로그램이 조직, 폴더 또는 프로젝트의 모든 인스턴스에서 실행되도록 하려는 보안팀을 대상으로 합니다. 조직 정책으로만 구성을 적용하려면 이 가이드를 사용하세요. config-as-code 접근 방식을 사용하려면 구성 동기화를 사용하세요. 구성 동기화를 사용하면 클러스터의 여러 측면을 구성하고 제어할 수 있으며 조직 정책 이상의 가치를 제공합니다.
이 페이지를 읽기 전에 VM Manager 및 Resource Manager 제약조건을 이미 숙지해야 합니다.
이 가이드에서는 조직 또는 폴더의 모든 프로젝트에서 VM Manager 사용을 적용하는 방법을 보여줍니다. 이 가이드에서는 OS 정책으로 VM Manager를 설정하고 사용하는 방법을 보여주지 않습니다. 이러한 안내는 OS 정책 할당 만들기를 참조하세요.
VM Manager 정보
VM Manager는 Compute Engine에서 Windows 및 Linux를 실행하는 대규모 가상 머신 (VM) Fleet의 운영체제를 관리할 수 있는 도구 모음입니다. VM Manager를 사용하여 OS 정책 을 적용하여 VM에서 실행되는 프로그램을 맞춤설정할 수 있습니다. 예를 들어 리소스에 에이전트를 설치하는 정책을 정의하고 여러 리소스에서 해당 정책을 재사용할 수 있습니다. VM Manager는 기본적으로 Google Cloud 프로젝트에서 사용 중지되어 있습니다.
선택기를 사용하여 OS 정책의 범위를 특정 VM으로 지정할 수 있는 OSPolicyAssignments를 사용하여 VM Manager가 정책을 적용하는 위치를 세부적으로 조정할 수 있습니다. 예를 들어 모든 GKE 노드 VM에는 OS 정책 할당으로 타겟팅할 수 있는 goog-gke-node 라벨이 있습니다.
조직 정책 및 VM Manager
조직에 폴더 및 하위 폴더와 같은 여러 수준의 계층 구조가 있는 경우 이러한 모든 프로젝트에서 VM Manager를 수동으로 사용 설정하면 불필요한 관리 오버헤드가 발생할 수 있습니다. Google Cloud constraints/compute.requireOsConfig 제약조건과 함께 조직 정책 서비스를 사용하여 폴더 또는 조직의 모든 프로젝트에서 모든 VM에 VM Manager를 사용 설정하도록 요구할 수 있습니다. 조직 정책을 사용하여 VM Manager를 적용하면 다음과 같은 이점이 있습니다.
- 모든 새 프로젝트는 모든 프로젝트와 VM에
enable-osconfig=TRUE메타데이터 라벨을 추가합니다. - 이 라벨을 삭제하거나
true이외의 값으로 설정하려고 하면 변경사항이 거부됩니다. enable-osconfig메타데이터 키를true이외의 값으로 설정하는 방식으로 VM을 만들거나 업데이트하려고 하면 변경사항이 거부됩니다.
시작하기 전에
시작하기 전에 다음 태스크를 수행했는지 확인합니다.
- Google Kubernetes Engine API를 사용 설정합니다. Google Kubernetes Engine API 사용 설정
- 이 태스크에 Google Cloud CLI를 사용하려면 gcloud CLI를 설치한 후 초기화합니다. 이전에 gcloud CLI를 설치했으면
gcloud components update명령어를 실행하여 최신 버전을 가져옵니다. 이전 gcloud CLI 버전에서는 이 문서의 명령어를 실행하지 못할 수 있습니다.
- OS 정책 및 OS 정책 할당으로 VM에서 에이전트를 실행하기 위해 VM Manager를 이미 사용하고 있는지 확인합니다. 자세한 내용은 OS 정책 할당 만들기를 참조하세요.
Cloud Resource Manager API, OS 구성 API API를 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기.
제한사항
constraints/compute.requireOsConfig 조직 정책에는 다음과 같은 제한사항이 있습니다.
- 기존 위반이 있는 리소스는 새 조직 정책에 의해 변경되지 않습니다. 기존 리소스에서 정책의 메타데이터를 수동으로 또는
gcloud를 사용하여 설정할 수 있습니다. - 프로젝트의 Compute Engine 인스턴스에서 메타데이터를 변경할 수 있는 권한이 있는 사용자는
osconfig-disabled-features메타데이터 필드를 설정하여 VM에서osconfig-agent를 사용 중지할 수 있습니다. osconfig-agent가 실행되고 있지 않으면 VM이 VM Manager 대시보드에 규정 미준수로 표시됩니다. 예를 들어 사용자가 에이전트를 수동으로 사용 중지한 경우에 발생할 수 있습니다.
필요한 역할
조직 정책을 관리하는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 조직 정책 관리자(roles/orgpolicy.policyAdmin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
조직 전체에서 compute.requireOsConfig 사용 설정
VM Manager를 사용 설정하고 VM에 OSPolicyAssignment의 범위를 지정한 후에는 constraints/compute.requireOsConfig 조직 정책을 사용하여 새 프로젝트에서 VM Manager가 기본적으로 사용 설정되도록 할 수 있습니다. constraints/compute.requireOsConfig를 적용하는 방법은 사용하는 API 버전에 따라 다릅니다.
조직 정책 v2 API
gcloud CLI 또는 Google Cloud 콘솔을 사용하여 폴더 또는 조직과 같은
Google Cloud 리소스 전체에서 constraints/compute.requireOsConfig 제약조건을 적용할 수 있습니다.
gcloud
compute.requireOsConfig제약조건이 아직 적용되지 않았는지 확인합니다.gcloud org-policies describe \ constraints/compute.requireOsConfig \ --organization=ORGANIZATION_IDORGANIZATION_ID를 조직 ID로 바꿉101}.정책이 설정되지 않은 경우 이 명령어는
NOT_FOUND오류를 반환합니다.ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.정책이 있는 경우 명령어는 현재 정책을 반환합니다. 새 정책을 적용하면 기존 정책이 있는 경우 덮어씁니다.
정책을 저장할 임시 파일
/tmp/policy.yaml을 만듭니다.name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: trueset-policy명령어를 실행합니다.gcloud org-policies set-policy /tmp/policy.yaml새 정책이 적용되었는지 확인합니다.
gcloud org-policies describe \ constraints/compute.requireOsConfig --effective \ --organization=ORGANIZATION_ID이 명령어 출력은 다음과 비슷합니다.
name: organizations/ORGANIZATION_ID/policies/constraints/compute.requireOsConfig spec: rules: - enforce: true
Console
콘솔에서 조직 정책 페이지로 이동합니다. Google Cloud
프로젝트 선택 도구에서 조직 정책을 수정하려는 프로젝트, 폴더, 조직을 선택합니다.
조직 정책 페이지에서 필터를 사용하여
compute.requireOsConfig를 검색합니다.정책 이름을 클릭하여 정책 세부정보 페이지를 엽니다.
정책 관리 를 클릭하여 이 리소스의 조직 정책을 업데이트합니다.
정책 수정 페이지에서 상위 정책 재정의 를 선택합니다.
규칙 추가 를 선택합니다.
시행에서 이 조직 정책 시행을 사용 설정으로 변경합니다.
정책을 시행하려면 정책 설정 을 클릭합니다.
Resource Manager v1 API
compute.requireOsConfig제약조건이 아직 적용되지 않았는지 확인합니다.gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --organization ORGANIZATION_IDORGANIZATION_ID를 조직 ID로 바꿉니다.정책이 설정되지 않은 경우 이 명령어는 다음 예와 같이 불완전한 정책을 반환합니다.
constraint: "constraints/compute.requireOsConfig" etag: BwVJi0OOESU=정책이 있는 경우 명령어는 현재 정책을 반환합니다. 새 정책을 적용하면 기존 정책이 있는 경우 덮어씁니다.
조직에 적용할 정책을 설정합니다.
gcloud resource-manager org-policies enable-enforce constraints/compute.requireOsConfig \ --organization ORGANIZATION_ID이 명령어 출력은 다음과 비슷합니다.
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig etag: BwVJitxdiwY=새 정책이 적용되었는지 확인합니다.
gcloud resource-manager org-policies describe constraints/compute.requireOsConfig \ --effective \ --organization ORGANIZATION_ID이 명령어 출력은 다음과 비슷합니다.
booleanPolicy: enforced: true constraint: constraints/compute.requireOsConfig
조직 정책 변경사항이 완전히 적용되는 데 최대 15분이 걸릴 수 있습니다.
적용할 수 있는 다른 정책 또는 정책을 수정하거나 삭제하는 방법에 대한 자세한 내용은 Resource Manager 문서를 참조하세요.