管理 Private Service Connect 消費者的安全性
本頁面說明服務用戶如何為使用 Private Service Connect 的用戶機構和虛擬私有雲網路設定安全性。
管理員可透過機構政策,廣泛控管專案可使用 Private Service Connect 端點和後端連線的虛擬私有雲網路或機構。網路管理員可透過虛擬私有雲防火牆規則和防火牆政策,控管對 Private Service Connect 資源的網路層級存取權。機構政策和防火牆規則是互補的,可以一起使用。
角色
如要取得管理機構政策所需的權限,請要求管理員為您授予機構的機構政策管理員 (roles/orgpolicy.policyAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要取得建立防火牆規則所需的權限,請要求管理員授予您虛擬私有雲網路的Compute 網路管理員 (roles/compute.networkAdmin
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
消費者機構政策
您可以搭配使用組織政策和清單限制,控管 Private Service Connect 端點或後端的部署作業。如果端點或後端遭消費者機構政策封鎖,資源建立作業就會失敗。
詳情請參閱「消費者端機構組織政策」。
禁止端點和後端連線至未經授權的服務連結
資源:端點和後端
gcloud
建立名為
/tmp/policy.yaml
的暫時檔案,用來儲存新政策。在檔案中新增下列內容:name: organizations/CONSUMER_ORG/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/PRODUCER_ORG_NUMBER - under:organizations/433637338589
更改下列內容:
CONSUMER_ORG
:您要控管端點和後端連線的機構的機構資源 ID。PRODUCER_ORG_NUMBER
:您要允許端點和後端連線的生產者機構的數值機構資源 ID。
如要禁止端點和後端連線至 Google 擁有的服務附件,請從
allowedValues
區段中移除下列項目:- under:organizations/433637338589
。如要指定可連結至專案中服務附件的其他機構,請在
allowedValues
區段中加入其他項目。除了機構,您也可以指定授權資料夾和專案,格式如下:
under:folders/FOLDER_ID
FOLDER_ID
必須是數字 ID。under:projects/PROJECT_ID
PROJECT_ID
必須是字串 ID。
舉例來說,下列項目可用於建立機構政策,禁止
Consumer-org-1
中的端點和後端連線至服務附件,除非服務附件與允許值或允許值的後代相關聯。允許的值為機構Producer-org-1
、專案Producer-project-1
和資料夾Producer-folder-1
。name: organizations/Consumer-org-1/policies/compute.restrictPrivateServiceConnectProducer spec: rules: - values: allowedValues: - under:organizations/Producer-org-1 - under:projects/Producer-project-1 - under:folders/Producer-folder-1
套用政策。
gcloud org-policies set-policy /tmp/policy.yaml
查看已生效的政策。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
禁止消費者依連線類型部署端點
資源:端點
gcloud
建立名為
/tmp/policy.yaml
的暫時檔案,用來儲存新政策。如要禁止消費者機構中的使用者建立連線至 Google API 的端點,請在檔案中加入下列內容:
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - SERVICE_PRODUCERS
如要禁止消費者機構中的使用者建立連線至已發布服務的端點,請在檔案中新增下列內容:
name: organizations/CONSUMER_ORG/policies/compute.disablePrivateServiceConnectCreationForConsumers spec: rules: - values: allowedValues: - GOOGLE_APIS
將
CONSUMER_ORG
替換為要控管端點部署作業的消費者機構名稱。套用政策。
gcloud org-policies set-policy /tmp/policy.yaml
查看已生效的政策。
gcloud org-policies describe compute.restrictPrivateServiceConnectProducer \ --effective \ --organization=CONSUMER_ORG
防火牆規則
資源:全部
您可以使用 VPC 防火牆規則或防火牆政策,控管 Private Service Connect 資源的存取權。輸出防火牆規則可封鎖或允許 VM 執行個體存取端點和後端的 IP 位址或子網路。
舉例來說,圖 1 說明防火牆規則控管 Private Service Connect 端點所連線子網路存取權的設定。
vm-1
的流量可以連上端點子網路,但來自 vm-2
的流量會遭到封鎖 (按一下可放大)。下列防火牆規則會拒絕所有輸出流量傳送到端點子網路:
gcloud compute firewall-rules create deny-all \ --network=vpc-1 \ --direction=egress \ --action=deny \ --destination-ranges=10.33.0.0/24 --priority=1000
下列優先順序較高的防火牆規則,允許具有
allow-psc
網路標記的 VM 將輸出流量傳送至端點子網路:gcloud compute firewall-rules create allow-psc \ --network=vpc-1 \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=10.33.0.0/24 --priority=100
使用防火牆規則限制端點或後端的存取權
如要限制 VM 存取端點或後端的子網路,請按照下列步驟操作。
建立防火牆規則,拒絕輸出流量前往端點或後端子網路。
gcloud compute firewall-rules create deny-all \ --network=NETWORK \ --direction=egress \ --action=deny \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=1000
更改下列內容:
NETWORK
:端點或後端的網路名稱。ENDPOINT_SUBNET_RANGE
:要控管存取權的端點或後端子網路 IP CIDR 範圍。
建立第二個防火牆規則,允許標記的 VM 將輸出流量傳送至端點或後端子網路。
gcloud compute firewall-rules create allow-psc \ --network=NETWORK \ --direction=egress \ --action=allow \ --target-tags=allow-psc \ --destination-ranges=ENDPOINT_SUBNET_RANGE \ --priority=100