Creación de enlaces de recursos

Puede crear un enlace de recursos para habilitar el control de acceso granular a buckets Object Storage específicos desde una VPC específica. La creación de un enlace de recursos es opcional, pero le permite definir reglas de grupo de seguridad y restricción basada en el contexto (CBR) que controlan con precisión a qué buckets se puede acceder a través de un VPE en una topología VPC que comparte DNS.

Una vinculación de recursos asocia uno o varios Object Storage buckets con un VPE, lo que garantiza (junto con las reglas CBR de los buckets) que solo el tráfico procedente de la VPC asociada pueda acceder a dichos buckets.

Antes de empezar

Antes de crear un enlace de recursos, revise las siguientes consideraciones:

  • Asegúrese de que tiene configurada una topología DNS-hub y DNS-shared para sus VPC.

  • Para Cloud Object Storage, se debe crear un VPE en una VPC compartida por DNS utilizando el modo de enlace por recurso antes de poder añadir cualquier enlace de recursos. Las VPE se pueden crear tanto en VPC compartidas por DNS como en VPC compartidas por concentradores.

  • Para permitir el acceso a Cloud Object Storage los recursos solo desde la VPC compartida por DNS, debe crear reglas CBR que permitan explícitamente a la VPC compartida por DNS acceder a los Cloud Object Storage recursos.

    Debe crear las reglas CBR antes de crear el enlace de recursos y antes de restringir el acceso desde la VPC del concentrador DNS.

Creación de enlaces de recursos en la consola

Para crear enlaces de recursos para el Cloud Object Storage servicio en la IBM Cloud consola, siga estos pasos:

  1. En la IBM Cloud consola, haga clic en el icono del menú de navegación > icono de infraestructura VPC > red > puertas de enlace de punto final privado virtual.

  2. Haga clic en el Acciones del menú Acciones junto al VPE creado para el servicio de almacenamiento de objetos en la nube.

    También puede hacer clic en el nombre del VPE en la lista y hacer clic en la pestaña Enlaces de recursos para crear o administrar los enlaces de recursos existentes.

    Si el uso compartido de DNS está configurado en modo Primario para este VPE, la pestaña Enlaces de recursos no se muestra, ya que no se pueden crear enlaces de recursos en este modo.

  3. Seleccione Crear enlace de recursos en el menú.

  4. Introduzca un prefijo para el nombre del enlace de recursos.

    • El sistema añade automáticamente un número al prefijo (por ejemplo, vpe-gtw-resource-01, vpe-gtw-resource-02).
    • Puedes añadir hasta 10 cubos a la vez.
  5. En la vista Seleccionar dentro de la misma cuenta, seleccione la Object Storage instancia y una o más ubicaciones Object Storage de bucket, o haga clic en Introducir CRN para añadirlas manualmente.

  6. Seleccione un cubo Object Storage de la lista. A continuación, revise su configuración y haga clic en Guardar.

Una vez creado el enlace de recursos, Cloud Object Storage el tráfico de los buckets especificados saldrá a través del VPE aislado del inquilino correspondiente en la VPC compartida por DNS.

Puede modificar o eliminar los enlaces en cualquier momento para ajustar el acceso.

Creación de enlaces de recursos desde la CLI

Para crear enlaces de recursos para el Cloud Object Storage servicio desde la CLI, siga estos pasos:

  1. Configure el entorno de la CLI.

  2. Inicie sesión en su cuenta con la CLI. Después de especificar la contraseña, el sistema solicita qué cuenta y región desea utilizar:

    ibmcloud login --sso
    

Para crear un enlace de recursos DNS, introduzca el siguiente comando :

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

Donde:

ENDPOINT_GATEWAY
Es el nombre del VPE al que planeas vincular este recurso.
-name NAME
Es el nombre de este enlace de recurso DNS.
--target CRN
¿Es el CRN del Object Storage cubo?

Ejemplo de mandato

Para crear un enlace de recursos my-resource-binding al gateway del cli-egw-1 punto final :

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

Creación de enlaces de recursos con la API

Para crear enlaces de recursos para el Cloud Object Storage con la API, siga estos pasos:

  1. Configure el entorno de la API.

  2. Para crear un enlace de recursos 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"
                     }
                   }'
    

Creación de enlaces de recursos con Terraform

Para utilizar Terraform, descargue la CLI de Terraform y configure el IBM Cloud complemento del proveedor. Para obtener más información, consulte Introducción a Terraform.

Los servicios de infraestructura de VPC utilizan un punto de conexión específico de la región, que apunta a us-south de forma predeterminada. Si su VPC se ha creado en otra región, asegúrese de seleccionar la región adecuada en el bloque del proveedor del provider.tf archivo.

Vea el siguiente ejemplo de cómo seleccionar una región distinta a la predeterminada us-south.

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

Para crear enlaces de recursos para el Cloud Object Storage servicio utilizando 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
}