建立資源綁定
您可以建立資源綁定,以實現從特定 VPC 對特定 Object Storage 儲存桶進行細粒度的存取控制。 建立資源綁定雖屬可選操作,但可藉此定義安全群組與基於情境的限制(CBR)規則,精確控制在 DNS 共用 VPC 拓撲中,哪些儲存桶可透過 VPE 存取。
資源綁定將一個或多個 Object Storage 儲存桶與虛擬私有雲端區域(VPE)關聯,確保(配合儲存桶上的CBR規則)僅有源自關聯虛擬私有雲端區域的流量能存取這些儲存桶。
開始之前
在建立資源綁定之前,請審閱以下注意事項:
-
請確保您已為虛擬私有雲 (VPC) 設定現有的 DNS-hub 與 DNS-shared 拓撲結構。
-
對於 DNS 共享 VPC 中的虛擬私有雲 (VPC),必須先使用 Cloud Object Storage「按資源綁定模式」建立虛擬私有雲,才能添加任何資源綁定。 虛擬私有雲(VPC)可在樞紐型或 DNS 共用型 VPC 中建立。
-
若要僅允許從 DNS 共享 VPC 存取 Cloud Object Storage 資源,您必須建立 CBR 規則,明確允許 DNS 共享 VPC 存取該 Cloud Object Storage 資源。
您必須在建立資源綁定之前,以及在限制來自 DNS 樞紐 VPC 的存取之前,先建立 CBR 規則。
在控制台建立資源綁定
要在 IBM Cloud 控制台為服務 Cloud Object Storage 建立資源綁定,請遵循以下步驟:
-
在 IBM Cloud 控制台中,點擊導覽
單圖示 > 基礎架構
> 網路 > 虛擬私有端點閘道。
-
點擊服務 雲端物件儲存 所建立的 VPE 旁邊的「動作
」選單。
或者,您也可以在清單中點擊 VPE 名稱,然後點擊「資源綁定」標籤頁來建立或管理現有的資源綁定。
若此 VPE 的 DNS 共享設定為主要模式,則資源綁定標籤頁將不會顯示,因為在此模式下無法建立資源綁定。
-
從選單中選擇「建立資源綁定」。
-
輸入資源綁定名稱前綴。
- 系統會自動在前綴後附加一個數字(例如:
vpe-gtw-resource-01,vpe-gtw-resource-02)。 - 您一次最多可添加10個儲存桶。
- 系統會自動在前綴後附加一個數字(例如:
-
在「選擇同一帳戶內」檢視中,選取實例 Object Storage 及一個或多個 Object Storage 儲存桶位置,或點擊 「輸入CRN」 以手動新增。
-
從清單中選取 Object Storage 水桶。 接著,檢視您的設定並點擊「儲存」。
建立資源綁定後,指定 Cloud Object Storage 儲存桶的流量將透過 DNS 共享 VPC 中的對應租戶隔離 VPE 進行出站傳輸。
您可隨時修改或移除綁定設定,以調整存取權限。
從命令列介面建立資源綁定
要從命令列介面為 Cloud Object Storage 服務建立資源綁定,請遵循以下步驟:
-
使用 CLI 登入您的帳戶。 輸入密碼後,系統會提示您選擇要使用的帳戶及區域:
ibmcloud login --sso
要建立 DNS 資源綁定,請輸入以下命令:
ibmcloud is endpoint-gateway-resource-binding-create ENDPOINT_GATEWAY --name NAME --target CRN
其中:
ENDPOINT_GATEWAY- 此資源計劃綁定的 VPE 名稱為何?
-name NAME- 此 DNS 資源綁定名稱為何?
--target CRN- 此為儲存桶 Object Storage 的CRN。
指令範例
建立與端點閘道的 my-resource-binding 資源 cli-egw-1 綁定:
ibmcloud is endpoint-gateway-resource-binding-create cli-egw-1 --name my-resource-binding --target crn:v1:bluemix:public:cloud-object-storage:global:a/a1234567:504bde7e-28c0-447f-8f75-484c55b5f222:bucket:test-cli
使用 API 建立資源綁定
要 Cloud Object Storage 透過 API 為 建立資源綁定,請遵循以下步驟:
-
設定您的 API 環境。
-
建立 DNS 資源綁定:
curl -X POST \ "__ENDPOINT__/__BASE_PATH__/endpoint_gateways/$endpoint_gateway_id/resource_bindings?__QUERY__" \ __AUTHORIZATION__ \ -d '{ "name": "my-resource-binding", "target": { "crn":"crn:v1:bluemix:public:cloud-object-storage:global:a/aa2432b1fa4d4ace891e9b80fc104e34:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:bucket-27200-lwx4cfvcue" } }'
使用 Terraform 建立資源綁定
要使用 Terraform,請下載 Terraform CLI 並設定 Provider IBM Cloud 外掛程式。 如需更多資訊,請參閱 《Terraform 入門指南》。
VPC 基礎架構服務使用區域專屬的端點,預設目標為 us-south。 若您的 VPC 建立於其他區域,請務必在 檔案 provider.tf 的提供者區塊中指定正確的區域。
請參閱以下針對非預設區域的設定 us-south 範例。
provider "ibm" {
region = "eu-de"
}
使用 Terraform 為服務 Cloud Object Storage 建立資源綁定:
resource "ibm_is_virtual_endpoint_gateway" "iam_vpe" {
name = "${var.name}-vpe-iam"
vpc = ibm_is_vpc.testacc_vpc.id
target {
resource_type = var.vpe_target_type
crn = var.vpe_target_crn
}
dns_resolution_binding_mode = "disabled"
}
resource "ibm_is_virtual_endpoint_gateway_resource_binding" "iam_vpe_rb" {
name = "${var.name}-vpe-rb"
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
target {
crn = var.vpe_rb_target
}
}
data "ibm_is_virtual_endpoint_gateway" "iam_vpe" {
name = ibm_is_virtual_endpoint_gateway.iam_vpe.name
}
data "ibm_is_virtual_endpoint_gateways" "all" {}
data "ibm_is_virtual_endpoint_gateway_resource_bindings" "iam_vpe_rbs" {
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
}
data "ibm_is_virtual_endpoint_gateway_resource_binding" "iam_vpe_rb" {
endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.iam_vpe.id
endpoint_gateway_resource_binding_id = ibm_is_virtual_endpoint_gateway_resource_binding.iam_vpe_rb.endpoint_gateway_resource_binding_id
}