設定 IAM 政策

本頁說明如何設定身分與存取權管理 (IAM) 政策,讓成員建立及管理 Certificate Authority Service 資源。如要進一步瞭解 IAM,請參閱 IAM 總覽

一般 IAM 政策

在 CA 服務中,您可以將 IAM 角色授予使用者或服務帳戶,以便建立及管理 CA 服務資源。您可以在下列層級新增這些角色繫結:

  • CA 集區層級,可管理特定 CA 集區和該集區中 CA 的存取權。
  • 專案層級或機構層級,可授予該範圍內所有 CA 集區的存取權。

如果是在較高的資源層級授予角色,就會繼承這些角色。舉例來說,如果使用者在專案層級獲派稽核員 (roles/privateca.auditor) 角色,就能查看專案中的所有資源。在憑證授權單位 (CA) 集區中設定的 IAM 政策,會由該集區中的所有 CA 繼承。

您無法在憑證和 CA 資源上授予 IAM 角色。

有條件的 IAM 政策

如果您有共用的 CA 集區,且多位使用者有權要求不同類型的憑證,您可以定義 IAM 條件,根據屬性強制執行 CA 集區的特定作業存取權。

透過 IAM 條件式角色繫結,您可以只在符合指定條件時授予主體存取權。舉例來說,如果「憑證要求者」角色繫結至 CA 集區中的使用者 alice@example.com,且條件為所要求的 DNS SAN 是 ['alice@example.com', 'bob@example.com'] 的子集,則只有在所要求的 SAN 是這兩個允許值之一時,該使用者才能從同一個 CA 集區要求憑證。您可以使用一般運算語言 (CEL) 運算式,在 IAM 繫結中設定條件。這些條件可協助您進一步限制使用者可要求的憑證類型。如要瞭解如何使用 CEL 運算式設定 IAM 條件,請參閱「IAM 政策的一般運算語言 (CEL) 方言」。

事前準備

  • 啟用 API。
  • 按照任一快速入門指南中的操作說明,建立 CA 和 CA 集區。
  • 瞭解憑證授權單位服務可用的 IAM 角色。

在專案層級設定 IAM 政策繫結

以下情境說明如何在專案層級授予使用者 CA 服務資源的存取權。

管理資源

CA 服務管理員 (roles/privateca.admin) 有權管理所有 CA 服務資源,並在 CA 集區和憑證範本上設定 IAM 政策。

如要在專案層級為使用者指派 CA 服務管理員 (roles/privateca.admin) 角色,請按照下列操作說明進行:

控制台

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」

  2. 選取專案。

  3. 按一下「授予存取權」

  4. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。

  5. 在「Select a role」(請選擇角色) 清單中,選取「CA Service Admin」(CA 服務管理員) 角色。

  6. 按一下 [儲存]

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER \
  --role=roles/privateca.admin

更改下列內容:

  • PROJECT_ID:專案的專屬 ID。
  • MEMBER:要指派 CA 服務管理員角色的使用者或服務帳戶。

--role 旗標會採用您要指派給成員的 IAM 角色。

建立資源

CA 服務作業管理員 (roles/privateca.caManager) 可以建立、更新及刪除 CA 集區和 CA。這個角色也允許呼叫端撤銷 CA 集區中 CA 核發的憑證。

如要在專案層級將 CA 服務營運管理員 (roles/privateca.caManager) 角色指派給使用者,請按照下列操作說明進行:

控制台

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」

  2. 選取專案。

  3. 按一下「授予存取權」

  4. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。

  5. 在「Select a role」(請選擇角色) 清單中,選取「CA Service Operation Manager」(CA 服務營運管理員) 角色。

  6. 按一下 [儲存]

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER \
  --role=roles/privateca.caManager

更改下列內容:

  • PROJECT_ID:專案的專屬 ID。
  • MEMBER:要新增 IAM 角色的使用者或服務帳戶。

--role 旗標會採用您要指派給成員的 IAM 角色。

如要進一步瞭解 gcloud projects add-iam-policy-binding 指令,請參閱 gcloud projects add-iam-policy-binding

(選用) 如要使用現有的 Cloud KMS 金鑰建立 CA,呼叫端也必須是 Cloud KMS 金鑰的管理員。

Cloud KMS 管理員 (roles/cloudkms.admin) 可完整存取所有 Cloud KMS 資源,但加密和解密作業除外。如要進一步瞭解 Cloud KMS 的 IAM 角色,請參閱「Cloud KMS:權限和角色」。

如要將 Cloud KMS 管理員 (roles/cloudkms.admin) 角色授予使用者,請按照下列操作說明進行:

控制台

  1. 前往 Google Cloud 控制台的「Cloud Key Management Service」頁面。

    前往 Cloud Key Management Service

  2. 在「金鑰環」下方,按一下包含 CA 簽署金鑰的金鑰環。

  3. 按一下做為 CA 簽署金鑰的金鑰。

  4. 如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」

  5. 按一下 「新增主體」

  6. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。

  7. 在「Select a role」(選取角色) 清單中,選取「Cloud KMS Admin」(Cloud KMS 管理員) 角色。

  8. 按一下 [儲存]

gcloud

gcloud kms keys add-iam-policy-binding KEY \
  --keyring=KEYRING --location=LOCATION \
  --member=MEMBER \
  --role=roles/cloudkms.admin

更改下列內容:

  • KEY:金鑰的專屬 ID。
  • KEYRING:包含金鑰的金鑰環。如要進一步瞭解金鑰環,請參閱「金鑰環」。
  • MEMBER:要新增 IAM 繫結的使用者或服務帳戶。

--role 旗標會採用您要指派給成員的 IAM 角色。

如要進一步瞭解 gcloud kms keys add-iam-policy-binding 指令,請參閱 gcloud kms keys add-iam-policy-binding

稽核資源

CA 服務稽核員 (roles/privateca.auditor) 具有 CA 服務中所有資源的讀取權限。如果授予特定 CA 集區的權限,則可讀取該 CA 集區。如果 CA 集區屬於企業層級,擁有這個角色的使用者也可以查看 CA 集區中 CA 核發的憑證和 CRL。將這個角色指派給負責驗證 CA 集區安全性和作業的人員。

如要在專案層級將 CA 服務稽核員 (roles/privateca.auditor) 角色指派給使用者,請按照下列操作說明進行:

控制台

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「身分與存取權管理」

  2. 選取專案。

  3. 按一下「授予存取權」

  4. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。

  5. 在「Select a role」(選取角色) 清單中,選取「CA Service Auditor」(CA 服務稽核員) 角色。

  6. 按一下 [儲存]

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER \
  --role=roles/privateca.auditor

更改下列內容:

  • PROJECT_ID:專案的專屬 ID。
  • MEMBER:要指派 CA 服務稽核員 (roles/privateca.auditor) 角色的使用者專屬 ID。

--role 旗標會採用您要指派給成員的 IAM 角色。

在資源層級設定 IAM 政策繫結

本節說明如何為 CA 服務中的特定資源設定 IAM 政策繫結。

管理 CA 集區

您可以在資源層級授予 CA 服務管理員 (roles/privateca.admin) 角色,管理特定 CA 集區或憑證範本。

控制台

  1. 在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。

    前往憑證授權單位服務

  2. 按一下「CA pool manager」(CA 集區管理員) 分頁,然後選取要授予權限的 CA 集區。

  3. 如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」

  4. 按一下 「新增主體」

  5. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。

  6. 在「Select a role」(請選擇角色) 清單中,選取「CA Service Admin」(CA 服務管理員) 角色。

  7. 按一下 [儲存]。主體就會取得指定 CA 集區資源的角色。

gcloud

如要設定 IAM 政策,請執行下列指令:

gcloud privateca pools add-iam-policy-binding POOL_ID \
  --location LOCATION \
  --member MEMBER \
  --role roles/privateca.admin

更改下列內容:

  • POOL_ID:您要設定 IAM 政策的 CA 集區專屬 ID。
  • LOCATION:CA 集區的位置。如需完整的位置清單,請參閱「位置」。
  • MEMBER:要指派 IAM 角色的使用者或服務帳戶。

--role 旗標會採用您要指派給成員的 IAM 角色。

如要進一步瞭解 gcloud privateca pools add-iam-policy-binding 指令,請參閱 gcloud privateca pools add-iam-policy-binding

按照相同步驟,在憑證範本中授予 CA 服務管理員角色。

您也可以在特定 CA 集區中授予 CA 服務作業管理員 (roles/privateca.caManager) 角色。這個角色可讓呼叫端撤銷該 CA 集區中 CA 核發的憑證。

控制台

  1. 在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。

    前往憑證授權單位服務

  2. 按一下「CA pool manager」(CA 集區管理員) 分頁,然後選取要授予權限的 CA 集區。

  3. 如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」

  4. 按一下 「新增主體」

  5. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。

  6. 在「Select a role」(請選擇角色) 清單中,選取「CA Service Operation Manager」(CA 服務營運管理員) 角色。

  7. 按一下 [儲存]。主體會取得 CA 所屬 CA 集區資源的所選角色。

gcloud

如要授予特定 CA 集區的角色,請執行下列 gcloud 指令:

gcloud privateca pools add-iam-policy-binding POOL_ID \
  --location LOCATION \
  --member MEMBER \
  --role roles/privateca.caManager

更改下列內容:

  • POOL_ID:CA 集區的專屬 ID。
  • LOCATION:CA 集區的位置。如需完整的位置清單,請參閱「位置」。
  • MEMBER:要指派 CA 服務營運管理員 (roles/privateca.caManager) 角色的使用者專屬 ID。

--role 旗標會採用您要指派給成員的 IAM 角色。

如要進一步瞭解 gcloud privateca pools add-iam-policy-binding 指令,請參閱 gcloud privateca pools add-iam-policy-binding

建立憑證

將 CA 服務憑證管理員 (roles/privateca.certificateManager) 角色授予使用者,允許他們向 CA 集區提交憑證核發要求。這個角色也具備 CA 服務資源的讀取權限。如要只允許建立憑證,但不授予讀取權限,請授予 CA 服務憑證要求者 (roles/privateca.certificateRequester) 角色。如要進一步瞭解 CA 服務的 IAM 角色,請參閱「使用身分與存取權管理功能控管存取權」一文。

如要授予使用者為特定 CA 建立憑證的權限,請按照下列操作說明進行。

控制台

  1. 在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。

    前往憑證授權單位服務

  2. 按一下「CA pool manager」(CA 集區管理員),然後選取要授予權限的 CA 集區。

  3. 如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」

  4. 按一下 「新增主體」

  5. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。

  6. 在「Select a role」(請選擇角色) 清單中,選取「CA Service Certificate Manager」(CA 服務憑證管理員) 角色。

  7. 按一下 [儲存]。主體會取得 CA 所屬 CA 集區資源的所選角色。

gcloud

gcloud privateca pools add-iam-policy-binding 'POOL_ID' \
  --location LOCATION \
  --member MEMBER \
  --role roles/privateca.certificateManager

更改下列內容:

  • POOL_ID:CA 集區的專屬 ID。
  • LOCATION:CA 集區的位置。如需完整的位置清單,請參閱「位置」。
  • MEMBER:您要指派 CA 服務憑證管理員 (roles/privateca.certificateManager) 角色的使用者專屬 ID。

--role 旗標會採用您要指派給成員的 IAM 角色。

在憑證範本中新增 IAM 政策繫結

如要在特定憑證範本上新增 IAM 政策,請按照下列操作說明進行:

控制台

  1. 在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。

    前往憑證授權單位服務

  2. 按一下「範本管理工具」分頁,然後選取要授予權限的認證範本。

  3. 如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」

  4. 按一下 「新增主體」

  5. 在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。

  6. 從「Select a role」(選取角色) 下拉式清單中,選取要授予的角色。

  7. 按一下 [儲存]

gcloud

gcloud privateca templates add-iam-policy-binding TEMPLATE_ID \
  --location=LOCATION \
  --member=MEMBER \
  --role=ROLE

更改下列內容:

  • LOCATION:憑證範本的位置。 如需完整清單,請參閱「地點」。
  • MEMBER:要新增 IAM 政策繫結的使用者或服務帳戶。
  • ROLE:您要授予成員的角色。

如要進一步瞭解 gcloud privateca templates add-iam-policy-binding 指令,請參閱 gcloud privateca templates add-iam-policy-binding

如要進一步瞭解如何修改使用者的 IAM 角色,請參閱「授予存取權」。

移除 IAM 政策繫結

您可以使用 Google Cloud CLI 的 remove-iam-policy-binding 指令,移除現有的 IAM 政策繫結。

如要移除特定 CA 集區的 IAM 政策,請使用下列 gcloud 指令:

gcloud

gcloud privateca pools remove-iam-policy-binding POOL_ID \
  --location=LOCATION \
  --member=MEMBER \
  --role=ROLE

更改下列內容:

  • LOCATION:CA 集區的位置。如需完整的位置清單,請參閱「位置」。
  • MEMBER:要移除 IAM 政策繫結的使用者或服務帳戶。
  • ROLE:要為成員移除的角色。

如要進一步瞭解 gcloud privateca pools remove-iam-policy-binding 指令,請參閱 gcloud privateca pools remove-iam-policy-binding

如要移除特定憑證範本的 IAM 政策,請使用下列 gcloud 指令:

gcloud

gcloud privateca templates remove-iam-policy-binding TEMPLATE_ID \
  --location=LOCATION \
  --member=MEMBER \
  --role=ROLE

更改下列內容:

  • LOCATION:憑證範本的位置。 如需完整清單,請參閱「地點」。
  • MEMBER:要移除 IAM 政策繫結的使用者或服務帳戶。
  • ROLE:要為成員移除的角色。

如要進一步瞭解 gcloud privateca templates remove-iam-policy-binding 指令,請參閱 gcloud privateca templates remove-iam-policy-binding

如要進一步瞭解如何移除使用者的 IAM 角色,請參閱「撤銷存取權」。

後續步驟