您可以使用Google Cloud 控制台、gcloud CLI 或 REST API,建立、列出、查看、更新及刪除 IAM 統一存取政策 (UAP) 和政策繫結。
Agent Gateway 會使用 Identity-Aware Proxy (IAP),在代理、MCP 伺服器和端點強制執行這些輸出政策。如要瞭解政策的運作方式,請參閱「IAM UAP 總覽」。如需詳細的規則範例和 CEL 屬性,請參閱「建立 IAM UAP」。
必要的角色
如要取得管理 UAP 和政策繫結所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
查看 UAP 和繫結:存取權政策檢視者 (
roles/iam.accessPolicyViewer) -
建立、更新及刪除 UAP 和繫結:存取權政策管理員 (
roles/iam.accessPolicyAdmin) -
將政策繫結至專案:專案 IAM 管理員 (
roles/resourcemanager.projectIamAdmin)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立 UAP
UAP 包含一或多個允許或拒絕規則。政策必須繫結至目標資源,才會生效。
如要進一步瞭解如何建立 UAP,請參閱「建立 IAM UAP」。
控制台
-
前往 Google Cloud 控制台的「Policies」(政策) 頁面:
- 在專案選取器中,選取要使用 UAP 的 Agent Gateway 所屬的專案。
- 如要為 Agent Gateway 輸出新增 IAM UAP,請按一下「 建立」。
-
在「Policy details」(政策詳細資料) 窗格中,執行下列操作:
- 按一下「政策」欄位。
- 在下拉式清單中,選取「建立新政策」。
- 在「Policy name」(政策名稱) 欄位中,輸入政策的描述性名稱。
- 在「Add Rules」(新增規則) 中,設定允許或拒絕規則和 CEL 條件。如需 UAP 設定步驟和範例,請參閱「建立 IAM UAP」。
- 按一下「建立」即可儲存規則。
gcloud
如要使用 gcloud CLI 建立 UAP,請在 JSON 檔案中定義政策規則,然後執行 create 指令:
gcloud iam access-policies create POLICY_NAME \
--details-rules=POLICY_FILE \
--project=PROJECT_ID \
--location=global
更改下列內容:
-
POLICY_NAME:政策名稱 -
POLICY_FILE:政策檔案的路徑,例如:my-policy.json PROJECT_ID:政策所在的專案 ID
API
如要使用 REST API 建立 UAP,請向 accessPolicies 端點發出 POST 要求:
curl -X POST \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies?accessPolicyId=POLICY_NAME" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"details": {
"rules": [
{
"description": "RULE_DESCRIPTION",
"effect": "ALLOW",
"principals": [
"principal://agents.global.proj-PROJECT_NUMBER.system.id.goog/resources/aiplatform/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_NAME"
],
"operation": {
"permissions": [
"iap.resources.egressViaIAP"
]
},
"conditions": {
"iap.googleapis.com": {
"expression": "CEL_EXPRESSION"
}
}
}
]
}
}'
更改下列內容:
PROJECT_ID:專案 IDPOLICY_NAME:新政策的 IDPROJECT_NUMBER:專案編號LOCATION:代理位置AGENT_NAME:來源代理 IDCEL_EXPRESSION:CEL 條件運算式
將政策繫結至目標資源
如要強制執行 UAP,請將其繫結至目標資源範圍,例如專案或 Agent Gateway 執行個體。
控制台
儲存政策時,政策會自動繫結至專案。
gcloud
如要使用 gcloud CLI 將 UAP 繫結至目標資源,請執行下列指令:
gcloud iam policy-bindings create BINDING_NAME \
--policy="projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \
--target-resource="TARGET_RESOURCE" \
--project=PROJECT_ID \
--location=global
更改下列內容:
BINDING_NAME:政策繫結的名稱-
PROJECT_ID:您的 Google Cloud 專案 ID -
POLICY_NAME:存取權政策的名稱 -
TARGET_RESOURCE:專案的完整資源 URI,格式如下://cloudresourcemanager.googleapis.com/projects/PROJECT_ID
API
如要使用 REST API 將 UAP 繫結至目標資源,請向 policyBindings 端點發出 POST 要求:
curl -X POST \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings?policyBindingId=BINDING_NAME" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": "projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME",
"target": {
"resource": "TARGET_RESOURCE"
}
}'
更改下列內容:
PROJECT_ID:專案 IDBINDING_NAME:政策繫結的名稱POLICY_NAME:UAP 的名稱TARGET_RESOURCE:專案的完整資源 URI,格式如下://cloudresourcemanager.googleapis.com/projects/PROJECT_ID
列出政策和政策繫結
您可以列出專案中的所有 UAP,或列出附加至目標資源的所有政策繫結。
列出 UAP
控制台
- 前往 Google Cloud 控制台的「Policies」(政策) 頁面。
- 專案中建立的所有 UAP 都會顯示在「Unified Access Policies」(統一存取政策) 分頁的清單中。
gcloud
如要列出專案中的 UAP,請執行下列指令:
gcloud iam access-policies list \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 列出 UAP,請向 accessPolicies 端點發出 GET 要求:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
列出政策繫結
控制台
透過控制台管理的政策會自動繫結至專案,因此您必須使用 gcloud CLI 或 REST API 查看政策繫結。
gcloud
如要列出專案中的政策繫結,請執行下列指令:
gcloud iam policy-bindings list \ --project=PROJECT_ID \ --location=global
如要依特定目標資源篩選政策繫結,請指定 --target-resource 旗標:
gcloud iam policy-bindings list \ --target-resource="TARGET_RESOURCE" \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 列出政策繫結,請向 policyBindings 端點發出 GET 要求:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
說明政策或政策繫結
您可以擷取特定 UAP 或政策繫結的詳細設定和規則。
描述 UAP
控制台
-
前往 Google Cloud 控制台的「Policies」(政策) 頁面:
- 在專案選取器中,選取要使用 UAP 的 Agent Gateway 所屬的專案。
- 在「UAPs」分頁的「Agent policies」(代理程式政策) 表格中,找出要說明的政策。
- 在政策所在的資料列中,依序按一下「More actions」(更多動作) 圖示 和「View rule」(查看規則)。
gcloud
如要說明特定 UAP,請執行下列指令:
gcloud iam access-policies describe POLICY_NAME \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 擷取特定 UAP,請提出 GET 要求:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
說明政策繫結
控制台
透過控制台管理的政策會自動繫結至專案,因此您必須使用 gcloud CLI 或 REST API 查看政策繫結。
gcloud
如要說明特定政策繫結,請執行下列指令:
gcloud iam policy-bindings describe BINDING_NAME \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 擷取特定政策繫結,請提出 GET 要求:
curl -X GET \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更新政策和政策繫結
您可以更新現有 UAP 中的規則,或更新政策繫結參照的目標或政策。
更新 UAP
控制台
-
前往 Google Cloud 控制台的「Policies」(政策) 頁面:
- 在專案選取器中,選取要使用 UAP 的 Agent Gateway 所屬的專案。
- 在「UAPs」分頁的「Agent policies」(代理程式政策) 表格中,找出要編輯的政策列。
- 依序點選 「More actions」(更多動作) 和「Edit rule」(編輯規則)。
- 修改規則、作用、主體或 CEL 條件。
- 按一下「儲存」。
gcloud
如要使用 gcloud CLI 更新現有的 UAP,請將修改後的規則儲存至 JSON 檔案,然後執行下列指令:
gcloud iam access-policies update POLICY_NAME \ --details-rules=POLICY_FILE.json \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 更新 UAP,請向 UAP 端點傳送 PATCH 要求:
curl -X PATCH \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME?updateMask=details" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"details": {
"rules": [
{
"description": "RULE_DESCRIPTION",
"effect": "ALLOW",
"principals": [
"principal://agents.global.proj-PROJECT_NUMBER.system.id.goog/resources/aiplatform/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/AGENT_NAME"
],
"operation": {
"permissions": [
"iap.resources.egressViaIAP"
]
}
}
]
}
}'
更新政策繫結
控制台
如要更新政策繫結,請使用 gcloud CLI 或 REST API。
gcloud
如要更新政策繫結,改為參照其他政策或目標,請執行下列指令:
gcloud iam policy-bindings update BINDING_NAME \ --policy="projects/PROJECT_ID/locations/global/accessPolicies/NEW_POLICY_NAME" \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 更新政策繫結,請提出 PATCH 要求:
curl -X PATCH \
"https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME?updateMask=policy" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": "projects/PROJECT_ID/locations/global/accessPolicies/NEW_POLICY_NAME"
}'
刪除政策和政策繫結
刪除政策繫結
控制台
如要刪除政策繫結,請使用 gcloud CLI 或 REST API。
gcloud
如要刪除政策繫結,請執行下列指令:
gcloud iam policy-bindings delete BINDING_NAME \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 刪除政策繫結,請提出 DELETE 要求:
curl -X DELETE \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/policyBindings/BINDING_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
刪除 UAP
控制台
如要刪除 UAP,必須刪除政策中的所有規則。
-
前往 Google Cloud 控制台的「Policies」(政策) 頁面:
- 在專案選取器中,選取要使用 UAP 的 Agent Gateway 所屬的專案。
- 在「Unified Access Policies」(統一存取政策) 分頁的「Agent Policies」(代理程式政策) 表格中,篩選 「Filter」(篩選器),或找出要刪除的政策。
- 依序點選 「More actions」(更多動作) 和「Delete rule」(刪除規則)。
gcloud
如要在刪除 UAP 的繫結後刪除 UAP,請執行下列指令:
gcloud iam access-policies delete POLICY_NAME \ --project=PROJECT_ID \ --location=global
API
如要使用 REST API 刪除 UAP,請提出 DELETE 要求:
curl -X DELETE \ "https://iam.googleapis.com/v3beta/projects/PROJECT_ID/locations/global/accessPolicies/POLICY_NAME" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"