Création de liaisons de ressources

Vous pouvez créer une liaison de ressources pour permettre un contrôle d'accès granulaire à des Object Storage compartiments spécifiques à partir d'un VPC spécifique. La création d'une liaison de ressources est facultative, mais elle vous permet de définir des règles de groupe de sécurité et de restriction basée sur le contexte (CBR) qui contrôlent précisément quels compartiments sont accessibles via un VPE dans une topologie VPC partageant le DNS.

Une liaison de ressources associe un ou plusieurs Object Storage compartiments à un VPE, garantissant (conjointement avec les règles CBR sur les compartiments) que seul le trafic provenant du VPC associé peut accéder à ces compartiments.

Avant de commencer

Avant de créer une liaison de ressources, tenez compte des considérations suivantes :

  • Assurez-vous que vous disposez d'un hub DNS et d'une topologie DNS partagée configurés pour vos VPC.

  • Pour Cloud Object Storage, un VPE dans un VPC partagé DNS doit être créé à l'aide du mode de liaison par ressource avant que des liaisons de ressources puissent être ajoutées. Les VPE peuvent être créés dans des VPC partagés par hub ou DNS.

  • Pour autoriser l'accès aux Cloud Object Storage ressources uniquement à partir du VPC partagé DNS, vous devez créer des règles CBR qui autorisent explicitement le VPC partagé DNS à accéder aux Cloud Object Storage ressources.

    Vous devez créer les règles CBR avant de créer la liaison de ressources et avant de restreindre l'accès depuis le hub DNS VPC.

Création de liaisons de ressources dans la console

Pour créer des liaisons de ressources pour le Cloud Object Storage service dans la IBM Cloud console, procédez comme suit :

  1. Dans la IBM Cloud console, cliquez sur l 'icône du menu Navigation > icône Infrastructure VPC > Réseau > Passerelles d'extrémité privées virtuelles.

  2. Cliquez sur Actions du menu Actions à côté du VPE créé pour le service cloud-object-storage.

    Vous pouvez également cliquer sur le nom du VPE dans la liste, puis sur l'onglet Liaisons de ressources pour créer ou gérer les liaisons de ressources existantes.

    Si le partage DNS est défini sur le mode Primaire pour ce VPE, l'onglet Liaisons de ressources ne s'affiche pas, car vous ne pouvez pas créer de liaisons de ressources dans ce mode.

  3. Sélectionnez Créer une liaison de ressource dans le menu.

  4. Entrez un préfixe pour le nom de liaison de ressource.

    • Le système ajoute automatiquement un numéro au préfixe (par exemple, vpe-gtw-resource-01, vpe-gtw-resource-02).
    • Vous pouvez ajouter jusqu'à 10 compartiments à la fois.
  5. Dans la vue Sélectionner dans le même compte, sélectionnez Object Storage l'instance et un ou plusieurs emplacements Object Storage de compartiment, ou cliquez sur Entrer CRN pour les ajouter manuellement.

  6. Sélectionnez un godet Object Storage dans la liste. Ensuite, vérifiez votre configuration et cliquez sur Enregistrer.

Une fois la liaison de ressources créée, Cloud Object Storage le trafic pour les compartiments spécifiés sortira via le VPE isolé du locataire correspondant dans le VPC partagé DNS.

Vous pouvez modifier ou supprimer les liaisons à tout moment pour ajuster l'accès.

Création de liaisons de ressources à partir de l'interface CLI

Pour créer des liaisons de ressources pour le Cloud Object Storage service à partir de l'interface CLI, procédez comme suit :

  1. Configurez votre environnement d'interface de ligne de commande.

  2. Connectez-vous à votre compte à l'aide de l'interface de programmation. Une fois que vous avez saisi le mot de passe, le système vous invite à indiquer le compte et la région à utiliser :

    ibmcloud login --sso
    

Pour créer une liaison de ressources DNS, entrez la commande suivante :

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

Où :

ENDPOINT_GATEWAY
Nom du VPE auquel vous prévoyez de lier cette ressource.
-name NAME
Est-ce que le nom de cette ressource DNS est contraignant?
--target CRN
Est-ce le CRN du seau Object Storage?

Exemple de commande

Pour créer une liaison de ressources my-resource-binding vers la passerelle de point de cli-egw-1 terminaison :

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

Création de liaisons de ressources avec l'API

Pour créer des liaisons de ressources pour le Cloud Object Storage avec l'API, procédez comme suit :

  1. Configurez votre environnement d'API.

  2. Pour créer une liaison de ressource 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"
                     }
                   }'
    

Création de liaisons de ressources avec Terraform

Pour utiliser Terraform, téléchargez l'interface CLI Terraform et configurez le IBM Cloud plug-in Provider. Pour plus d'informations, consultez la section Démarrer avec Terraform.

Les services d'infrastructure VPC utilisent un point de terminaison spécifique à la région, qui cible us-south par défaut. Si votre VPC est créé dans une autre région, veillez à cibler la région appropriée dans le bloc fournisseur du provider.tf fichier.

Consultez l'exemple suivant qui montre comment cibler une région autre que celle par défaut us-south.

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

Pour créer des liaisons de ressources pour le Cloud Object Storage service à l'aide de 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
}