Erstellen von Ressourcenbindungen

Sie können eine Ressourcenbindung erstellen, um eine detaillierte Zugriffskontrolle für bestimmte Object Storage Buckets aus einer bestimmten VPC zu ermöglichen. Das Erstellen einer Ressourcenbindung ist optional, ermöglicht Ihnen jedoch die Definition von Sicherheitsgruppen- und kontextbasierten Einschränkungsregeln (CBR), mit denen Sie genau steuern können, auf welche Buckets über eine VPE in einer DNS-freigebenden VPC-Topologie zugegriffen werden kann.

Eine Ressourcenbindung ordnet einen oder mehrere Object Storage Buckets einem VPE zu und stellt (zusammen mit den CBR-Regeln für die Buckets) sicher, dass nur Datenverkehr aus dem zugehörigen VPC auf diese Buckets zugreifen kann.

Vorbereitende Schritte

Bevor Sie eine Ressourcenbindung erstellen, beachten Sie bitte die folgenden Hinweise:

  • Stellen Sie sicher, dass Sie über eine vorhandene DNS-Hub- und DNS-Shared-Topologie verfügen, die für Ihre VPCs konfiguriert ist.

  • Für eine VPE in einer Cloud Object Storage DNS-freigegebenen VPC muss zunächst der B indungsmodus „Pro Ressource“ verwendet werden, bevor Ressourcenbindungen hinzugefügt werden können. VPEs können entweder in Hub- oder DNS-freigegebenen VPCs erstellt werden.

  • Um den Zugriff auf Cloud Object Storage Ressourcen nur aus der DNS-freigegebenen VPC zu ermöglichen, müssen Sie CBR-Regeln erstellen, die der DNS-freigegebenen VPC ausdrücklich den Zugriff auf die Cloud Object Storage Ressourcen erlauben.

    Sie müssen die CBR-Regeln erstellen, bevor Sie die Ressourcenbindung erstellen und bevor Sie den Zugriff vom DNS-Hub-VPC einschränken.

Erstellen von Ressourcenbindungen in der Konsole

Um Ressourcenbindungen für den Cloud Object Storage Dienst in der IBM Cloud Konsole zu erstellen, führen Sie die folgenden Schritte aus:

  1. Klicken Sie in der IBM Cloud Konsole auf das Symbol fürdas Navigationsmenü > Symbol für Infrastruktur-VPC > Netzwerk > Virtuelle private Endpunkt-Gateways.

  2. Klicken Sie auf das „Aktionen“ im Menü „Aktionen“ neben dem für den Cloud- Objektspeicherdienst erstellten VPE.

    Alternativ können Sie auf den Namen der VPE in der Liste klicken und dann auf die Registerkarte „Ressourcenbindungen“ klicken, um vorhandene Ressourcenbindungen zu erstellen oder zu verwalten.

    Wenn die DNS-Freigabe für diese VPE auf den Primärmodus eingestellt ist, wird die Registerkarte „Ressourcenbindungen“ nicht angezeigt, da Sie in diesem Modus keine Ressourcenbindungen erstellen können.

  3. Wählen Sie im Menü die Option „Ressourcenbindung erstellen“ aus.

  4. Geben Sie ein Präfix für den Namen der Ressourcenbindung ein.

    • Das System hängt automatisch eine Nummer an das Präfix an (zum Beispiel, vpe-gtw-resource-01 vpe-gtw-resource-02).
    • Sie können bis zu 10 Buckets gleichzeitig hinzufügen.
  5. Wählen Sie in der Ansicht „ Innerhalb desselben Kontos auswählen “ die Object Storage Instanz und einen oder mehrere Object Storage Bucket-Speicherorte aus oder klicken Sie auf „CRN eingeben“, um sie manuell hinzuzufügen.

  6. Wählen Sie einen Object Storage Eimer aus der Liste. Überprüfen Sie anschließend Ihre Konfiguration und klicken Sie auf „ Speichern “.

Nachdem die Ressourcenbindung erstellt wurde, wird Cloud Object Storage der Datenverkehr für die angegebenen Buckets über die entsprechende mandantenisolierte VPE in der DNS-gemeinsam genutzten VPC ausgegeben.

Sie können Bindungen jederzeit ändern oder entfernen, um den Zugriff anzupassen.

Erstellen von Ressourcenbindungen über die CLI

Um Ressourcenbindungen für den Cloud Object Storage Dienst über die CLI zu erstellen, führen Sie die folgenden Schritte aus:

  1. Konfigurieren Sie die Umgebung der Befehlszeilenschnittstelle.

  2. Melden Sie sich über die CLI bei Ihrem Konto an. Nach der Eingabe des Kennworts werden Sie vom System aufgefordert, anzugeben, welches Konto und welche Region verwendet werden soll:

    ibmcloud login --sso
    

Um eine DNS-Ressourcenbindung zu erstellen, geben Sie den folgenden Befehl ein:

ibmcloud is endpoint-gateway-resource-binding-create ENDPOINT_GATEWAY --name NAME --target CRN

Dabei gilt:

ENDPOINT_GATEWAY
Ist der Name des VPE, an den Sie diese Ressource binden möchten.
-name NAME
Ist der Name dieser DNS-Ressource bindend?
--target CRN
Ist die CRN des Object Storage Eimers.

Befehlsbeispiel

Um eine Ressourcenbindung my-resource-binding zum Endpunkt-Gateway zu erstellen 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

Erstellen von Ressourcenbindungen mit der API

Um Ressourcenbindungen für die Cloud Object Storage mit der API zu erstellen, führen Sie die folgenden Schritte aus:

  1. Richten Sie die API-Umgebung ein.

  2. So erstellen Sie eine DNS-Ressourcenbindung:

    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"
                     }
                   }'
    

Erstellen von Ressourcenbindungen mit Terraform

Um Terraform zu verwenden, laden Sie die Terraform-CLI herunter und konfigurieren Sie das IBM Cloud Provider-Plugin. Weitere Informationen finden Sie unter Erste Schritte mit Terraform.

VPC-Infrastrukturdienste verwenden einen regionsspezifischen Endpunkt, der standardmäßig us-south auf ausgerichtet ist. Wenn Ihre VPC in einer anderen Region erstellt wurde, stellen Sie sicher, dass Sie die entsprechende Region im Provider-Block in der provider.tf Datei angeben.

Siehe das folgende Beispiel für die Ausrichtung auf eine andere Region als die Standardregion us-south.

provider "ibm" {
  region = "eu-de"
}

So erstellen Sie Ressourcenbindungen für den Cloud Object Storage Dienst mit 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
}