管理授權

本文說明如何管理與 Compute Engine 執行個體相關聯的授權。包括如何附加、移除、取代及查看授權更新記錄。如要進一步瞭解 Compute Engine 的授權,請參閱「關於授權」。

管理授權的限制:

  • 只有在 AppendableToDisktrue 時,才能將授權新增至磁碟。
  • 只有在 RemovableFromDisktrue 時,才能移除 (不提供更換內容)。
  • 您只能使用 AllowedReplacementLicenses 中列出的替代授權來更換授權。

如果是 Ubuntu LTS,如要將授權升級至 Ubuntu Pro,啟用延長安全性維護 (ESM),請參閱「從 Ubuntu 升級至 Ubuntu Pro」。

如要更新隨選 RHEL 授權,將延長支援納入其中,請參閱「將 RHEL Extended Lifecycle Support (ELS) Add-On 附加至授權」。

事前準備

  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Trusted Cloud by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:

      gcloud init
    2. Set a default region and zone.

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用同盟身分登入 gcloud CLI。 登入後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

    詳情請參閱 Trusted Cloud 驗證說明文件中的「Authenticate for using REST」。

準備更新磁碟授權

如要在磁碟附加至執行中的執行個體時更新磁碟授權,請先停止執行個體或卸離磁碟。

  • 停止執行個體。更新磁碟授權前,系統會暫時關閉執行個體。
  • 卸離磁碟。這樣一來,系統會在更新磁碟授權前,先將磁碟從執行個體卸離。

查看與 VM 相關聯的授權

如要查看與 VM 相關聯的授權,請使用 Trusted Cloud 控制台、gcloud CLI 或 Compute Engine API。

主控台

  1. 前往 Trusted Cloud 控制台的「VM instances」(VM 執行個體) 頁面

    前往 VM 執行個體

  2. 按一下 VM 名稱,查看授權。「執行個體詳細資料」頁面隨即開啟。

  3. 在「Instance details」(執行個體詳細資料) 頁面底部,按一下「Equivalent Code」(對等程式碼)

  4. 查看開機磁碟的 licenses 欄位。

gcloud

  1. 執行下列gcloud compute instances describe指令

    gcloud compute instances describe VM_NAME
    

    將您的 VM 名稱替換為 VM_NAME

  2. 查看輸出內容的 disks 區段。「licenses」欄位會顯示與開機磁碟相關聯的授權。

REST

呼叫 instances.get v1 方法

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instancesVM_NAME

更改下列內容:

  • PROJECT:專案名稱
  • ZONE:包含 VM 的可用區
  • VM_NAME:VM 名稱

Compute Engine API 會在 disks 欄位的 licenses 區段中,傳回與開機磁碟相關聯的授權。

在匯入圖片時附加授權

如要在匯入圖片時附加授權,請使用下列 gcloud compute images import 指令

gcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE
  --os=OS

更改下列內容:

  • IMAGE_NAME:要建立的映像檔名稱。
  • SOURCE_FILE:要匯入的虛擬磁碟本機檔案或 Cloud Storage URI。
  • OS:要匯入的磁碟映像檔 OS。系統會根據這個旗標的值推斷 OS 的授權,匯入時沒有明確的旗標可提供授權資訊。如需支援的值清單,請參閱 --os 旗標

如要進一步瞭解如何匯入映像檔,請參閱「匯入虛擬磁碟」一文。

建立圖片時附加授權

如要在建立映像檔時附加授權,請使用下列 gcloud compute images create 指令

gcloud compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES

更改下列內容:

  • IMAGE_NAME:要建立的映像檔名稱。
  • SOURCE_IMAGE:用於建立新映像檔的映像檔名稱。
  • LICENSES:以半形逗號分隔的授權字串清單。例如:"license1""license2"

如要進一步瞭解如何建立映像檔,請參閱「建立、刪除及淘汰自訂映像檔」和「建立 Windows 映像檔」。

如要進一步瞭解如何建立映像檔,請參閱「建立、刪除及淘汰自訂映像檔」和「建立 Windows 映像檔」。

將授權附加至磁碟

如要附加與 VM 相關聯的授權,請使用 gcloud CLI 或 Compute Engine API。

gcloud

如要使用授權參照或程式碼將授權附加至磁碟,請使用下列 gcloud compute disks update 指令

gcloud compute disks update DISK_NAME \
--append-licenses=LICENSES

更改下列內容:

  • DISK_NAME:要附加的磁碟名稱。
  • LICENSES:以半形逗號分隔的授權參照清單,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"

REST

如要使用授權參照或程式碼將授權附加至磁碟,請呼叫下列 disks.update v1 方法

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/LICENSES"]}'

更改下列內容:

  • PROJECT:專案名稱
  • ZONE:包含 VM 的可用區
  • DISK_NAME:磁碟名稱
  • LICENSES:以半形逗號分隔的授權參照清單,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"

更換磁碟上的授權

如要更換與 VM 相關聯的授權,請使用 gcloud CLI 或 Compute Engine API。

gcloud

如要使用授權參照或程式碼替換磁碟上的授權,請使用下列 gcloud compute disks update 指令

gcloud compute disks update DISK_NAME \
--replace-license=PREVIOUS_LICENSE,NEW_LICENSE

更改下列內容:

  • DISK_NAME:要附加的磁碟名稱。
  • PREVIOUS_LICENSE:要取代的授權參考資料,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"
  • NEW_LICENSE:新的授權參考資料,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"

REST

如要使用授權參照或程式碼更換磁碟上的授權,請呼叫 disks.update v1 方法,並在要求主體中將先前的授權換成新授權,如下所示:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/NEW_LICENSE"]}'

更改下列內容:

  • PROJECT:專案名稱
  • ZONE:包含 VM 的可用區
  • DISK_NAME:磁碟名稱
  • NEW_LICENSE:新的授權參考資料,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"

從磁碟移除授權

如要移除與 VM 相關聯的個別授權,請使用 gcloud CLI 和 Compute Engine API。

gcloud

如要使用授權參照或代碼從磁碟移除授權,請使用 gcloud compute disks update 指令

gcloud compute disks update DISK_NAME \
--remove-licenses=LICENSES

更改下列內容:

  • DISK_NAME:要移除的磁碟名稱。
  • LICENSES:以半形逗號分隔的授權參照清單,例如 "projects/rhel-cloud/global/licenses/rhel-9-server""projects/rhel-cloud/global/licenses/rhel-8-server"

REST

如要移除授權,請在呼叫要求中提供空白授權欄位,並透過呼叫下列 disks.update v1 方法提供路徑選取器:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":[]}'

更改下列內容:

  • PROJECT:專案名稱
  • ZONE:包含 VM 的可用區
  • DISK_NAME:磁碟名稱
  • LICENSES:留空。

查看授權更新記錄

如要查看專案中 VM 的授權更新記錄,請按照下列程序操作:

  1. 前往 Trusted Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 確認工具列中的「Show query」(顯示查詢) 已啟用。

  3. 將下列運算式複製到查詢編輯器:

    resource.type="gce_disk"
    logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
    severity>=NOTICE
    protoPayload.request.@type="type.googleapis.com/compute.disks.update"
    protoPayload.request.licenses:*
    
  4. PROJECT_NAME 替換為專案名稱。

  5. 點選「執行查詢」

後續步驟