워크로드 업데이트 적용

이 페이지에서는 Assured Workloads 폴더의 워크로드 업데이트를 사용 설정, 확인, 적용하는 방법을 설명합니다. Assured Workloads는 업데이트된 조직 정책 제약조건 값과 같은 일반 개선사항과 새로운 설정으로 제어 패키지를 정기적으로 업데이트합니다. 이 기능을 사용하면 현재 Assured Workloads 폴더 구성을 사용 가능한 최신 구성과 비교하여 평가하고 제안된 업데이트를 적용할 수 있습니다.

기본적으로 이 기능은 새 Assured Workloads 폴더에 자동으로 사용 설정됩니다. 기존 폴더의 경우 워크로드 업데이트를 사용 설정하는 단계를 따르는 것이 좋습니다.

이 기능에 대한 추가 요금이 발생하지 않거나 Assured Workloads 모니터링의 동작은 영향을 받지 않습니다. 구성 업데이트를 사용할 수 있는지 여부와 관계없이 폴더 현재 구성으로 규정을 준수하지 않으면 계속 알림이 전송됩니다.

워크로드 업데이트 개요

새 Assured Workloads 폴더를 만들 때 선택한 제어 패키지 유형(예: FedRAMP Moderate)에 따라 워크로드에 적용되는 다양한 구성 설정이 결정됩니다. 이러한 설정 중 일부는 조직 정책 제약 조건의 형태로 외부에 표시되지만, 다른 설정은 Google의 내부 시스템에만 적용됩니다. Assured Workloads는 내부 구성 버전 관리 시스템을 사용하여 각 제어 패키지 유형의 변경사항을 유지합니다.

새 내부 구성 버전을 사용할 수 있게 되면 Assured Workloads는 워크로드의 구성을 새 내부 버전과 비교합니다. 차이가 있는 경우 이를 분석하고 그 결과 얻은 개선사항을 워크로드 구성에 적용할 수 있는 업데이트로 사용할 수 있습니다.

사용 가능한 Assured Workloads 업데이트는 워크로드의 제어 패키지 요구사항을 준수하는 것으로 Google에서 확인한 것입니다. 하지만 사용 가능한 각 업데이트가 조직의 규제 또는 규정 준수 요구사항을 충족하는지 검토할 책임은 여전히 사용자에게 있습니다. 자세한 내용은 Assured Workloads의 공유 책임을 참조하세요.

지원되는 업데이트 유형

이 기능은 Assured Workloads 폴더에서 다음과 같은 유형의 업데이트를 보고 적용하는 것을 지원합니다.

  • 조직 정책 제약 조건: 워크로드에 적용되고 Assured Workloads에서 시행하는 모든 조직 정책 제약 조건은 워크로드 업데이트에 포함될 수 있습니다. 단, 다음과 같은 예외가 있습니다.

    • gcp.resourceLocations
    • gcp.restrictCmekCryptoKeyProjects

시작하기 전에

  • 업데이트를 사용 설정할 Assured Workloads 폴더의 리소스 ID를 식별합니다.
  • 대상 Assured Workloads 폴더와 워크로드에 대한 IAM 권한을 할당하거나 확인합니다.

필수 IAM 권한

워크로드 업데이트를 사용 설정, 확인 또는 적용하려면 더 광범위한 권한 집합이 포함된 사전 정의된 역할 또는 필요한 최소 권한으로 제한된 커스텀 역할 중 하나를 사용하여 호출자에게 IAM 권한을 부여해야 합니다. 필요한 orgpolicy.policy.set 권한은 커스텀 역할에서 사용할 수 없습니다.

다음 권한이 필요합니다.

워크로드 업데이트 사용 설정

워크로드 업데이트를 사용 설정하면 Assured Workloads 서비스 에이전트가 생성됩니다. 그러면 이 서비스 에이전트에 대상 Assured Workloads 폴더에 대한 Assured Workloads 서비스 에이전트(roles/assuredworkloads.serviceAgent) 역할이 부여됩니다. 이 역할을 통해 서비스 에이전트가 폴더에서 사용 가능한 업데이트를 확인할 수 있습니다.

워크로드 업데이트를 사용 설정하려면 다음 단계를 완료합니다.

콘솔

  1. Google Cloud 콘솔에서 Assured Workloads 페이지로 이동합니다.

    Assured Workloads로 이동

  2. 규정 준수 업데이트 소개 창의 페이지 상단에 있는 규정 준수 업데이트 사용 설정을 클릭합니다.

  3. 규정 준수 업데이트를 사용 설정하시겠습니까?라는 메시지가 표시되면 사용 설정을 클릭합니다.

이제 조직의 모든 Assured Workloads 폴더에 워크로드 업데이트가 사용 설정됩니다.

REST

enableComplianceUpdates 메서드를 사용하면 Assured Workloads에서 단일 Assured Workloads 폴더의 업데이트를 알릴 수 있습니다.

HTTP 메서드, URL, 쿼리 매개변수:

PUT https://[ENDPOINT_URI]/v1beta1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]:enableComplianceUpdates

다음 자리표시자 값을 직접 바꿉니다.

  • ENDPOINT_URI: Assured Workloads 서비스 엔드포인트 URI. 이 URI는 대상 워크로드의 위치와 일치하는 엔드포인트여야 합니다(예: us-west1 리전의 리전화된 워크로드의 경우 https://us-west1-assuredworkloads.googleapis.com, 미국의 멀티 리전의 경우 https://us-assuredworkloads.googleapis.com).
  • ORGANIZATION_ID: Assured Workloads 폴더의 조직 ID입니다(예: 919698201234).
  • LOCATION_ID: Assured Workloads 폴더의 위치입니다(예: us-west1 또는 us). 워크로드의 data region 값에 해당합니다.
  • WORKLOAD_ID: 업데이트를 사용 설정할 Assured Workloads 워크로드의 ID입니다(예: 00-701ea036-7152-4780-a867-9f5).

예를 들면 다음과 같습니다.

PUT https://us-west1-assuredworkloads.googleapis.com/v1beta1/organizations/919698298765/locations/us-west1/workloads/00-701ea036-7152-4781-a867-9f5:enableComplianceUpdates

워크로드 업데이트 보기

워크로드 업데이트를 보려면 다음 단계를 완료합니다.

콘솔

  1. Google Cloud 콘솔에서 Assured Workloads 페이지로 이동합니다.

    Assured Workloads로 이동

  2. 이름 열에서 업데이트를 보려는 Assured Workloads 폴더의 이름을 클릭합니다. 또는 폴더에 사용 가능한 업데이트가 있는 경우 업데이트 열의 링크를 클릭합니다.

  3. 사용 가능한 업데이트에서 사용 가능한 업데이트 검토를 클릭합니다.

  4. 사용 가능한 경우 조직 정책 탭에 조직 정책 업데이트가 표시됩니다. 영향을 받는 조직 정책 제약 조건을 검토하고 업데이트 보기를 클릭하여 업데이트에 의해 적용될 제약 조건 설정을 미리 봅니다.

REST

organizations.locations.workloads.updates.list 메서드는 Assured Workloads 워크로드에 사용 가능한 업데이트를 나열합니다.

HTTP 메서드, URL, 쿼리 매개변수:

GET https://[ENDPOINT_URI]/v1beta1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates?page_size=[PAGE_SIZE]&page_token=[PAGE_TOKEN]

다음 자리표시자 값을 직접 바꿉니다.

  • ENDPOINT_URI: Assured Workloads 서비스 엔드포인트 URI. 이 URI는 대상 워크로드의 위치와 일치하는 엔드포인트여야 합니다(예: us-central1 리전의 리전화된 워크로드의 경우 https://us-central1-assuredworkloads.googleapis.com, 미국의 멀티 리전의 경우 https://us-assuredworkloads.googleapis.com).
  • ORGANIZATION_ID: Assured Workloads 폴더의 조직 ID입니다(예: 919698201234).
  • LOCATION_ID: Assured Workloads 폴더의 위치입니다(예: us-central1 또는 us). 워크로드의 data region 값에 해당합니다.
  • WORKLOAD_ID: 사용 가능한 업데이트를 나열할 Assured Workloads 워크로드의 ID입니다(예: 00-701ea036-7152-4780-a867-9f5).
  • PAGE_SIZE(선택사항): 응답에 반환되는 업데이트 수를 제한합니다. 지정하지 않으면 기본값이 20으로 설정됩니다. 최댓값은 100입니다.
  • PAGE_TOKEN(선택사항): 사용 가능한 페이지가 하나 이상인 경우 JSON 응답에 다음 페이지의 토큰이 반환됩니다(예: nextPageToken": "chEKD4IBDAid1e-3BhCo68f6AQ). 지정하지 않으면 후속 페이지가 반환되지 않습니다.

예를 들면 다음과 같습니다.

GET https://us-central1-assuredworkloads.googleapis.com/v1beta1/organizations/919698298765/locations/us-west1/workloads/00-701ea036-7152-4781-a867-9f5/updates

성공하면 다음 예시와 유사한 JSON 응답이 표시됩니다.

{
  "workloadUpdates": [
    {
      "name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/5320de45-6c98-41af-b4a0-2ef930b124c3",
      "state": "AVAILABLE",
      "createTime": "2024-10-01T16:33:10.154368Z",
      "updateTime": "2024-10-01T16:33:10.154368Z",
      "details": {
        "orgPolicyUpdate": {
          "appliedPolicy": {
            "resource": "folders/376585579673",
            "constraint": "constraints/gcp.resourceLocations",
            "rule": {
              "values": {
                "allowedValues": [
                  "us-central1",
                ]
              }
            }
          },
          "suggestedPolicy": {
            "resource": "folders/376585579673",
            "constraint": "constraints/gcp.resourceLocations",
            "rule": {
              "values": {
                "allowedValues": [
                  "us-central1",
                  "us-central2",
                  "us-west1",
                ]
              }
            }
          }
        }
      }
    }
  ],
  "nextPageToken": "chEKD4IBDAid1e-3BhCo68f6AQ"
}

워크로드 업데이트 적용

워크로드에 워크로드 업데이트를 적용하는 작업은 장기 실행 작업입니다. 작업을 시작한 후 완료되기 전에 워크로드 구성이 변경되면 오류가 발생할 수 있습니다.

또한 워크로드 업데이트는 사용 가능한 최신 구성을 기준으로 주기적으로 재평가됩니다. 이 경우 업데이트를 적용한 직후에 추가 업데이트를 사용할 수 있게 될 수 있습니다.

워크로드 업데이트를 적용하려면 다음 단계를 완료하세요.

콘솔

  1. Google Cloud 콘솔에서 Assured Workloads 페이지로 이동합니다.

    Assured Workloads로 이동

  2. 이름 열에서 업데이트를 보려는 Assured Workloads 폴더의 이름을 클릭합니다. 또는 폴더에 사용 가능한 업데이트가 있는 경우 업데이트 열의 링크를 클릭합니다.

  3. 사용 가능한 업데이트에서 사용 가능한 업데이트 검토를 클릭합니다.

  4. 사용 가능한 경우 조직 정책 탭에 조직 정책 업데이트가 표시됩니다. 영향을 받는 조직 정책 제약 조건을 검토하고 업데이트 보기를 클릭하여 업데이트된 제약 조건 설정을 미리 봅니다.

  5. 조직 정책 업데이트를 클릭하여 업데이트를 적용합니다.

장기 실행 업데이트 작업이 시작되고 폴더의 새 조직 정책 설정이 적용됩니다.

REST

organizations.locations.workloads.updates.apply 메서드는 Assured Workloads 워크로드의 지정된 업데이트를 적용합니다.

HTTP 메서드, URL, 쿼리 매개변수:

POST https://[ENDPOINT_URI]/v1beta1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates/[UPDATE_ID]:apply

다음 자리표시자 값을 직접 바꿉니다.

  • ENDPOINT_URI: Assured Workloads 서비스 엔드포인트 URI. 이 URI는 대상 워크로드의 위치와 일치하는 엔드포인트여야 합니다(예: us-central1 리전의 리전화된 워크로드의 경우 https://us-central1-assuredworkloads.googleapis.com, 미국의 멀티 리전의 경우 https://us-assuredworkloads.googleapis.com).
  • ORGANIZATION_ID: Assured Workloads 폴더의 조직 ID입니다(예: 919698201234).
  • LOCATION_ID: Assured Workloads 폴더의 위치입니다(예: us-central1 또는 us). 워크로드의 data region 값에 해당합니다.
  • WORKLOAD_ID: 사용 가능한 업데이트를 나열할 Assured Workloads 워크로드의 ID입니다(예: 00-701ea036-7152-4780-a867-9f5).
  • UPDATE_ID: 적용할 업데이트의 ID입니다. organizations.locations.workloads.updates.list 메서드에서 반환된 사용 가능한 업데이트 목록에서 선택됩니다(예: edb84871-833b-45ec-9c00-c9b5c19d2d87).

요청 본문:

{
  "name":"organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/workloads/[WORKLOAD_ID]/updates/[UPDATE_ID]",
  "action": "APPLY"
}

예를 들면 다음과 같습니다.

POST https://us-central1-assuredworkloads.googleapis.com/v1beta1/organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87:apply

{
  "name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
  "action": "APPLY"
}

성공하면 다음 예시와 유사한 JSON 응답이 표시됩니다.

{
  "name": "organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1beta1.ApplyWorkloadUpdateOperationMetadata",
    "update_name": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
    "create_time": "2024-10-01T14:34:30.290896Z",
    "action": "APPLY"
  }
}

장기 실행 업데이트 작업의 상태를 가져오려면 JSON 응답의 name 값에 있는 작업 ID를 사용합니다. 이전 예시를 사용하면 작업 ID는 647b1c77-b9a5-45d2-965e-70a1e867fe5b입니다. 그리고 다음 요청을 실행하여 자리표시자 값을 직접 바꿉니다.

GET https://[ENDPOINT_URI]/v1/organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/operations/[OPERATION_ID]

예를 들면 다음과 같습니다.

GET https://us-central1-assuredworkloads.googleapis.com/v1/organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b

성공하면 다음 예시와 유사한 JSON 응답이 표시됩니다.

{
  "name": "organizations/919698298765/locations/us-central1/operations/647b1c77-b9a5-45d2-965e-70a1e867fe5b",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1beta1.ApplyWorkloadUpdateOperationMetadata",
    "updateName": "organizations/919698298765/locations/us-central1/workloads/00-701ea036-7152-4781-a867-9f5/updates/edb84871-833b-45ec-9c00-c9b5c19d2d87",
    "createTime": "2024-10-01T13:33:09Z"
    "action": "APPLY"
  },
  "done": true
  "response": {
    "@type": "type.googleapis.com/google.cloud.assuredworkloads.v1beta1.ApplyWorkloadUpdateResponse",
    "appliedUpdate": {
      "name": "organizations/531459884741/locations/us-central1/workloads/00-0b328e90-da70-431e-befc-a4a/updates/db556beb-ce66-4260-bd3b-28115f1ec300",
      "state": "APPLIED",
      "createTime": "2024-10-01T14:31:24.310323Z",
      "updateTime": "2024-10-01T14:34:30.855792Z",
      "details": {
        "orgPolicyUpdate": {
          "appliedPolicy": {
            "resource": "folders/196232301850",
            "constraint": "constraints/compute.disableInstanceDataAccessApis",
            "rule": {
              "enforce": true
            }
          },
          "suggestedPolicy": {
            "resource": "folders/196232301850",
            "constraint": "constraints/compute.disableInstanceDataAccessApis",
            "rule": {
              "enforce": false
            }
          }
        }
      }
    }
  }
}