設定 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
) 角色,請按照下列操作說明進行:
控制台
前往 Google Cloud 控制台的「IAM」頁面。
選取專案。
按一下「授予存取權」
。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。
在「Select a role」(請選擇角色) 清單中,選取「CA Service Admin」(CA 服務管理員) 角色。
按一下 [儲存]。
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
) 角色指派給使用者,請按照下列操作說明進行:
控制台
前往 Google Cloud 控制台的「IAM」頁面。
選取專案。
按一下「授予存取權」
。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。
在「Select a role」(請選擇角色) 清單中,選取「CA Service Operation Manager」(CA 服務營運管理員) 角色。
按一下 [儲存]。
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
) 角色授予使用者,請按照下列操作說明進行:
控制台
前往 Google Cloud 控制台的「Cloud Key Management Service」頁面。
在「金鑰環」下方,按一下包含 CA 簽署金鑰的金鑰環。
按一下做為 CA 簽署金鑰的金鑰。
如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」。
按一下
「新增主體」。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。
在「Select a role」(選取角色) 清單中,選取「Cloud KMS Admin」(Cloud KMS 管理員) 角色。
按一下 [儲存]。
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
) 角色指派給使用者,請按照下列操作說明進行:
控制台
前往 Google Cloud 控制台的「IAM」頁面。
選取專案。
按一下「授予存取權」
。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他 ID。
在「Select a role」(選取角色) 清單中,選取「CA Service Auditor」(CA 服務稽核員) 角色。
按一下 [儲存]。
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 集區或憑證範本。
控制台
在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「CA pool manager」(CA 集區管理員) 分頁,然後選取要授予權限的 CA 集區。
如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」。
按一下
「新增主體」。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。
在「Select a role」(請選擇角色) 清單中,選取「CA Service Admin」(CA 服務管理員) 角色。
按一下 [儲存]。主體就會取得指定 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 核發的憑證。
控制台
在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「CA pool manager」(CA 集區管理員) 分頁,然後選取要授予權限的 CA 集區。
如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」。
按一下
「新增主體」。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。
在「Select a role」(請選擇角色) 清單中,選取「CA Service Operation Manager」(CA 服務營運管理員) 角色。
按一下 [儲存]。主體會取得 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 建立憑證的權限,請按照下列操作說明進行。
控制台
在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「CA pool manager」(CA 集區管理員),然後選取要授予權限的 CA 集區。
如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」。
按一下
「新增主體」。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。
在「Select a role」(請選擇角色) 清單中,選取「CA Service Certificate Manager」(CA 服務憑證管理員) 角色。
按一下 [儲存]。主體會取得 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 政策,請按照下列操作說明進行:
控制台
在 Google Cloud 控制台中,前往「Certificate Authority Service」(憑證授權單位服務) 頁面。
按一下「範本管理工具」分頁,然後選取要授予權限的認證範本。
如果畫面上未顯示資訊面板,請按一下「Show info panel」(顯示資訊面板)。然後按一下「權限」。
按一下
「新增主體」。在「New principals」(新增主體) 欄位中,輸入主體的電子郵件地址或其他識別碼。
從「Select a role」(選取角色) 下拉式清單中,選取要授予的角色。
按一下 [儲存]。
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 角色,請參閱「撤銷存取權」。
後續步驟
- 查看憑證授權單位服務的 IAM 角色和相關聯的權限。
- 瞭解範本和發行政策。
- 瞭解如何管理政策控管。