Compartir y montar un recurso compartido de archivos desde otra cuenta

Comparte « File Storage for VPC » entre cuentas utilizando recursos compartidos de acceso con autorización entre cuentas para el acceso a datos de varias cuentas.

También puedes compartir tu « File Storage for VPC » con el IBM watsonx servicio.

La autorización de servicio a servicio entre cuentas se utiliza para establecer una relación de confianza entre las cuentas del propietario de los recursos compartidos y las de los usuarios que acceden a ellos. Además, es necesario asignar a los usuarios la plataforma IAM adecuada y los roles de servicio correspondientes para que puedan realizar sus tareas. Para crear un recurso compartido de acceso dentro de la misma cuenta que el recurso compartido de origen, el usuario debe tener los roles de «Share Broker » y «Editor ». Para crear un recurso compartido de acceso dentro de una cuenta distinta a la del recurso compartido de origen, el usuario debe tener los roles de «Accesor de cuentas remotas» y «Editor ». Para obtener más información, consulte Roles y acciones de IAM.

Una vez que se haya configurado la autorización y se hayan asignado los roles, podrás crear un recurso compartido de acceso vinculado al recurso compartido de origen. El recurso compartido de acceso hereda el perfil, el tamaño y el tipo de cifrado —tanto en reposo como en tránsito— del recurso compartido de origen. La cuenta del recurso compartido de origen puede ver los ID de las cuentas que pueden montar el recurso compartido NFS.

Cuando se crea el recurso compartido de acceso, se vincula al recurso compartido de origen mediante un enlace de acceso. Los enlaces de acceso son subrecursos que pertenecen al recurso compartido de origen, y solo el administrador de dicho recurso compartido puede recuperarlos o eliminarlos.

Como usuario con derechos de acceso, no puedes modificar las propiedades del recurso compartido de origen ni eliminarlo. Como «accessor», puedes montar el recurso compartido creando un recurso compartido «accessor» y un destino de montaje para dicho recurso compartido. A continuación, podrás acceder y utilizar los datos del recurso compartido de origen, incluidas las instantáneas que pueda haber.

No se admite compartir un recurso compartido de archivos con otras cuentas o servicios en el caso de los recursos compartidos de archivos con el modo de acceso «{: tag-deprecated} » ( [obsoleto] ) para toda la VPC.

Política de cifrado de tránsito

El propietario de la acción puede controlar cómo se cifran los datos durante la transmisión configurando los modos de cifrado permitidos para la transmisión. Si no se rellena este campo, el sistema utiliza los modos de cifrado predeterminados permitidos que se definen en el perfil de recurso compartido seleccionado. Cuando un usuario crea un destino de montaje, debe elegir un modo de cifrado que coincida con uno de los modos permitidos para el recurso compartido. Por ejemplo, si se selecciona IPsec, todos los destinos de montaje de ese recurso compartido deben utilizar IPsec para garantizar la coherencia.

En el caso de los recursos compartidos de archivos por zona, el propietario del recurso compartido puede elegir entre los siguientes modos de cifrado en tránsito: IPsec, ninguno o ambos.

  • Si se exige el uso de IPsec, todos los destinos de montaje de los accesos deben utilizar IPsec.
  • Si no se aplica ninguna, no se permite el cifrado en tránsito.
  • Si se permiten ambas, las cuentas de acceso pueden elegir cuál utilizar.

[Selecciona la disponibilidad] «{: tag-green} ». En el caso de los recursos compartidos regionales, el propietario del recurso compartido puede elegir entre los siguientes modos de cifrado en tránsito: stunnel, ninguno o ambos.

  • Si se exige el uso de stunnel, todos los destinos de montaje de los accesores deben utilizar stunnel.
  • Si no se aplica ninguna, no se permite el cifrado en tránsito.
  • Si se permiten ambas, las cuentas de acceso pueden elegir cuál utilizar.

Los recursos compartidos de archivos creados antes del lanzamiento de la función de acceso entre cuentas (18 de junio de 2024) tienen un tipo de cifrado de tránsito permitido que se basa en sus destinos de montaje existentes. A partir de esa fecha, deberás especificar el tipo de cifrado de tránsito permitido al crear recursos compartidos de archivos. Todos los destinos de montaje creados para un recurso compartido de archivos deben tener el mismo tipo de cifrado de tránsito.

Creación de una cuenta compartida de acceso en la consola

En la consola de « IBM Cloud », puedes crear un recurso compartido de acceso con o sin destino de montaje. Sin embargo, es necesario crear un destino de montaje cuando se quiera montar el recurso compartido en una instancia de servidor virtual.

Creación de un recurso compartido de acceso en la consola sin un destino de montaje

  1. En el « IBM Cloud consola », haz clic en el icono « Menú de navegación » icono de menú > Infraestructura Icono de VPC > Almacenamiento > Recursos compartidos de almacenamiento de archivos. Se visualiza una lista de comparticiones de archivos.

  2. En la página «Recursos compartidos de almacenamiento de archivos para VPC», haz clic en «Crear» > « Crear recurso compartido de acceso ».

  3. Introduce la siguiente información.

Valores para crear un recurso compartido de archivos
Campo Valor
Nombre del recurso compartido de acceso Especifica un nombre significativo para tu recurso compartido de acceso. El nombre de la unidad compartida de archivos puede tener un máximo de 63 caracteres alfanuméricos en minúsculas e incluir el guion (-), y debe empezar con una letra minúscula. Más adelante puede editar el nombre si lo desea.
CRN de compartición remota Introduce el CRN del recurso compartido de archivos de origen.
  1. Pulse Crear.

  2. Vuelves a la página « File Storage for VPC », donde aparece un mensaje que indica que se está configurando el recurso compartido de archivos. Cuando se completa la transacción, el estado de la acción pasa a ser « Activo ».

Creación de un recurso compartido de acceso desde la CLI

Antes de empezar

Para poder utilizar la CLI, debe instalar la CLI de IBM Cloud y el plugin de la CLI de VPC. Para obtener más información, consulte los Requisitos previos de la CLI.

Creación de un recurso compartido de acceso sin destino de montaje desde la CLI

Puedes utilizar el comando « ibmcloud is share-create » para aprovisionar un recurso compartido de archivos en la zona seleccionada con el CRN del recurso compartido de origen.

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

El recurso compartido de acceso hereda las siguientes características del recurso compartido de origen: perfil, tamaño y tipo de cifrado, tanto en reposo como en tránsito. Si intentas utilizar este comando con la propiedad --origin-share junto con otras propiedades como --iops, --profile, --bandwidth y --replica-share, la solicitud fallará.

Para obtener más información sobre las opciones comando, consulta ibmcloud is share-create.

Creación de un destino de montaje para un recurso compartido de acceso desde la CLI

Antes de ejecutar el comando « share-mount-target-create » para crear un destino de montaje para el recurso compartido de archivos, recopila la siguiente información.

Al crear un destino de montaje, debes especificar el recurso compartido de archivos al que está destinado. Puedes utilizar el nombre o el ID del recurso compartido. También debes especificar la VPC, ya sea con su ID o con su nombre. La VPC debe ser exclusivo para cada destino de montaje. También debes especificar el grupo de acceso de seguridad que se utiliza para gestionar el acceso al recurso compartido. Los grupos de seguridad que asocies a un destino de montaje deben permitir el acceso entrante para el protocolo TCP en el puerto NFS desde todos los servidores en los que desees montar el recurso compartido.

Por último, debes especificar los valores de las opciones necesarias para crear una interfaz de red virtual para el destino de montaje. Utiliza los comandos de la interfaz de línea de comandos (CLI) adecuados para mostrar las subredes disponibles, las direcciones IP reservadas en una subred y los grupos de seguridad, con el fin de obtener la información que necesitas.

En el siguiente ejemplo se crea un destino de montaje con una interfaz de red virtual para un recurso compartido de archivos que tiene un modo de acceso por grupo de seguridad.

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

Para obtener más información sobre las opciones comando, consulta ibmcloud is share-mount-target-create.

Creación de un recurso compartido de acceso con un destino de montaje desde la CLI

Puedes crear un recurso compartido de acceso con uno o varios destinos de montaje en un solo paso utilizando el comando « ibmcloud is share-create ». Debes indicar el nombre de la zona y el CRN del recurso compartido de origen. El recurso compartido de acceso hereda el perfil, el tamaño y el tipo de cifrado —tanto en reposo como en tránsito— del recurso compartido de origen. También puedes especificar un nombre, etiquetas de usuario e incluso el UID del propietario inicial. Para crear el destino de montaje, debes proporcionar la información del mismo en formato JSON.

El siguiente ejemplo muestra cómo crear un recurso compartido de acceso con un destino de montaje.

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

Creación de un recurso compartido de acceso mediante la API

Puede crear comparticiones de archivos y destinos de montaje llamando directamente a las API REST.

Antes de empezar

Configura tu entorno de API. Defina variables correspondientes a señal de IAM, punto final de API y versión de API. Para obtener instrucciones, consulte Configuración del entorno de API y de CLI.

Creación de un recurso compartido de acceso mediante la API

Realice una solicitud de POST /shares para crear una compartición de archivos.

El siguiente ejemplo muestra una solicitud para crear un recurso compartido de acceso utilizando el CRN del recurso compartido de origen. El recurso compartido de acceso hereda las siguientes características del recurso compartido de origen: perfil, zona, tamaño, IOPS y tipo de cifrado, tanto en reposo como en tránsito. Los valores de « initial_owner », « access_control_mode » y « encryption_key » también se heredan 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"}
}

Una respuesta satisfactoria tiene un aspecto similar al del ejemplo siguiente.

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

Creación de un destino de montaje para un recurso compartido de archivos mediante la API

Si el modo de control de acceso del recurso compartido es « security_group », el destino de montaje debe crearse con una interfaz de red virtual. Cuando el modo de cifrado de tránsito permitido para el recurso compartido es « ipsec », el valor de « transit_encryption » del destino de montaje también debe ser « ipsec ».

Realiza una solicitud « POST /shares/{share_id}/mount_targets » y especifica una subred y un grupo de seguridad para la interfaz de red de destino del montaje. Los grupos de seguridad que asocies a un destino de montaje deben permitir el acceso entrante para el protocolo TCP en el puerto NFS desde todos los servidores en los que desees montar el recurso compartido.

En este ejemplo se añade un destino de montaje a un recurso compartido de acceso ya existente, identificado por su ID, y se especifican una subred y un grupo de seguridad para crear la interfaz de red.

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

Creación de un recurso compartido de archivos y un destino de montaje con Terraform

Para utilizar Terraform, descarga la CLI de Terraform y configura el complemento del proveedor « IBM Cloud® ». Para obtener más información, consulta « Primeros pasos con Terraform ».

Los servicios de infraestructura de VPC utilizan un punto de conexión regional específico, que, por defecto, apunta a us-south. Si tu VPC se ha creado en otra región, asegúrate de indicar la región correspondiente en el bloque del proveedor del archivo « provider.tf ».

Consulta el siguiente ejemplo para seleccionar una región distinta de la predeterminada us-south.

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

Creación de un recurso compartido de acceso con Terraform

Para crear un recurso compartido de acceso, utiliza el recurso « ibm_is_share ». El recurso compartido de acceso hereda las siguientes características del recurso compartido de origen: perfil, tamaño y tipo de cifrado, tanto en reposo como en tránsito.

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

Creación de un destino de montaje con Terraform

Para crear un destino de montaje para un recurso compartido de archivos, utiliza el recurso « ibm_is_share_mount_target ». En el siguiente ejemplo se crea un destino de montaje con el modo de control de acces security_group. En primer lugar, especifica el recurso compartido para el que se crea el destino de montaje. A continuación, se especifica el nombre del destino de montaje y se define la nueva interfaz de red virtual indicando una dirección IP y un nombre. También debes especificar el grupo de seguridad que deseas utilizar para gestionar el acceso al recurso compartido de archivos al que está asociado el destino de montaje. Los grupos de seguridad que asocies a un destino de montaje deben permitir el acceso entrante para el protocolo TCP en el puerto NFS desde todos los servidores en los que desees montar el recurso compartido. El atributo « auto_delete = true » significa que la interfaz de red virtual se elimina si se elimina el destino de montaje.

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

El ejemplo anterior habilita el cifrado en tránsito para un recurso compartido de archivos de zona. Si deseas proteger tus datos mediante cifrado en tránsito para un recurso compartido regional, especifica el argumento « transit_encryption » como « stunnel ».

Para obtener más información sobre los argumentos y los atributos, consulta ibm_is_share_mount_target.

Creación de un recurso compartido de acceso con un destino de montaje con modo de acceso de grupo de seguridad

No es necesario crear por separado el recurso compartido de archivos y el destino de montaje. Para crear un recurso compartido de archivos con un destino de montaje que permita la autenticación basada en grupos de seguridad dentro de una VPC, utiliza el recurso « ibm_is_share ». El recurso compartido de acceso hereda las siguientes características del recurso compartido de origen: perfil, tamaño y tipo de cifrado, tanto en reposo como en tránsito. Especifica el modo de control de acceso como « security_group » y define el destino de montaje indicando un nombre para el mismo, así como los datos de la interfaz de red virtual, como el nombre, la subred o la dirección IP. Además, especifica los grupos de seguridad que deseas utilizar para controlar el acceso al recurso compartido de archivos. Los grupos de seguridad que asocies a un destino de montaje deben permitir el acceso entrante para el protocolo TCP en el puerto NFS desde todos los servidores en los que desees montar el recurso compartido.

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

Para obtener más información sobre los argumentos y los atributos, consulta ibm_is_share.

Próximos pasos

Monta tus recursos compartidos. El montaje es un proceso mediante el cual el sistema operativo de un servidor pone a disposición de los usuarios los archivos y directorios del dispositivo de almacenamiento para que puedan acceder a ellos a través del sistema de archivos del servidor. Para obtener más información, consulte los temas siguientes:

No se admite la creación de instantáneas de un recurso compartido de Accessor. No obstante, si el recurso compartido de origen contiene instantáneas, puedes acceder a ellas en el directorio « .snapshot ». Para obtener más información, consulta « Restauración de archivos a partir de una instantánea ».