本頁說明如何拒絕使用傳輸層安全標準 (TLS) 1.0 或 1.1 發出的要求,防止存取 Cloud de Confiance by S3NS 資源。如要禁止使用 TLS 1.2,請使用 TLS 密碼限制政策,只允許 TLS 1.3 密碼。詳情請參閱「限制 TLS 加密套件」。
總覽
Cloud de Confiance by S3NS 支援多個 TLS 通訊協定版本。為符合法規要求,您可能會想拒絕使用舊版 TLS 的用戶端提出的握手要求。如要這麼做,請使用 gcp.restrictTLSVersion 組織政策限制條件。
gcp.restrictTLSVersion 限制可套用至資源階層中的機構、資料夾或專案。這項限制使用拒絕清單,拒絕明確值,允許所有其他值。如果您嘗試使用允許清單,就會發生錯誤。
由於組織政策階層評估的行為,TLS 版本限制會套用至指定的資源節點及其所有子項。舉例來說,如果您拒絕機構使用 TLS 1.0 版,該機構的所有資料夾和專案 (子項) 也會拒絕使用。
如要覆寫沿用的 TLS 版本限制,請更新子項資源的機構政策。舉例來說,如果機構政策在機構層級禁止使用 TLS 1.0,您可以在子資料夾中設定個別的機構政策,移除該資料夾的限制。如果資料夾有任何子項,由於政策繼承,資料夾的政策也會套用至每個子項資源。
事前準備
- 如要設定、變更或刪除機構政策,您必須先獲得機構政策管理員 (
roles/orgpolicy.policyAdmin) Identity and Access Management (IAM) 角色。
限制 TLS 版本
如要限制一或多個 TLS 版本,請完成下列步驟:
控制台
在 Cloud de Confiance 控制台中開啟「組織政策」 頁面。
選取頁面頂端的專案挑選器。
在專案選擇工具中,選取要設定組織政策的資源。
在「組織政策」 頁面的清單中,選取「限制 TLS 版本」 限制。
如要更新這項資源的機構政策,請按一下「編輯」。
在「Edit」(編輯) 頁面選取 [Customize] (自訂)。
在「Policy enforcement」(強制執行) 下方,選取強制執行選項:
如要合併與評估您的組織政策,請選取「與上層合併」。如要進一步瞭解繼承和資源階層,請參閱「瞭解階層評估」。
如要覆寫從父項資源繼承的政策,請選取「取代」。
按一下「Add rule」(新增規則)。
在「Policy values」(政策值) 底下,預設值設為「Deny all」(全部拒絕)。請改選「自訂」。
在「政策類型」下方,選取「拒絕」。
在「Custom values」(自訂值) 下方輸入要拒絕的 TLS 版本。以下為有效的自訂值:
TLS_VERSION_1for TLS 1.0TLS_VERSION_1_1for TLS 1.1
如要限制多個 TLS 版本,請按一下「新增值」,然後在額外欄位中輸入值。
如要完成並套用機構政策,請按一下 [Save] (儲存)。
gcloud
使用 gcloud org-policies set-policy 指令在資源上設定機構政策:
gcloud org-policies set-policy POLICY_PATH
POLICY_PATH 是指組織政策檔案的完整路徑。如果使用 YAML 格式,檔案應如下所示:
name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictTLSVersion
spec:
rules:
- values:
deniedValues:
- TLS_VERSION_1
- TLS_VERSION_1_1
請替換為下列內容:
RESOURCE_TYPE為organizations、folders或projects。RESOURCE_ID是機構 ID、資料夾 ID、專案 ID 或專案編號,視RESOURCE_TYPE中指定的資源類型而定。
執行下列指令,確認政策已套用:
gcloud org-policies describe gcp.restrictTLSVersion --RESOURCE_TYPE=RESOURCE_ID --effective
請替換為下列內容:
RESOURCE_TYPE為organization、folder或project。RESOURCE_ID是機構 ID、資料夾 ID、專案 ID 或專案編號,視RESOURCE_TYPE中指定的資源類型而定。
測試政策
您可以針對任何適用範圍內的服務,測試 TLS 版本限制政策限制。下列範例 curl 指令會驗證 Cloud Storage bucket 的 TLS 版本限制。
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/GCS_BUCKET_NAME/o" \ --tlsvTLS_VERSION --tls-max TLS_VERSION --ciphers DEFAULT@SECLEVEL=0
--tlsv 和值之間沒有空格。例如:--tlsv1.1
請替換為下列內容:
GCS_BUCKET_NAME是專案中的 Cloud Storage bucket 名稱,例如mybucketname。TLS_VERSION是傳輸層安全標準 (TLS) 版本,例如在設定的政策中拒絕1.0或1.1。
下列 curl 要求範例顯示 GCS_BUCKET_NAME 設為 mybucketname,而 TLS_VERSION 設為 1.1:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/mybucketname/o" \ --tlsv1.1 --tls-max 1.1 --ciphers DEFAULT@SECLEVEL=0
如果組織政策設為限制 TLS_VERSION_X,則任何嘗試存取政策限制專案中 TLS_VERSION_X 的資源,都會失敗 (如本範例指令所示)。系統會傳回錯誤訊息,說明失敗原因。
Request is disallowed by organization's constraints/gcp.restrictTLSVersion constraint for 'projects/PROJECT_NUMBER' to use service 'SERVICE_NAME.googleapis.com' by violated TLS version `TLS_VERSION_X`
這項輸出內容包含下列值:
PROJECT_NUMBER:代管先前指令中參照資源的專案編號。SERVICE_NAME:受 TLS 限制政策封鎖的適用範圍內服務名稱。
支援的服務
凡是標頭由 Google Front End (GFE) 簽署的 Cloud de Confiance 資源 API,都支援 TLS 版本限制。
不支援的服務
下列服務不適用於 TLS 版本限制組織政策限制:
- Apigee
- App Engine (
*.appspot.com) - Cloud Run functions (
*.cloudfunctions.net), - Cloud Run (
*.run.app) - Private Service Connect
- 自訂網域
如要限制這些服務的 TLS 版本,請搭配使用 Cloud Load Balancing 和 SSL 政策。您也可以使用預先定義的 constraints/compute.requireSslPolicy限制條件,以及 SSL 政策的自訂限制,為負載平衡器強制執行 TLS 版本和加密套件限制。
後續步驟
- 瞭解每個控管套件支援哪些產品。