Compartilhamento e montagem de um recurso compartilhado de outra conta

Compartilhe o File Storage for VPC entre contas utilizando compartilhamentos de acesso com autorização entre contas para acesso a dados em várias contas.

Você também pode compartilhar seu File Storage for VPC com o IBM watsonx serviço.

A autorização entre serviços de contas diferentes é utilizada para estabelecer confiança entre as contas do proprietário da ação e do usuário que acessa. Além disso, as funções adequadas da plataforma IAM e dos serviços devem ser atribuídas aos usuários para que eles possam realizar suas tarefas. Para criar um compartilhamento de acesso na mesma conta que o compartilhamento de origem, o usuário deve ter as funções de Corretor de Compartilhamentos e Editor. Para criar um compartilhamento de acesso em uma conta diferente daquela do compartilhamento de origem, o usuário deve ter as funções “Acessador de conta remota do compartilhamento ” e “Editor ”. Para obter mais informações, consulte Funções e ações do IAM.

Depois que a autorização estiver definida e as funções atribuídas, você poderá criar um compartilhamento de acesso vinculado ao compartilhamento de origem. O compartilhamento acessório herda o perfil, o tamanho e o tipo de criptografia — tanto em repouso quanto em trânsito — do compartilhamento de origem. A conta de origem do compartilhamento pode visualizar os IDs das contas que têm permissão para acessar o compartilhamento NFS.

Quando o compartilhamento de acesso é criado, ele é vinculado ao compartilhamento de origem por meio de uma ligação de acesso. As ligações de acessórios são sub-recursos pertencentes ao compartilhamento de origem, e somente o administrador desse compartilhamento pode recuperá-las ou excluí-las.

Como usuário com permissão de acesso, você não pode editar as propriedades do compartilhamento de origem nem excluí-lo. Como acessador, você pode montar o compartilhamento criando um compartilhamento de acessador e um destino de montagem para esse compartilhamento. Então, você poderá acessar e utilizar os dados do compartilhamento de origem, incluindo os instantâneos que possam estar presentes.

O compartilhamento de um recurso de compartilhamento de arquivos com outras contas ou serviços não é compatível com recursos de compartilhamento de arquivos que utilizem o modo de acesso “{: tag-deprecated} ” ( [obsoleto] ) em toda a VPC.

Política de criptografia em trânsito

O proprietário do recurso pode controlar como os dados são criptografados durante o trânsito, definindo os modos de criptografia permitidos para o trânsito. Se esse campo não for preenchido, o sistema utiliza os modos de criptografia padrão permitidos, definidos no perfil de compartilhamento selecionado. Quando um usuário cria um destino de montagem, ele deve escolher um modo de criptografia que corresponda a um dos modos permitidos para o compartilhamento. Por exemplo, se a opção IPsec for selecionada, todos os destinos de montagem desse compartilhamento deverão usar o IPsec para garantir a consistência.

Para compartilhamentos de arquivos por zona, o proprietário do compartilhamento pode escolher entre os seguintes modos de criptografia de trânsito: IPsec, nenhum ou ambos.

  • Se o IPsec for obrigatório, todos os destinos de montagem do acessador deverão usar o IPsec.
  • Se nenhuma for aplicada, a criptografia em trânsito não é permitida.
  • Se ambas forem permitidas, as contas de acesso podem escolher qual delas usar.

Selecione a disponibilidade Para compartilhamentos de arquivos regionais, o proprietário do compartilhamento pode escolher entre os seguintes modos de criptografia em trânsito: stunnel, nenhum ou ambos.

  • Se o uso do stunnel for obrigatório, todos os destinos de montagem do acessador deverão utilizar o stunnel.
  • Se nenhuma for aplicada, a criptografia em trânsito não é permitida.
  • Se ambas forem permitidas, as contas de acesso podem escolher qual delas usar.

Os compartilhamentos de arquivos criados antes do lançamento do recurso de acesso entre contas (18 de junho de 2024) têm um tipo de criptografia de trânsito permitido que se baseia em seus destinos de montagem existentes. Após essa data, você deverá especificar o tipo de criptografia de trânsito permitido ao criar compartilhamentos de arquivos. Todos os destinos de montagem criados para um compartilhamento de arquivos devem ter o mesmo tipo de criptografia de trânsito.

Criação de uma ação de acesso no console

No console do IBM Cloud, é possível criar um compartilhamento de acesso com ou sem um destino de montagem. No entanto, é necessário criar um destino de montagem quando se deseja montar o compartilhamento em uma instância de servidor virtual.

Criação de um compartilhamento de acesso no console sem um destino de montagem

  1. No IBM Cloud console, clique no ícone “ Menu de navegaçãoícone do menu > Infraestrutura Ícone do VPC > Armazenamento > Compartilhamentos de arquivos. Uma lista de compartilhamentos de arquivo é exibida.

  2. Na página “Compartilhamentos de armazenamento de arquivos para VPC”, clique em “Criar” > “Criar compartilhamento de acesso ”.

  3. Insira as seguintes informações.

Valores para a criação de um compartilhamento de arquivos
Campo Valor
Nome do compartilhamento de acessador Especifique um nome significativo para o seu compartilhamento de acesso. O nome de compartilhamento de arquivos pode ter até 63 caracteres alfanuméricos minúsculos e incluir hífen (-), e deve começar com letra minúscula. Se desejar, será possível editar o nome posteriormente.
CRN de compartilhamento remoto Insira o CRN do compartilhamento de arquivos de origem.
  1. Clique em Criar.

  2. Você volta à página “ File Storage for VPC ”, onde uma mensagem indica que o compartilhamento de arquivos está sendo provisionado. Quando a transação for concluída, o status da ação passa a ser “Ativo ”.

Criação de um compartilhamento de acesso pela CLI

Antes de Iniciar

Para usar a CLI, deve-se instalar a CLI da IBM Cloud e o plug-in da CLI da VPC. Para obter mais informações, consulte os Pré-requisitos da CLI.

Criação de um compartilhamento de acesso sem um destino de montagem a partir da CLI

Você pode usar o comando ibmcloud is share-create para provisionar um compartilhamento de arquivos na zona selecionada com o CRN do compartilhamento de origem.

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

O compartilhamento acessório herda as seguintes características do compartilhamento de origem: perfil, tamanho e tipo de criptografia, tanto em repouso quanto em trânsito. Se você tentar usar esse comando com a propriedade --origin-share junto com outras propriedades, como --iops, --profile, --bandwidth e --replica-share, a solicitação falhará.

Para obter mais informações sobre as opções do comando, consulte ibmcloud is share-create.

Criação de um destino de montagem para um compartilhamento de acesso pela CLI

Antes de executar o comando share-mount-target-create para criar um destino de montagem para o compartilhamento de arquivos, reúna as seguintes informações.

Ao criar um destino de montagem, é necessário especificar o compartilhamento de arquivos ao qual ele se destina. Você pode usar o nome ou o ID do compartilhamento de arquivos. Você também deve especificar a VPC, seja pelo ID ou pelo nome. A VPC deve ser exclusiva para cada destino de montagem. Você também deve especificar o grupo de acesso de segurança utilizado para gerenciar o acesso ao compartilhamento. Os grupos de segurança associados a um destino de montagem devem permitir o acesso de entrada para o protocolo TCP na porta NFS a partir de todos os servidores nos quais você deseja montar o compartilhamento.

Por fim, é necessário especificar os valores das opções necessárias para criar uma interface de rede virtual para o destino de montagem. Use os comandos da CLI apropriados para listar as sub-redes disponíveis, os endereços IP reservados em uma sub-rede e os grupos de segurança, a fim de obter as informações necessárias.

O exemplo a seguir cria um destino de montagem com uma interface de rede virtual para um compartilhamento de arquivos que possui o modo de acesso por grupo de segurança.

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 obter mais informações sobre as opções do comando, consulte ibmcloud is share-mount-target-create.

Criação de um compartilhamento de acesso com um destino de montagem a partir da CLI

É possível criar um compartilhamento de acesso com um ou mais destinos de montagem em uma única etapa, utilizando o comando ibmcloud is share-create . É necessário informar o nome da zona e o CRN do compartilhamento de origem. O compartilhamento acessório herda o perfil, o tamanho e o tipo de criptografia — tanto em repouso quanto em trânsito — do compartilhamento de origem. Você também pode especificar um nome, tags de usuário e até mesmo o UID do proprietário inicial. Para criar o destino de montagem, é necessário fornecer as informações do destino de montagem no formato JSON.

O exemplo a seguir mostra como criar um compartilhamento de acesso com destino de montagem.

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

Criação de uma ação de acesso por meio da API

É possível criar compartilhamentos de arquivos e destinos de montagem chamando diretamente as APIs de REST.

Antes de Iniciar

Configure seu ambiente de API. Defina variáveis ​​para o token do IAM e para o terminal e a versão da API. Para obter instruções, consulte Configurando seu ambiente da API e da CLI.

Criação de uma ação de acesso por meio da API

Faça uma solicitação POST /shares para criar um compartilhamento de arquivos.

O exemplo a seguir mostra uma solicitação para criar um compartilhamento de acesso utilizando o CRN do compartilhamento de origem. O compartilhamento acessório herda as seguintes características do compartilhamento de origem: perfil, zona, tamanho, IOPS e tipo de criptografia, tanto em repouso quanto em trânsito. Os valores de initial_owner, access_control_mode e encryption_key também são herdados 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"}
}

Uma resposta bem-sucedida se parece com o exemplo a seguir.

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

Criação de um destino de montagem para um compartilhamento de arquivos usando a API

Se o modo de controle de acesso do compartilhamento for “ security_group ”, o destino de montagem deverá ser criado com uma interface de rede virtual. Quando o modo de criptografia de trânsito permitido para o compartilhamento é ipsec, o valor de ` `transit_encryption` ` do destino de montagem também deve ser ` `ipsec.

Faça uma solicitação de “ POST /shares/{share_id}/mount_targets ” e especifique uma sub-rede e um grupo de segurança para a interface de rede de destino da montagem. Os grupos de segurança associados a um destino de montagem devem permitir o acesso de entrada para o protocolo TCP na porta NFS a partir de todos os servidores nos quais você deseja montar o compartilhamento.

Este exemplo adiciona um destino de montagem a um compartilhamento de acesso já existente, identificado por um ID, e especifica uma sub-rede e um grupo de segurança para criar a interface de rede.

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

Criação de um compartilhamento de arquivos e um destino de montagem com o Terraform

Para usar o Terraform, baixe a CLI do Terraform e configure o plug-in do provedor IBM Cloud®. Para obter mais informações, consulte “Introdução ao Terraform ”.

Os serviços de infraestrutura do VPC utilizam um endpoint regional específico, que, por padrão, aponta para us-south. Se sua VPC tiver sido criada em outra região, certifique-se de especificar a região correta no bloco “provider” do arquivo provider.tf.

Veja o exemplo a seguir de como definir como alvo uma região diferente da padrão us-south.

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

Criação de um compartilhamento de acesso com o Terraform

Para criar uma ação de acesso, use o recurso ibm_is_share. O compartilhamento acessório herda as seguintes características do compartilhamento de origem: perfil, tamanho e tipo de criptografia, tanto em repouso quanto em 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"
}

Criação de um destino de montagem com o Terraform

Para criar um destino de montagem para um compartilhamento de arquivos, use o recurso ibm_is_share_mount_target. O exemplo a seguir cria um destino de montagem com o modo de controle de acess security_group. Primeiro, especifique o compartilhamento para o qual o destino de montagem será criado. Em seguida, você especifica o nome do destino de montagem e define a nova interface de rede virtual, informando um endereço IP e um nome. Você também deve especificar o grupo de segurança que deseja usar para gerenciar o acesso ao compartilhamento de arquivos ao qual o destino de montagem está associado. Os grupos de segurança associados a um destino de montagem devem permitir o acesso de entrada para o protocolo TCP na porta NFS a partir de todos os servidores nos quais você deseja montar o compartilhamento. O atributo auto_delete = true significa que a interface de rede virtual será excluída caso o destino de montagem seja excluído.

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

O exemplo anterior habilita a criptografia em trânsito para um compartilhamento de arquivos por zona. Quando desejar proteger seus dados com criptografia em trânsito para um compartilhamento regional, especifique o argumento transit_encryption como stunnel``.

Para obter mais informações sobre os argumentos e atributos, consulte ibm_is_share_mount_target.

Criação de um compartilhamento de acesso com um destino de montagem com modo de acesso por grupo de segurança

Você não precisa criar o compartilhamento de arquivos e o destino de montagem separadamente. Para criar um compartilhamento de arquivos com um destino de montagem que permita a autenticação baseada em grupos de segurança dentro de uma VPC, use o recurso ibm_is_share. O compartilhamento acessório herda as seguintes características do compartilhamento de origem: perfil, tamanho e tipo de criptografia, tanto em repouso quanto em trânsito. Especifique o modo de controle de acesso como “ security_group ” e defina o destino de montagem, fornecendo um nome para ele, além de detalhes da interface de rede virtual, como nome, sub-rede ou endereço IP. Além disso, especifique os grupos de segurança que você deseja usar para controlar o acesso ao compartilhamento de arquivos. Os grupos de segurança associados a um destino de montagem devem permitir o acesso de entrada para o protocolo TCP na porta NFS a partir de todos os servidores nos quais você deseja montar o compartilhamento.

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 obter mais informações sobre os argumentos e atributos, consulte ibm_is_share.

Próximas etapas

Monte seus compartilhamentos de arquivos. A montagem é um processo pelo qual o sistema operacional de um servidor disponibiliza arquivos e diretórios no dispositivo de armazenamento para que os usuários possam acessá-los por meio do sistema de arquivos do servidor. Para obter mais informações, veja os tópicos a seguir:

A criação de instantâneos de um compartilhamento do Accessor não é suportada. No entanto, se o compartilhamento de origem tiver instantâneos, você poderá acessá-los no diretório .snapshot. Para obter mais informações, consulte “ Restaurando arquivos a partir de um snapshot ”.