Criando ligações de recursos

Você pode criar uma vinculação de recurso para permitir o controle de acesso granular a buckets Object Storage específicos de uma VPC específica. A criação de uma vinculação de recursos é opcional, mas permite definir regras de grupo de segurança e restrição baseada em contexto (CBR) que controlam com precisão quais buckets são acessíveis por meio de um VPE em uma topologia VPC de compartilhamento de DNS.

Uma ligação de recursos associa um ou mais Object Storage buckets a um VPE, garantindo (em conjunto com as regras CBR nos buckets) que apenas o tráfego proveniente da VPC associada possa aceder a esses buckets.

Antes de Iniciar

Antes de criar uma ligação de recurso, analise as seguintes considerações:

  • Certifique-se de que você tenha um hub DNS e uma topologia DNS compartilhada configurados para suas VPCs.

  • Para isso Cloud Object Storage, um VPE em uma VPC compartilhada por DNS deve ser criado usando o modo de vinculação por recurso antes que qualquer vinculação de recurso possa ser adicionada. Os VPEs podem ser criados em hubs ou em VPCs compartilhadas por DNS.

  • Para permitir o acesso aos Cloud Object Storage recursos apenas a partir da VPC compartilhada por DNS, você deve criar regras CBR que permitam explicitamente que a VPC compartilhada por DNS acesse os Cloud Object Storage recursos.

    Você deve criar as regras CBR antes de criar a vinculação de recursos e antes de restringir o acesso da VPC do hub DNS.

Criando ligações de recursos no console

Para criar ligações de recursos para o Cloud Object Storage serviço no IBM Cloud console, siga estas etapas:

  1. No IBM Cloud console, clique no íc one do menu Navegação > ícone Infraestrutura VPC > Rede > Gateways de endpoint privado virtual.

  2. Clique no Ações do menu Ações ao lado do VPE criado para o serviço de armazenamento de objetos em nuvem.

    Como alternativa, você pode clicar no nome do VPE na lista e clicar na guia Ligações de recursos para criar ou gerenciar ligações de recursos existentes.

    Se o compartilhamento de DNS estiver definido como modo Primário para este VPE, a guia Ligações de recursos não será exibida, pois não é possível criar ligações de recursos neste modo.

  3. Selecione Criar vinculação de recurso no menu.

  4. Insira um prefixo para o nome da ligação de recursos.

    • O sistema acrescenta automaticamente um número ao prefixo (por exemplo, vpe-gtw-resource-01, vpe-gtw-resource-02).
    • Você pode adicionar até 10 baldes de uma vez.
  5. Na exibição Selecionar dentro da mesma conta, selecione a Object Storage instância e um ou mais locais Object Storage de bucket ou clique em Inserir CRN para adicioná-los manualmente.

  6. Selecione um bucket Object Storage na lista. Em seguida, revise sua configuração e clique em Salvar.

Após a criação da vinculação de recursos, Cloud Object Storage o tráfego para os buckets especificados sairá através do VPE isolado do locatário correspondente na VPC compartilhada pelo DNS.

Você pode modificar ou remover ligações a qualquer momento para ajustar o acesso.

Criando ligações de recursos a partir da CLI

Para criar ligações de recursos para o Cloud Object Storage serviço a partir da CLI, siga estas etapas:

  1. Configure seu ambiente da CLI.

  2. Faça login na sua conta com a CLI. Depois de inserir a senha, o sistema pergunta qual conta e região você deseja usar:

    ibmcloud login --sso
    

Para criar uma associação de recursos DNS, digite o seguinte comando:

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

Em que:

ENDPOINT_GATEWAY
É o nome do VPE ao qual você planeja vincular este recurso.
-name NAME
É o nome deste recurso DNS vinculativo.
--target CRN
É o CRN do Object Storage balde.

Exemplo de comando

Para criar a ligação de recursos my-resource-binding ao gateway de cli-egw-1 ponto 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

Criando ligações de recursos com a API

Para criar ligações de recursos para o Cloud Object Storage com a API, siga estas etapas:

  1. Configure o seu Ambiente de API.

  2. Para criar uma ligação de recurso 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"
                     }
                   }'
    

Criando ligações de recursos com o Terraform

Para usar o Terraform, baixe o Terraform CLI e configure o IBM Cloud plug-in Provider. Para obter mais informações, consulte Introdução ao Terraform.

Os serviços de infraestrutura VPC utilizam um endpoint específico da região, que tem como destino us-south por padrão. Se sua VPC for criada em outra região, certifique-se de selecionar a região apropriada no bloco do provedor no provider.tf arquivo.

Veja o exemplo a seguir de segmentação de uma região diferente da padrão us-south.

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

Para criar ligações de recursos para o Cloud Object Storage serviço usando o 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
}