本節說明部署藍圖的程序、命名慣例,以及藍圖建議的替代方案。
整合所有資訊
如要根據本藍圖的最佳做法和建議,部署自己的企業基礎,請按照本節中歸納的高階工作操作。部署作業需要完成多項必要設定步驟,並透過 GitHub 上的 terraform-example-foundation 自動部署,以及在完成初始基礎部署後,手動設定其他步驟。
程序 | 步驟 |
---|---|
部署基礎管道資源前的事前準備 |
部署基礎管道前,請先完成下列步驟:
如要連線至現有的內部部署環境,請準備下列項目: |
從 GitHub 部署 terraform-example-foundation 的步驟 |
請按照各階段的 README 指示,從 GitHub 部署 terraform-example-foundation:
|
IaC 部署作業完成後的其他步驟 |
部署 Terraform 程式碼後,請完成下列步驟:
|
為機密工作負載客戶提供額外的管理控制項
Google Cloud 提供額外的管理控制選項,可協助您滿足安全性與法規遵循需求。不過,部分控制項會產生額外費用或作業上的取捨,可能不適合所有客戶。這些控制項也需要根據您的特定需求自訂輸入內容,無法在藍圖中為所有客戶提供預設值,完全自動化。
本節介紹您集中套用至基礎的安全控管措施。本節並未詳盡列出可套用至特定工作負載的所有安全控管措施。如要進一步瞭解 Google 的安全產品和解決方案,請參閱Google Cloud 安全最佳做法中心。
根據法規遵循需求、風險承受度和資料敏感度,評估下列控制項是否適合您的基礎。
控制項 | 說明 |
---|---|
VPC Service Controls 可讓您定義安全性政策,禁止存取受信任範圍外的 Google 代管服務、禁止透過不受信任的位置存取資料,以及降低資料竊取的風險。不過,在您定義例外狀況以允許預期存取模式之前,VPC Service Controls 可能會導致現有服務中斷。 評估減少資料竊取風險的價值,是否足以抵銷採用 VPC Service Controls 後,複雜度增加和作業負擔加重的影響。藍圖會準備必要網路控制項和 VPC Service Controls 範圍的試營運,但您必須採取額外步驟,範圍才會強制執行。 |
|
您可能受到法規限制,雲端資源只能部署在核准的地理位置。這項機構政策限制會強制規定,資源只能部署在您定義的位置清單中。 |
|
Assured Workloads 提供額外的法規遵循控管機制,協助您遵守特定監管體制。藍圖會在部署管道中提供選用變數,供啟用使用。 |
|
您可能需要記錄特定私密資料或資源的所有存取記錄。 評估工作負載處理需要資料存取記錄的機密資料位置,並為處理機密資料的每個服務和環境啟用記錄。 |
|
Access Approval 可確保 Cloud Customer Care 和工程團隊必須明確取得您的核准,才能存取您的客戶內容。 評估審查 Access Approval 要求所需的作業程序,以減少支援事件的解決時間。 |
|
您可以使用「金鑰存取理由」以程式輔助方式控管 Google 是否可存取加密金鑰,包括自動化作業,以及客戶服務人員是否可存取您的客戶內容。 評估與金鑰存取依據相關的成本和作業負擔,以及金鑰存取依據對 Cloud External Key Manager (Cloud EKM) 的依附關係。 |
|
Cloud Shell 是一個線上開發環境,這個殼層會託管在您環境外部的 Google 管理伺服器上,因此不受您在開發人員工作站上實作的控制項限制。 如要嚴格控管開發人員可存取雲端資源的工作站,請停用 Cloud Shell。您也可以評估 Cloud Workstations,在自己的環境中設定工作站。 |
|
Google Cloud 可根據 Google Cloud 存取層級屬性 (例如群組成員資格、受信任的 IP 位址範圍和裝置驗證) 限制控制台存取權。部分屬性需要額外訂閱 Chrome Enterprise Premium。 評估您信任的使用者存取模式,允許使用者存取網頁應用程式 (例如控制台),這是零信任部署的一環。 |
命名慣例
建議您為Google Cloud 資源採用標準化命名慣例。下表說明藍圖中資源名稱的建議慣例。
資源 | 命名慣例 |
---|---|
資料夾 |
例如: |
專案 ID |
例如: |
虛擬私有雲網路 |
例如: |
子網路 |
例如: |
防火牆政策 |
例如:
|
Cloud Router |
例如: |
Cloud Interconnect 連線 |
例如: |
Cloud Interconnect VLAN 連結 |
例如: |
群組 |
其中「Where」是群組的其他資訊。 例如: |
自訂角色 |
如要查看角色的其他資訊,請按一下「Where」 例如: |
服務帳戶 |
其中:
例如: |
Storage bucket |
其中:
例如: |
預設最佳化建議的替代方案
藍圖中建議的最佳做法可能不適用於所有客戶。您可以根據特定需求自訂任何建議。下表列出一些常見的變化,您可能會根據現有的技術堆疊和工作方式,需要這些變化。
決策領域 | 可能的替代方案 |
---|---|
機構:藍圖會使用單一機構做為所有資源的根節點。 |
為登陸區決定資源階層 Google Cloud 一文介紹了您可能偏好使用多個機構的案例,例如:
|
資料夾結構:藍圖的資料夾結構會將工作負載劃分為頂層的 |
決定登陸區的資源階層:介紹根據資源管理方式和政策沿用方式來建構資料夾的其他方法,例如: Google Cloud
|
機構政策:藍圖會在機構節點強制執行所有機構政策限制。 |
您可能為業務的不同部分制定不同的安全政策或工作方式。在這個情境中,請在資源階層的較低節點強制執行組織政策限制。請參閱機構政策限制的完整清單,瞭解如何滿足您的需求。 |
部署管道工具:藍圖會使用 Cloud Build 執行自動化管道。 |
您可能偏好使用其他產品來建立部署管道,例如 Terraform Enterprise、GitLab Runners、GitHub Actions 或 Jenkins。藍圖包含各項產品的替代方向。 |
部署的程式碼存放區:藍圖使用 Cloud Source Repositories 做為代管的私人 Git 存放區。 |
使用偏好的版本管控系統管理程式碼存放區,例如 GitLab、GitHub 或 Bitbucket。 如果您使用在內部部署環境中代管的私人存放區,請從存放區設定到 Google Cloud環境的私人網路路徑。 |
身分識別提供者:藍圖假設您使用內部部署的 Active Directory,並透過 Google Cloud Directory Sync 將身分識別連結至 Cloud Identity。 |
如果您已使用 Google Workspace,可以沿用 Google Workspace 中已管理的 Google 身分。 如果沒有現有的身分提供者,您可以直接在 Cloud Identity 中建立及管理使用者身分。 如果您有現有的身分識別提供者,例如 Okta、Ping 或 Azure Entra ID,您可以在現有的身分識別提供者中管理使用者帳戶,並同步處理至 Cloud Identity。 如果您有資料主權或法規遵循方面的需求,無法使用 Cloud Identity,且不需要其他 Google 服務 (例如 Google Ads 或 Google Marketing Platform) 的受管理 Google 使用者身分,則可能偏好員工身分同盟。在這種情況下,請注意支援的服務有哪些限制。 |
多個區域:藍圖會將區域資源部署到兩個不同的 Google Cloud 區域,協助您設計工作負載,同時兼顧高可用性和災難復原需求。 |
如果您的使用者遍布多個地理位置,不妨設定更多 Google Cloud 區域,在更靠近使用者的位置建立資源,以減少延遲。 如果您有資料主權限制,或單一Google Cloud 區域就能滿足可用性需求,則可能只會設定一個區域。 |
IP 位址分配:藍圖提供一組 IP 位址範圍。 | 您可能需要根據現有混合式環境中的 IP 位址可用性,變更所用的特定 IP 位址範圍。如果您修改 IP 位址範圍,請參考藍圖,瞭解所需的範圍數量和大小,並查看Google Cloud的有效 IP 位址範圍。 |
混合式網路:藍圖會跨多個實體網站和Google Cloud 區域使用專屬互連,以盡量提升頻寬和可用性。 |
視成本、頻寬和可靠性需求而定,您可能會改為設定合作夥伴互連網路或 Cloud VPN。 如果需要先開始部署資源,再完成專屬互連,可以先使用 Cloud VPN,之後再改用專屬互連。 如果沒有現有的內部部署環境,您可能完全不需要混合式網路。 |
VPC Service Controls 範圍:藍圖建議使用單一範圍,其中包含 Shared VPC 拓撲的所有服務專案。 | 您可能需要為機構建立多個安全防護範圍,或者決定完全不使用 VPC Service Controls。 如需相關資訊,請參閱「決定如何透過 Google API 減少資料外洩風險」。 |
Secret Manager:藍圖會部署專案,以便在 | 如果貴機構只有一個團隊負責管理及稽核機密資訊,您可能只想使用單一專案來管理機密資訊的存取權。 如果您允許工作負載團隊管理自己的密鑰,您可能不會使用集中式專案來管理密鑰存取權,而是允許團隊在工作負載專案中使用自己的 Secret Manager 執行個體。 |
Cloud KMS:藍圖會部署專案,以便在整個機構的 |
如果只有一個團隊負責管理及稽核整個機構的加密金鑰,您可能只想使用單一專案來管理金鑰存取權。集中式做法有助於滿足法規遵循要求,例如 PCI 金鑰管理員。 如果您允許工作負載團隊管理自己的金鑰,可能就不會使用集中式專案管理金鑰存取權,而是讓團隊在工作負載專案中使用自己的 Cloud KMS 執行個體。 |
匯總記錄接收器:藍圖會在機構節點設定一組記錄接收器,讓中央安全團隊可以查看整個機構的稽核記錄。 | 您可能有不同團隊負責稽核業務的不同部分,而這些團隊可能需要不同的記錄才能完成工作。在這種情況下,請在適當的資料夾和專案中設計多個匯總接收器,並建立篩選器,確保每個團隊只會收到必要的記錄,或設計記錄檢視畫面,以便對共用記錄值區進行精細的存取權控管。 |
基礎架構管道的精細程度:藍圖採用模型,每個業務單位都有個別的基礎架構管道,可管理工作負載專案。 | 如果您有負責部署所有專案和基礎架構的中央團隊,或許會偏好由中央團隊管理的單一基礎架構管線。這個中央團隊可以接受工作負載團隊的提取要求,以便在建立專案前審查並核准,也可以自行建立提取要求,以回應票證系統。 如果個別工作負載團隊可以自訂管道,且您想為管道設計更精細的特殊權限服務帳戶,則可能偏好更精細的管道。 |
SIEM 匯出:藍圖會管理 Security Command Center 中的所有安全性發現項目。 | 決定是否要將 Security Command Center 的安全發現項目匯出至 Google Security Operations 或現有 SIEM 等工具,或是由團隊使用主控台查看及管理安全發現項目。您可能會為不同團隊設定多個匯出作業,並使用專屬篩選器,這些團隊的範圍和職責各不相同。 |
後續步驟
- 使用 GitHub 上的 Terraform 範例基礎實作藍圖。
- 如要進一步瞭解最佳做法設計原則,請參閱Google Cloud 架構完善的架構。
請參閱藍圖資料庫,加速設計及建構常見的企業工作負載,包括:
請參閱相關解決方案,在基礎環境上部署。