Partager et monter un partage de fichiers à partir d'un autre compte

Partagez des « File Storage for VPC s » entre différents comptes à l'aide de partages d'accès dotés d'une autorisation inter-comptes permettant l'accès aux données de plusieurs comptes.

Vous pouvez également partager votre File Storage for VPC avec le IBM watsonx service.

L'autorisation de service à service entre comptes sert à établir une relation de confiance entre le compte du propriétaire du partage et celui de l'utilisateur qui y accède. De plus, les rôles appropriés au sein de la plateforme IAM et des services doivent être attribués aux utilisateurs afin qu'ils puissent accomplir leurs tâches. Pour créer un partage d'accès au sein du même compte que le partage d'origine, l'utilisateur doit disposer des rôles « Share Broker » et « Editor ». Pour créer un partage d'accès au sein d'un compte différent de celui du partage d'origine, l'utilisateur doit disposer des rôles « Accès à distance au compte de partage » et « Éditeur ». Pour plus d'informations, voir Rôles et actions IAM.

Une fois l'autorisation mise en place et les rôles attribués, vous pouvez créer un partage d'accès lié au partage d'origine. Le partage d'accès hérite du profil, de la taille et du type de chiffrement (tant au repos qu'en transit) du partage d'origine. Le compte propriétaire du partage peut voir les identifiants des comptes autorisés à accéder au partage « NFS ».

Lorsqu'un partage d'accès est créé, il est associé au partage d'origine par une liaison d'accès. Les liaisons d'accessoir sont des sous-ressources appartenant au partage d'origine, et seul l'administrateur de ce partage peut les récupérer ou les supprimer.

En tant qu'utilisateur disposant d'un accès en lecture seule, vous ne pouvez pas modifier les propriétés du partage d'origine, ni supprimer ce dernier. En tant qu'accesseur, vous pouvez monter le partage en créant un partage d'accesseur et une cible de montage pointant vers ce partage d'accesseur. Vous pouvez alors accéder aux données du partage d'origine et les utiliser, y compris les instantanés qui pourraient s'y trouver.

Le partage d'un partage de fichiers avec d'autres comptes ou services n'est pas pris en charge pour les partages de fichiers utilisant le mode d'accès « À l'échelle du VPC » ({: tag-deprecated} ) [obsolète].

Règle de chiffrement en transit

Le propriétaire du partage peut contrôler la manière dont les données sont chiffrées pendant leur transfert en définissant les modes de chiffrement autorisés pour ce transfert. Si ce champ n'est pas renseigné, le système utilise les modes de chiffrement autorisés par défaut définis dans le profil de partage sélectionné. Lorsqu'un utilisateur crée une cible de montage, il doit choisir un mode de chiffrement correspondant à l'un des modes autorisés pour le partage. Par exemple, si IPsec est sélectionné, toutes les cibles de montage pour ce partage doivent utiliser IPsec par souci de cohérence.

Pour les partages de fichiers par zone, le propriétaire du partage peut choisir parmi les modes de chiffrement en transit suivants : IPsec, aucun ou les deux.

  • Si IPsec est imposé, toutes les cibles de montage d'Accessor doivent utiliser IPsec.
  • Si aucune ne s'applique, le chiffrement en transit n'est pas autorisé.
  • Si les deux sont autorisés, les comptes d'accès peuvent choisir lequel utiliser.

Sélectionnez la disponibilité. Pour les partages de fichiers régionaux, le propriétaire du partage peut choisir parmi les modes de chiffrement en transit suivants : stunnel, aucun ou les deux.

  • Si l'utilisation de stunnel est obligatoire, toutes les cibles de montage des accesseurs doivent utiliser stunnel.
  • Si aucune ne s'applique, le chiffrement en transit n'est pas autorisé.
  • Si les deux sont autorisés, les comptes d'accès peuvent choisir lequel utiliser.

Les partages de fichiers créés avant la mise en place de la fonctionnalité d'accès inter-comptes (18 juin 2024) ont un type de chiffrement de transit autorisé qui dépend de leurs cibles de montage existantes. À compter de cette date, vous devrez préciser le type de chiffrement de transit autorisé lors de la création de partages de fichiers. Toutes les cibles de montage créées pour un même partage de fichiers doivent avoir le même type de chiffrement de transit.

Création d'un partage d'accès dans la console

Dans la console d' IBM Cloud, vous pouvez créer un partage d'accès avec ou sans cible de montage. Cependant, vous devez créer une cible de montage lorsque vous souhaitez monter le partage sur une instance de serveur virtuel.

Création d'un partage d'accès dans la console sans cible de montage

  1. Dans l'IBM Cloud console, cliquez sur l'icône « Menu de navigation » icône de menu > Infrastructures Icône VPC > Stockage > Partages de fichiers. Une liste des partages de fichiers s'affiche.

  2. Sur la page « Partages de stockage de fichiers pour VPC », cliquez sur Créer > Créer un partage d'accès.

  3. Saisissez les informations suivantes.

Paramètres pour la création d'un partage de fichiers
Zone Valeur
Nom du partage d'ID d'accès Donnez un nom pertinent à votre partage d'accès. Le nom du partage de fichiers peut comporter jusqu'à 63 caractères alphanumériques minuscules et inclure un trait d'union (-) et doit commencer par une lettre minuscule. Vous pouvez ensuite modifier le nom si vous le souhaitez.
Nom CRN du partage distant Saisissez le CRN du partage de fichiers d'origine.
  1. Cliquez sur Créer.

  2. Vous revenez à la page « File Storage for VPC », où un message indique que le partage de fichiers est en cours de configuration. Une fois la transaction terminée, le statut de l'action passe à « Actif ».

Création d'un partage d'accès à partir de l'interface de ligne de commande

Avant de commencer

Avant de pouvoir utiliser l'interface de ligne de commande, vous devez installer l'interface de ligne de commande d'IBM Cloud et le plug-in de l'interface de ligne de commande du VPC. Pour plus d'informations, reportez-vous à la rubrique Configuration requise pour l'interface de ligne de commande.

Création d'un partage d'accès sans cible de montage à partir de l'interface en ligne de commande

Vous pouvez utiliser la commande « ibmcloud is share-create » pour provisionner un partage de fichiers dans la zone de votre choix en indiquant le CRN du partage d'origine.

ibmcloud is share-create --name my-accessor-share --origin-share CRN
ibmcloud is share-create --name my-accessor-share --origin-share crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed
Creating file share my-file-share under account Test Account as user test.user@ibm.com...
ID                               r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6
Name                             my-accessor-share
CRN                              crn:v1:bluemix:public:is:us-south-2:a/1234567::share:r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6
Lifecycle state                  stable
Access control mode              security_group
Accessor binding role            accessor
Allowed transit encryption modes ipsec,none
Origin share                     CRN                                                                                             Name            Remote account  Remote region
                                 crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed  my-origin-share a7654321        -
Zone                             us-south-2
Profile                          dp2
Size(GB)                         1000
IOPS                             1000
User Tags                        -
Encryption                       provider_managed
Mount Targets                    ID                          Name
                                 No mounted targets found.
Resource group                   ID                                 Name
                                 db8e8d865a83e0aae03f25a492c5b39e   Default
Created                          2024-06-25T22:15:15+00:00
Replication role                 none
Replication status               none
Replication status reasons       Status code   Status message
                                 -             -
Snapshot count                   0
Snapshot size                    0
Source snapshot                  -
Allowed Access Protocols         nfs4
Availability Mode                zonal
Bandwidth(Mbps)                  1
Storage Generation               1

Le partage d'accès hérite des caractéristiques suivantes de son partage d'origine : profil, taille, type de chiffrement tant au repos qu'en transit. Si vous essayez d'utiliser cette commande avec la propriété --origin-share en combinaison avec d'autres propriétés telles que --iops, --profile, --bandwidth et --replica-share, la requête échoue.

Pour plus d'informations sur les options de la commande, consultez ibmcloud is share-create.

Création d'une cible de montage pour un partage d'accès à partir de l'interface en ligne de commande

Avant d'exécuter la commande « share-mount-target-create » pour créer une cible de montage pour le partage de fichiers, rassemblez les informations suivantes.

Lorsque vous créez une cible de montage, vous devez indiquer le partage de fichiers auquel elle est destinée. Vous pouvez utiliser le nom ou l'identifiant du partage de fichiers. Vous devez également indiquer le VPC, soit par son identifiant, soit par son nom. Le VPC doit être unique pour chaque cible de montage. Vous devez également indiquer le groupe d'accès de sécurité utilisé pour gérer l'accès au partage. Les groupes de sécurité que vous associez à une cible de montage doivent autoriser l'accès entrant pour le protocole TCP sur le port NFS depuis tous les serveurs sur lesquels vous souhaitez monter le partage.

Enfin, vous devez indiquer les valeurs des options nécessaires à la création d'une interface réseau virtuelle pour la cible de montage. Utilisez les commandes CLI appropriées pour répertorier les sous-réseaux disponibles, les adresses IP réservées dans un sous-réseau et les groupes de sécurité afin d'obtenir les informations dont vous avez besoin.

L'exemple suivant crée une cible de montage dotée d'une interface réseau virtuelle pour un partage de fichiers dont le mode d'accès est défini par un groupe de sécurité.

ibmcloud is share-mount-target-create my-accessor-share --subnet my-subnet --name my-cli-share-mount-target-1 --vni-name my-share-vni-1  --vni-sgs my-sg --resource-group-name Default --vpc my-vpc
Mounting target for share r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6 under account Test Account as user test.user@ibm.com...
ID                          r006-dd497561-c7c9-4dfb-af0a-c84eeee78b61
Name                        my-cli-share-mount-target-1
VPC                         ID                                          Name
                            r006-912b5ac5-4ed1-4b2a-8f09-5fd8d79f6042   my-vpc
Access control mode         security_group
Resource type               share_mount_target
Virtual network interface   ID                                          Name             Protocol State Filtering Mode
                            0727-709ccc60-0c43-45cb-87b6-7ea1e37ef423   my-share-vni-1   auto
Lifecycle state             stable
Mount path                  10.240.64.5:/2be3efe6_6dff_46ea_9cec_b397f3141faf
Transit Encryption          none
Created                     2024-09-16T21:27:09+00:00

Pour plus d'informations sur les options de la commande, consultez ibmcloud is share-mount-target-create.

Création d'un partage d'accès avec une cible de montage à partir de l'interface en ligne de commande

Vous pouvez créer un partage d'accès comportant une ou plusieurs cibles de montage en une seule étape à l'aide de la commande « ibmcloud is share-create ». Vous devez indiquer le nom de la zone et le CRN du partage d'origine. Le partage d'accès hérite du profil, de la taille et du type de chiffrement (tant au repos qu'en transit) du partage d'origine. Vous pouvez également indiquer un nom, des balises utilisateur et même l'UID du propriétaire initial. Pour créer la cible de montage, vous devez fournir les informations relatives à celle-ci au format JSON.

L'exemple suivant montre comment créer un partage d'accès avec une cible de montage.

ibmcloud is share-create --name my-new-accessor-share --origin-share crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed --mount-targets '
>[{"name":"my-new-mount-target","virtual_network_interface": {"name":"my-vni","subnet": {"id":"r006-298acd6c-e71e-4204-a04f-fe4a4dd89805"}}}]'
Creating file share my-new-file-share under account Test Account as user test.user@ibm.com...
ID                               r006-925214bc-ded5-4626-9d8e-bc4e2e579232
Name                             my-new-accessor-share
CRN                              crn:v1:bluemix:public:is:us-south-2:a/a1234567::share:r006-925214bc-ded5-4626-9d8e-bc4e2e579232
Lifecycle state                  pending
Access control mode              security_group
Accessor binding role            accessor
Allowed transit encryption modes ipsec,none
Origin share                     CRN                                                                                             Name            Remote account  Remote region
                                 crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed  my-origin-share a7654321        -
Zone                             us-south-2
Profile                          dp2
Size(GB)                         500
IOPS                             2000
User Tags                        env:dev
Encryption                       provider_managed
Mount Targets                    ID                                          Name
                                 r006-ad313f6b-ccb5-4941-a5f7-0c953f1043df   my-new-mount-target
Resource group                   ID                                 Name
                                 db8e8d865a83e0aae03f25a492c5b39e   Default
Created                          2024-06-25T00:30:11+00:00
Replication role                 none
Replication status               none
Replication status reasons       Status code   Status message
                                 -             -
Snapshot count                   0
Snapshot size                    0
Source snapshot                  -
Allowed Access Protocols         nfs4
Availability Mode                zonal
Bandwidth(Mbps)                  1
Storage Generation               1

Création d'un partage d'accès à l'aide de l'API

Vous pouvez créer des partages de fichiers et des cibles de montage en appelant directement les API REST.

Avant de commencer

Configurez votre environnement API. Définissez des variables pour le jeton IAM, le point d'extrémité d'API et la version d'API. Pour obtenir des instructions, voir Configuration de votre environnement d'API et d'interface de ligne de commande.

Création d'un partage d'accès à l'aide de l'API

Effectuez une demande POST /shares pour créer une action de partage de fichiers.

L'exemple suivant illustre une requête visant à créer un partage d'accès à l'aide du CRN du partage d'origine. Le partage d'accès hérite des caractéristiques suivantes de son partage d'origine : profil, zone, taille, IOPS, type de chiffrement, tant au repos qu'en transit. Les valeurs des paramètres initial_owner, access_control_mode et encryption_key sont également héritées de origin_share.

curl -X POST \
"$vpc_api_endpoint/v1/shares?version=2024-06-25&generation=2"\
  -H "Authorization: Bearer $iam_token" \
  -d '{
  "name": "my-accessor-share",
  "user_tags": ["string"],
  "origin_share": {"crn": "crn:v1:bluemix:public:is:us-south-1:a/a1234567::share:0fe9e5d8-0a4d-4818-96ec-e99708644a58"}
}

Une réponse réussie ressemble à celle de l'exemple ci-après.

  {
  "access_control_mode": "security-group",
  "allowed_transit_encryption_modes": ["none", "ipsec"],
  "created_at": "2024-05-06T23:31:59Z",
  "crn": "crn:[...]",
  "encryption": "provider_managed",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/ff859972-8c39-4528-91df-eb9160eae918",
  "id": "ff859972-8c39-4528-91df-eb9160eae918",
  "iops": 48000,
  "lifecycle_state": "stable",
  "name": "my-accessor-share",
  "profile": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2",
    "name": "dp2",
    "resource_type": "share_profile"
    },
  "replication_role": "none",
  "replication_status": "none",
  "replication_status_reasons": [],
  "resource_group": {
    "crn": "crn:[...]",
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/6b45d0aa-e0a6-478b-a5d9-bb45b106676d",
    "id": "6b45d0aa-e0a6-478b-a5d9-bb45b106676d",
    "name": "Default"
    },
  "resource_type": "share",
  "size": 4800,
  "snapshot_count": 10,
  "snapshot_size": 10,
  "user_tags": ["string"],
  "zone": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
    "name": "us-south-1"}
  }

Création d'une cible de montage pour un partage de fichiers à l'aide de l'API

Si le mode de contrôle d'accès du partage est « security_group », la cible de montage doit alors être créée avec une interface réseau virtuelle. Lorsque le mode de chiffrement de transit autorisé pour le partage est « ipsec », la valeur « transit_encryption » de la cible de montage doit également être « ipsec ».

Effectuez une requête « POST /shares/{share_id}/mount_targets » et spécifiez un sous-réseau et un groupe de sécurité pour l'interface réseau de destination du montage. Les groupes de sécurité que vous associez à une cible de montage doivent autoriser l'accès entrant pour le protocole TCP sur le port NFS depuis tous les serveurs sur lesquels vous souhaitez monter le partage.

Cet exemple ajoute une cible de montage à un partage d'accès existant, identifié par son ID, et spécifie un sous-réseau et un groupe de sécurité pour créer l'interface réseau.

 curl -X POST "$vpc_api_endpoint/v1/shares/r006-201487a2-cf35-4b2a-a4fe-f480803e1e80/mount_targets/?version=2023-07-18&generation=2"\
 -d '{
     "virtual_network_interface": {
        "subnet": {"id": "1a0b3d75-8a62-4c78-9263-f9bcd25a8759"},
        "security_groups": [{"id": "b2599112-7027-480e-ad1b-fd917d2fcb84"}]
     },
     "transit_encryption": "user_managed"
}'

Création d'un partage de fichiers et d'une cible de montage avec Terraform

Pour utiliser Terraform, téléchargez l'interface de ligne de commande (CLI) Terraform et configurez le plug-in « IBM Cloud® Provider ». Pour plus d'informations, consultez la section « Premiers pas avec Terraform ».

Les services d'infrastructure VPC utilisent un point de terminaison régional spécifique, qui pointe par défaut vers us-south. Si votre VPC a été créé dans une autre région, veillez à indiquer la région appropriée dans le bloc « provider » du fichier « provider.tf ».

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

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

Création d'un partage d'accès avec Terraform

Pour créer un partage d'accès, utilisez la ressource ibm_is_share. Le partage d'accès hérite des caractéristiques suivantes de son partage d'origine : profil, taille, type de chiffrement tant au repos qu'en transit.

resource "ibm_is_share" "example-origin" {
  allowed_transit_encryption_modes = ["ipsec", "none"]
  access_control_mode = "security_group"
  name    = "my-share"
  size    = 200
  profile = "dp2"
  zone    = "au-syd-2"
}
resource "ibm_is_share" "example-accessor" {
  origin_share {
    crn   = ibm_is_share.example-origin.crn
  }
  name  = "my-accessor-share-1"
}

Création d'une cible de montage avec Terraform

Pour créer une cible de montage pour un partage de fichiers, utilisez la ressource « ibm_is_share_mount_target ». L'exemple suivant crée une cible de montage avec le mode de contrôle d'accè security_group. Commencez par indiquer le partage pour lequel la cible de montage est créée. Ensuite, vous indiquez le nom de la cible de montage et vous définissez la nouvelle interface réseau virtuelle en lui attribuant une adresse IP et un nom. Vous devez également indiquer le groupe de sécurité que vous souhaitez utiliser pour gérer l'accès au partage de fichiers auquel la cible de montage est associée. Les groupes de sécurité que vous associez à une cible de montage doivent autoriser l'accès entrant pour le protocole TCP sur le port NFS depuis tous les serveurs sur lesquels vous souhaitez monter le partage. L'attribut « auto_delete = true » signifie que l'interface réseau virtuelle est supprimée si la cible de montage est supprimée.

resource "ibm_is_share_mount_target" "zonal-mount-target-with-vni" {
     access_protocol    = "nfs4"
     name               = "my-zonal-mount-target"
     share              = ibm_is_share.is_share.ID
     security_groups    = [<security_group_ids>]
     transit_encryption = "ipsec"
     virtual_network_interface {
       name             = "my-example-vni"
       primary_ip {
          address       = “10.240.64.5”
          auto_delete   = true
          name          = "my-example-pip"
         }
     }
   }

L'exemple précédent active le chiffrement en transit pour un partage de fichiers de zone. Si vous souhaitez protéger vos données à l'aide du chiffrement en transit pour un partage régional, définissez l'argument « transit_encryption » sur « stunnel ».

Pour plus d'informations sur les arguments et les attributs, consultez la documentation relative à la fonction ibm_is_share_mount_target.

Création d'un partage d'accès avec une cible de montage utilisant le mode d'accès par groupe de sécurité

Il n'est pas nécessaire de créer séparément le partage de fichiers et la cible de montage. Pour créer un partage de fichiers avec une cible de montage permettant l'authentification basée sur des groupes de sécurité au sein d'un VPC, utilisez la ressource « ibm_is_share ». Le partage d'accès hérite des caractéristiques suivantes de son partage d'origine : profil, taille, type de chiffrement tant au repos qu'en transit. Spécifiez le mode de contrôle d'accès « security_group » et définissez la cible de montage en lui attribuant un nom et en fournissant les informations relatives à l'interface réseau virtuelle, telles que son nom, son sous-réseau ou son adresse IP. Précisez également les groupes de sécurité que vous souhaitez utiliser pour contrôler l'accès au partage de fichiers. Les groupes de sécurité que vous associez à une cible de montage doivent autoriser l'accès entrant pour le protocole TCP sur le port NFS depuis tous les serveurs sur lesquels vous souhaitez monter le partage.

resource "ibm_is_share" "share4" {
   zone                   = "us-south-2"
   name                   = "my-share4"
   origin_share {
       id                 = ibm_is_share.example-origin.id
       }
   access_control_mode    = "security_group"
   mount_target {
       access_protocol    = "nfs4"
       name               = "my-mount-target"
       security_groups    = [<security_group_ids>]
       transit_encryption = "ipsec"
       virtual_network_interface {
           primary_ip {
              address     = "10.240.64.5"
              auto_delete = true
              name        = "my-example-pip"
           }
    }
   }
}

Pour plus d'informations sur les arguments et les attributs, consultez la documentation relative à la fonction ibm_is_share.

Etapes suivantes

Montez vos partages de fichiers. Le montage est un processus par lequel le système d'exploitation d'un serveur rend les fichiers et les répertoires présents sur le périphérique de stockage accessibles aux utilisateurs via le système de fichiers du serveur. Pour plus d'informations, consultez les rubriques suivantes :

La création d'instantanés d'un partage Accessor n'est pas prise en charge. Toutefois, si le partage d'origine contient des instantanés, vous pouvez y accéder dans le répertoire .snapshot. Pour plus d'informations, consultez la section « Restauration de fichiers à partir d'un instantané ».