Creazione di collegamenti alle risorse
È possibile creare un binding delle risorse per abilitare il controllo granulare degli accessi a bucket Object Storage specifici da una VPC specifica. La creazione di un binding di risorse è facoltativa, ma consente di definire regole di gruppo di sicurezza e di restrizione basata sul contesto (CBR) che controllano con precisione quali bucket sono accessibili tramite un VPE in una topologia VPC con condivisione DNS.
Un binding delle risorse associa uno o più Object Storage bucket a un VPE, garantendo (insieme alle regole CBR sui bucket) che solo il traffico proveniente dal VPC associato possa accedere a tali bucket.
Prima di iniziare
Prima di creare un collegamento alle risorse, tenere presente quanto segue:
-
Assicurarsi di disporre di un hub DNS esistente e di una topologia DNS condivisa configurata per le proprie VPC.
-
Per Cloud Object Storage, un VPE in una VPC condivisa DNS deve essere creato utilizzando la modalità di associazione per risorsa prima di poter aggiungere qualsiasi associazione di risorse. I VPE possono essere creati sia in hub che in VPC condivise tramite DNS.
-
Per consentire l'accesso alle Cloud Object Storage risorse solo dalla VPC condivisa tramite DNS, è necessario creare regole CBR che consentano esplicitamente alla VPC condivisa tramite DNS di accedere alle Cloud Object Storage risorse.
È necessario creare le regole CBR prima di creare il binding delle risorse e prima di limitare l'accesso dall'hub DNS VPC.
Creazione di collegamenti alle risorse nella console
Per creare collegamenti alle risorse per il Cloud Object Storage servizio nella IBM Cloud console, procedere come segue:
-
Nella IBM Cloud console, fare clic sull'
del menu Navigazione >
Infrastruttura VPC > Rete > Gateway endpoint privati virtuali.
-
Fare clic sul menu Azioni
accanto al VPE creato per il archiviazione-oggetti-cloud servizio.
In alternativa, è possibile fare clic sul nome VPE nell'elenco e quindi sulla scheda Associazioni risorse per creare o gestire le associazioni risorse esistenti.
Se la condivisione DNS è impostata in modalità Primaria per questo VPE, la scheda Associazioni risorse non viene visualizzata poiché in questa modalità non è possibile creare associazioni di risorse.
-
Seleziona Crea associazione risorsa dal menu.
-
Inserisci un prefisso per il nome del binding delle risorse.
- Il sistema aggiunge automaticamente un numero al prefisso (ad esempio,
vpe-gtw-resource-01,vpe-gtw-resource-02). - È possibile aggiungere fino a 10 bucket alla volta.
- Il sistema aggiunge automaticamente un numero al prefisso (ad esempio,
-
Nella vista Seleziona all'interno dello stesso account, seleziona Object Storage l'istanza e una o più posizioni Object Storage del bucket oppure fai clic su Inserisci CRN per aggiungerle manualmente.
-
Selezionare un bucket Object Storage dall'elenco. Quindi, rivedi la configurazione e clicca su Salva.
Dopo aver creato il binding delle risorse, Cloud Object Storage il traffico per i bucket specificati uscirà attraverso il VPE isolato dal tenant corrispondente nel VPC condiviso DNS.
È possibile modificare o rimuovere i collegamenti in qualsiasi momento per regolare l'accesso.
Creazione di associazioni di risorse dalla CLI
Per creare associazioni di risorse per il Cloud Object Storage servizio dalla CLI, procedere come segue:
-
Accedere al proprio account con la CLI. Dopo aver inserito la password, il sistema richiede di specificare l'account e la regione che si desidera utilizzare:
ibmcloud login --sso
Per creare un binding di risorse DNS, immettere il comando seguente:
ibmcloud is endpoint-gateway-resource-binding-create ENDPOINT_GATEWAY --name NAME --target CRN
Dove:
ENDPOINT_GATEWAY- È il nome del VPE a cui si intende associare questa risorsa.
-name NAME- È il nome del binding della risorsa DNS.
--target CRN- È il CRN del Object Storage bucket.
Esempio di comando
Per creare il binding delle risorse my-resource-binding all'endpoint gateway 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
Creazione di associazioni di risorse con l'API
Per creare associazioni di risorse per Cloud Object Storage con l'API, procedere come segue:
-
Configura il tuo ambiente API.
-
Per creare un binding di risorse 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" } }'
Creazione di associazioni di risorse con Terraform
Per utilizzare Terraform, scarica la CLI Terraform e configura il IBM Cloud plug-in Provider. Per ulteriori informazioni, consulta Introduzione a Terraform.
I servizi di infrastruttura VPC utilizzano un endpoint specifico regionale, che punta a us-south per impostazione predefinita. Se la tua VPC è stata creata in un'altra regione, assicurati di selezionare la regione appropriata nel
blocco provider nel provider.tf file.
Vedi il seguente esempio di targeting di una regione diversa da quella predefinita us-south.
provider "ibm" {
region = "eu-de"
}
Per creare associazioni di risorse per il Cloud Object Storage servizio utilizzando Terraform:
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
}