從另一個帳戶共用及掛載檔案共用

透過具備跨帳戶授權功能的存取者共用設定,在多個帳戶間共享 File Storage for VPC,以實現多帳戶資料存取。

您也可以將您的 File Storage for VPC 與 IBM watsonx 服務。

跨帳戶的服務對服務授權 用於在資料擁有者與存取者帳戶之間建立信任關係。 此外,必須將適當的 IAM 平台及服務角色指派給使用者,以便他們能執行其任務。 若要在與原始共用資料夾相同的帳戶內建立存取共用資料夾,使用者必須具備「共用資料夾經紀人」和「編輯者」角色。 若要在與原始共用資料夾不同的帳戶中建立存取者共用資料夾,使用者必須具備「共用資料夾遠端帳戶存取者」及「編輯者」角色。 如需更多資訊,請參閱「IAM 角色與動作」。

在設定好授權並指派角色後,即可建立一個與原始共用資料夾綁定的存取共用資料夾。 該存取共享會從原始共享繼承設定檔、大小,以及靜態與傳輸中的加密類型。 原始共用的帳戶可以查看哪些帳戶的 ID 具有掛載此「NFS」共用資料夾的權限。

建立存取共用時,它會透過存取共用綁定與原始共用建立連結。 存取器綁定是隸屬於來源共用資料夾的子資源,僅有來源共用資料夾的管理員才能檢索或刪除它們。

身為存取者,您無法編輯原始共用資料夾的屬性,也無法刪除該原始共用資料夾。 身為存取器,您可以透過建立一個存取器共用,並為該共用建立一個掛載目標,來掛載該共用。 接著,您即可存取並使用原始共享資料中的資料,包括其中可能存在的快照。

對於採用[已廢棄的]「{: tag-deprecated}」VPC 範圍內存取模式的檔案共用,不支援與其他帳戶或服務共用該檔案共用。

傳輸加密原則

股份持有者可透過設定允許的傳輸加密模式,來控制資料在傳輸過程中的加密方式。 若未填寫此欄位,系統將使用所選共用設定檔中定義的預設允許加密模式。 當存取者建立掛載目標時,必須選擇一種與該共用資源允許模式之一相符的加密模式。 例如,若選取了 IPsec,為了保持一致性,該共用資料夾的所有掛載目標都必須使用 IPsec。

對於區域性檔案共用,共用擁有者可從以下傳輸加密模式中選擇:IPsec、無加密,或兩者皆有。

  • 若強制啟用 IPsec,所有存取器的掛載目標都必須使用 IPsec。
  • 若未強制執行任何一項,則不允許進行傳輸中加密。
  • 如果兩者都允許,存取者帳戶可以選擇使用哪一個。

選擇可用性 對於區域性檔案共用,共用擁有者可從以下傳輸加密模式中選擇:stunnel、無,或兩者皆有。

  • 若強制使用 stunnel,所有存取器的掛載目標都必須使用 stunnel。
  • 若未強制執行任何一項,則不允許進行傳輸中加密。
  • 如果兩者都允許,存取者帳戶可以選擇使用哪一個。

在跨帳戶存取功能發布(2024 年 6 月 18 日)之前建立的檔案共享,其允許的傳輸加密類型是根據其現有的掛載目標而定。 自該日期起,您在建立檔案共用時,必須指定允許的傳輸加密類型。 為同一檔案共用所建立的所有掛載目標,都必須採用相同的傳輸加密類型。

在控制台中建立存取共用資料夾

在 IBM Cloud 控制台中,您可以建立帶有或不帶掛載目標的存取共用。 不過,若要在虛擬伺服器實例上掛載該共用資料夾,您需要建立一個掛載目標。

在主控台中建立無掛載目標的存取共用

  1. IBM Cloud 控制台中,按一下「導覽」選單 圖示 >「基礎架構」 VPC 圖示 >「儲存」>「檔案儲存共用」。 檔案共用清單隨即顯示。

  2. 在「VPC 的檔案儲存共用」頁面上,按一下「建立」>「建立存取者共用」。

  3. 請輸入以下資訊。

建立檔案共用時所需的參數
欄位
存取者共用名稱 請為您的存取共用指定一個有意義的名稱。 檔案共用名稱最長可包含 63 個小寫英文字母與數字,並可包含連字號 (-),且必須以小寫字母開頭。 如果需要,您日後可以編輯該名稱。
遠端共用 CRN 請輸入原始檔案共用資料夾的 CRN。
  1. 按一下建立

  2. 您將返回「File Storage for VPC」頁面,該頁面會顯示一則訊息,指出檔案共用正在進行配置。 當交易完成時,股份狀態將變更為「有效」。

透過命令列介面 (CLI) 建立存取共用

開始之前

在使用 CLI 之前,您必須先安裝「IBM Cloud」CLI 以及 VPC CLI 外掛程式。 如需更多資訊,請參閱 CLI 的先決條件

透過命令列介面 (CLI) 建立沒有掛載目標的存取共用

您可以使用 ibmcloud is share-create 指令,在您選定的區域中,以原始共用資料夾的 CRN 來配置一個檔案共用。

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

存取共享會從其原始共享繼承以下特性:設定檔、大小,以及靜態與傳輸中的加密類型。 若您嘗試將此指令與屬性 --origin-share 搭配其他屬性(例如 --iops--profile--bandwidth--replica-share )一同使用,該請求將會失敗。

有關命令選項的更多資訊,請參閱 ibmcloud is share-create

透過命令列介面 (CLI) 為存取共用建立掛載目標

在執行 share-mount-target-create 指令以建立檔案共用之掛載目標之前,請先蒐集以下資訊。

建立掛載目標時,必須指定該掛載目標所對應的檔案共用。 您可以使用檔案共用名稱或 ID。 您也必須指定 VPC,可透過其 ID 或名稱來指定。 每個掛載目標的 VPC 都必須是唯一的。 您還必須指定用於管理對該共用資料夾存取權限的安全存取群組。 您為掛載目標關聯的安全群組,必須允許來自所有您希望掛載該共用資料夾的伺服器,透過 NFS 埠對 TCP 協定進行傳入存取。

最後,您必須為建立掛載目標所需之 虛擬網路介面,指定相關選項的值。 請使用適當的 CLI 指令來列出可用的 子網子網中的預留 IP 位址以及 安全群組,以取得您所需的資訊。

以下範例將建立一個掛載目標,並為具有安全群組存取模式的檔案共用設定虛擬網路介面。

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

有關命令選項的更多資訊,請參閱 ibmcloud is share-mount-target-create

透過命令列介面 (CLI) 建立具有掛載目標的存取共用

您可以透過執行 ibmcloud is share-create 指令,一步完成建立包含一個或多個掛載目標的存取共用。 您需要提供區域名稱以及來源共用資料夾的 CRN。 該存取共用資料夾會繼承原始共用資料夾的設定檔、大小,以及靜態儲存與傳輸過程中的加密類型。 您也可以指定名稱、使用者標籤,甚至初始擁有者的 UID。 要建立掛載目標,您需要以 JSON 格式提供掛載目標的相關資訊。

以下範例說明如何建立具有掛載目標的存取共享。

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

使用 API 建立存取共用資料夾

您可以透過直接呼叫 REST API 來建立檔案共用及掛載目標。

開始之前

設定您的 API 環境。 定義 IAM 記號、API 端點和 API 版本的變數。 如需指示,請參閱設定 API 和 CLI 環境

使用 API 建立存取共用資料夾

發出 POST /shares 請求以建立檔案共用。

以下範例展示如何使用原始共用資料夾的 CRN 來建立存取共用資料夾。 存取共享會從其原始共享繼承以下特性:設定檔、區域、大小、IOPS,以及靜態與傳輸中的加密類型。 initial_owneraccess_control_mode 以及 encryption_key 的值同樣繼承自 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"}
}

成功的回應如下例所示。

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

使用 API 為檔案共用建立掛載目標

若共用資料夾的存取控制模式為「security_group」,則必須透過 虛擬網路介面 建立掛載目標。 當共用資料夾的允許傳輸加密模式為 ipsec 時,掛載目標的 transit_encryption 值也必須設定為 ipsec

發出 POST /shares/{share_id}/mount_targets 請求,並為掛載目標網路介面指定子網和安全群組。 您為掛載目標關聯的安全群組,必須允許來自所有您希望掛載該共用資料夾的伺服器,透過 NFS 埠對 TCP 協定進行傳入存取。

此範例會將一個掛載目標新增至現有的存取器共用(該共用以 ID 識別),並提供子網和安全群組以建立網路介面。

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

使用 Terraform 建立檔案共用與掛載目標

若要使用 Terraform,請下載 Terraform CLI 並設定 IBM Cloud® 提供者外掛程式。 如需更多資訊,請參閱 《Terraform 入門指南》

VPC 基礎架構服務使用特定的區域端點,該端點預設指向 us-south。 若您的 VPC 是建立在其他區域,請務必在 provider.tf 檔案的 provider 區塊中指定正確的區域。

請參閱以下範例,了解如何將目標地區設定為預設的 us-south 以外的地區。

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

使用 Terraform 建立存取共用資料夾

若要建立存取權限共用,請使用「ibm_is_share」資源。 存取共享會從其原始共享繼承以下特性:設定檔、大小,以及靜態與傳輸中的加密類型。

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

使用 Terraform 建立掛載目標

若要為檔案共用建立掛載目標,請使用 ibm_is_share_mount_target 資源。 以下範例建立一個採用 security_group 存取控制模式的掛載目標。 首先,請指定要為其建立掛載目標的共用資料夾。 接著,您需指定掛載目標的名稱,並透過提供 IP 位址和名稱來定義新的虛擬網路介面。 您還必須指定要使用的安全群組,以管理對掛載目標所關聯之檔案共用之存取權限。 您為掛載目標關聯的安全群組,必須允許來自所有您希望掛載該共用資料夾的伺服器,透過 NFS 埠對 TCP 協定進行傳入存取。 auto_delete = true 屬性表示,若掛載目標被刪除,則虛擬網路介面也會隨之被刪除。

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

前一個範例啟用了區域性檔案共用在傳輸過程中的加密功能。 若要透過傳輸加密來保護區域共享中的資料,請將 transit_encryption 參數設定為 stunnel

有關參數和屬性的更多資訊,請參閱 ibm_is_share_mount_target

建立具有安全群組存取模式的掛載目標的存取共享

您無需分別建立檔案共用和掛載目標。 若要在 VPC 內建立一個允許基於安全群組進行驗證的掛載目標的檔案共用,請使用 ibm_is_share 資源。 存取共享會從其原始共享繼承以下特性:設定檔、大小,以及靜態與傳輸中的加密類型。 請將存取控制模式設定為「security_group」,並透過指定名稱以及虛擬網路介面的詳細資訊(例如名稱、子網或 IP 位址)來定義掛載目標。 此外,請指定您要用來控制對檔案共用存取權限的安全群組。 您為掛載目標關聯的安全群組,必須允許來自所有您希望掛載該共用資料夾的伺服器,透過 NFS 埠對 TCP 協定進行傳入存取。

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

有關參數和屬性的更多資訊,請參閱 ibm_is_share

下一步

掛載您的檔案共用。 掛載是指伺服器作業系統將儲存裝置上的檔案和目錄,透過伺服器的檔案系統提供給使用者存取的過程。 如需相關資訊,請參閱下列主題:

不支援為 Accessor 共用資料夾建立快照。 不過,如果原始共享中包含快照,您可以透過 .snapshot 目錄存取這些快照。 如需更多資訊,請參閱「從快照還原檔案」。