建立 File Storage for VPC 的服務對服務授權

針對 File Storage for VPC 的客戶自管加密、跨帳戶共享及跨區域複製功能,建立IAM服務對服務授權。

您可以使用「Cloud Identity and Access Management」(IAM)來建立或移除授權,藉此允許某項服務存取另一項服務。

概觀

在授權中,來源服務是獲授與目標服務存取權的服務。 您所選取的角色將決定來源服務的存取權限層級。 目標服務是您根據您指派的角色授與來源服務存取權的服務。 一般而言,來源服務可以在建立授權的相同帳戶中,或在另一個帳戶中。 目標服務一律位於建立授權的帳戶中。

對於 File Storage for VPC,您需要針對以下項目建立服務對服務的授權:

  • 設定客戶自行管理的加密功能:

    若要使用客戶根金鑰 (CRK) 建立加密的檔案共用,您必須先有一個金鑰管理服務 (KMS) 的實例來保存您的 CRK。 您可以選擇 Key Protect 的單租戶或多租戶實例。 然後,您需要在檔案服務和 KMS 範例之間建立服務對服務的授權。 授權必須在擁有和託管客戶根金鑰的帳戶中建立。 持有 CRK 的帳戶為來源,而要建立檔案共用的帳戶為目標。

    Hyper Protect Crypto Services 已被標記為過時。 客戶可在 2027 年 3 月 20 日前使用現有的實體。 如需更多資訊,請參閱 《 IBM Cloud Hyper Protect Crypto Services 已停用 》。 為了持續確保安全性,請考慮將現有的加密金鑰遷移至專用的 Key Protect 執行個體。 如需更多資訊,請參閱《 遷移指南 》。

  • 設定跨區域非同步複製:

    若要進行跨區域複製,您需要建立服務對服務的授權,並為位於不同 VPC 中的各 File Storage Service 實例指定 使用者角色。 此授權可讓一個 VPC 中的「File Storage」服務與另一個 VPC 中的「File Storage」服務進行互動。 這兩個 VPC 必須屬於相同的帳戶。 不支援跨帳戶抄寫。

    如需更多資訊,請參閱「複製概覽」。

  • 設定跨帳戶存取權限

    對於跨帳戶存取,您需要在兩個不同帳戶的 File Storage 服務之間建立服務對服務的授權。 授權必須在擁有和主控檔案共用的帳戶中建立。 您還必須在兩個帳戶中指定 使用者角色,以允許使用者建立和管理存取器共用和共用綁定。 如需詳細資訊,請參閱 從其他帳戶共用和掛載檔案共用

如需授權的相關資訊,請參閱 使用授權來授與服務之間的存取權

在主控台中為客戶管理的加密建立授權

  1. 在 IBM Cloud 主控台中,登入金鑰管理服務 (KMS) 和客戶根金鑰 (CRK) 所在的帳戶。
  2. 前往「管理」>「存取權限 (IAM)」。
  3. 從側邊畫面中,選取 授權
  4. 在「管理授權」頁面上,按一下 建立
  5. 來源 區段中,選取 來源帳戶。 此帳戶是 CRK 用於建立具有客戶管理加密功能的檔案共用的地方。
    • 若要允許使用此帳戶的 CRK 加密其他帳戶中的檔案共用,請選取特定帳戶,然後輸入檔案服務帳戶的 32 個字元長的帳戶 ID。 然後按下一步
    • 否則,請選取 此帳戶。 然後按下一步
  6. 對於來源服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 下一步
  7. 針對目標服務,請從清單中選取 KeyProtect 清單中的選項。 按下一步
  8. 請選擇「Reader」這個角色。
  9. 勾選此方框,以啟用由來源及相依服務委派的授權。
  10. 按一下 檢閱,並檢查您的選項。
  11. 按一下授權

在主控台中為跨區域複製建立授權

  1. 在 IBM Cloud 主控台中,登入檔案共用所在的帳戶。
  2. 前往「管理」>「存取權限 (IAM)」。
  3. 從側邊畫面中,選取 授權
  4. 在「管理授權」頁面上,按一下 建立
  5. 來源 區段中,選取 來源帳戶。 選取「此帳戶」,然後按一下「下一步」。
  6. 對於來源服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 下一步
  7. 對於目標服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 下一步
  8. 請選擇「Editor」這個角色。
  9. 按一下 檢閱,並檢查您的選項。
  10. 按一下授權

為企業中的所有子帳戶建立跨區域複製授權

企業帳戶管理員可以 建立授權政策範本並將其指定給子 帳戶,以便集中管理授權。 若要建立授權政策範本,以用於啟用 Enterprise 所有子帳戶的跨區域複製,請完成下列步驟:

  1. 移至主控台中的管理 > 存取 (IAM) > 範本
  2. 選取「授權」,然後按一下「建立」。
  3. 輸入授權範本的名稱和描述,說明其對企業使用者的用途。
  4. 輸入企業管理授權政策的描述,說明其對子帳戶使用者的用途。
  5. 按一下建立

接下來,完成下列步驟以建立授權規則:

  1. 前往授權,指定授權政策的詳細資訊。
  2. 選擇指定帳戶。 當您將授權範本指定給子帳戶時,來源帳戶會被填入與子帳戶相同的帳號,而子帳戶則持有被存取的資源。
  3. 接下來,您選擇來源服務和資源。
    1. 從清單中選取 VPC Infrastructure Services。 按下一步
    2. 按一下 特定資源來選取範圍。
    3. 點擊「選取一項屬性」。
    4. 從清單中,選取 資源類型
    5. 在下一個欄位中,選取 File Storage for VPC
    6. 下一步
  4. 對於目標服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 下一步
  5. 請選擇「Editor」這個角色。
  6. 點選「檢視」並「儲存」。
  7. 範本現在可以提交並指定給子帳戶。

在主控台中為跨帳戶存取建立授權

此授權是用於建立存取者股份,並在不同帳戶之間共享資料。

  1. 在 IBM Cloud 主控台中,登入檔案共用所在的帳戶。
  2. 前往「管理」>「存取權限 (IAM)」。
  3. 從側邊畫面中,選取 授權
  4. 在「管理授權」頁面上,按一下 建立
  5. 來源 區段中,選取 來源帳戶
    • 如果您想要容許另一個帳戶存取檔案共用上的資料,請選取 特定帳戶,並輸入 32 個字元長的帳戶 ID。 然後按下一步
    • 如果您要在相同帳戶中建立存取元共用,請選取 此帳戶。 然後按下一步
  6. 對於來源服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 下一步
  7. 對於目標服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 點擊「新增條件」。
    6. 按一下 選取屬性,然後選取 共用 ID
    7. 請從清單中選取該分享項目。
    8. 下一步
  8. 請選擇「Share Broker」這個角色。
  9. 按一下 檢閱,並檢查您的選項。
  10. 按一下授權

在主控台中為 Watson Studio 建立授權

  1. 在 IBM Cloud 主控台中,登入檔案共用所在的帳戶。
  2. 前往「管理」>「存取權限 (IAM)」。
  3. 從側邊畫面中,選取 授權
  4. 在「管理授權」頁面上,按一下 建立
  5. 在「授與服務授權」頁面上,選取 此帳戶
  6. 對於來源服務,從清單中選取 Watson Studio
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取「來源服務實例」。
    4. 在下一個欄位中,選取 所有實例
    5. 下一步
  7. 對於目標服務,從清單中選取 VPC 基礎架構服務。 按下一步
    1. 按一下 特定資源來選取範圍。
    2. 點擊「選取一項屬性」。
    3. 從清單中,選取 資源類型
    4. 在下一個欄位中,選取 File Storage for VPC
    5. 點擊「新增條件」。
    6. 按一下 選取屬性,然後選取 共用 ID
    7. 保持字串等號欄位原樣。
    8. 在下一個欄位中,從清單中選取原始共用。
    9. 下一步
  8. 請選擇「Share Broker」這個角色。
  9. 勾選此方框,以啟用由來源及相依服務委派的授權。
  10. 按一下 檢閱,並檢查您的選項。
  11. 按一下授權

從 CLI 建立客戶管理加密的授權

請登入您的帳戶。 執行 ibmcloud iam authorization-policy-create 指令,為 File Storage 服務建立授權原則,以便該服務能與您的 Key Protect 實例進行互動。 來源服務為 is,其 --source-resource-type share,目標服務為 kms。 您需要指派的角色是「Reader」。 以下範例是在「File Storage」服務與 Key Protect 之間建立授權政策。

ibmcloud iam authorization-policy-create is kms Reader --source-resource-type share
Creating authorization policy under account a1234567 as test.user@ibm.com...
OK

若要列出已為帳戶提供的服務授權,請執行 ibmcloud iam authorization-policies 指令。 以下範例顯示,可使用儲存於 Key Protect 中的CRK來加密檔案共用。

ibmcloud iam authorization-policies
Getting authorization policies under account a1234567 as test.user@ibm.com...
OK
ID:                        d2df60ea-5575-4bd1-9cd6-f35c52576577
Source service name:       is
Source service instance:   All instances
Source resource type:      share
Target service name:       kms
Target service instance:   All instances
Roles:                     Authorization Delegator, Reader

如需此指令可用的所有參數的相關資訊,請參閱 ibmcloud iam authorization-policy-create

從 CLI 建立跨帳戶加密授權

請登入擁有 Key Protect 實例的帳戶。 執行 ibmcloud iam authorization-policy-create 指令,建立檔案服務與 KMS 互動的授權政策。 來源服務為 is,其 --source-resource-type share,目標服務為 kms。 您需要指派的角色是「Reader」。 以下範例是在「KeyUserAccount」的「File」服務與「KeyOwnerAccount」的「Key Protect」執行個體之間建立授權政策。

  1. 在本機 Documents 資料夾中建立一個包含以下授權策略資訊的 JSON 檔案。

    '{
       "description":"Reader and Delegator role for KeyProtect service instance",
       "resources": [{"attributes": [
             {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
             {"name":"serviceName","operator":"stringEquals","value":"kms"}]}],
       "roles": [
          {"role_id":"crn:v1:bluemix:public:iam::::role:AuthorizationDelegator"},
          {"role_id":"crn:v1:bluemix:public:iam::::serviceRole:Reader"}],
       "subjects": [
          {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"},
             {"name": "KeyUserAccountID","value": "a/a7654321"}],
       "type":"authorization"
    }'
    
  2. 然後,使用 JSON 檔案執行以下 CLI 命令來建立授權策略。

    ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
    

    跨帳戶授權是單向的,並且特定於密鑰和服務。 當帳戶 A 授權帳戶 B 的檔案服務使用其金鑰時,帳戶 B 可以使用帳戶 A 的 CRK 來加密帳戶 B 的共用。 但是,帳戶 A 無法使用帳戶 B 的根金鑰來加密帳戶 A 的共用。

從 CLI 建立跨區域複製授權

執行 ibmcloud iam authorization-policy-create 指令,以授權區域檔案服務一起運作。

ibmcloud iam authorization-policy-create is is Editor --source-resource-type share --target-resource-type share

請參閱下列範例。

$ ibmcloud iam authorization-policy-create is is Editor --source-resource-type share --target-resource-type share
Creating authorization policy under account a1234567 as test.user@ibm.com...
OK
Authorization policy f311f255-d20e-49d0-aa94-316feaba981e was created.
ID:                        f311f255-d20e-49d0-aa94-316feaba981e
Source service name:       is
Source service instance:   All instances
Source resource type:      share
Target service name:       is
Target service instance:   All instances
Target resource type:      share
Roles:                     Editor

如需此指令可用的所有參數的相關資訊,請參閱 ibmcloud iam authorization-policy-create

為企業的所有子帳戶建立跨區域複製授權

企業帳戶管理員可以 建立授權政策範本並將其指定給子 帳戶,以便集中管理授權。 若要建立授權政策範本,以用於啟用 Enterprise 所有子帳戶的跨區域複製,請完成下列步驟。

  1. 建立提供授權政策範本定義的 JSON 檔案。 有關 JSON 檔案中可使用的屬性的詳細資訊,請參閱 IAM Policy Management API

    以下 JSON 檔案範例指定範本的 namedescription,以及企業帳戶的 account_id。 授權範本會在指定帳戶中的所有 " File Storage for VPC " 之間授予編輯者角色。

        {
          "name": "VPC_REGIONAL_REPLICATOR",
          "description": "Grant Editor Role between VPC File Storage to enable regional replication",
          "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
          "policy": {
            "type": "authorization",
            "description": "Grant Editor on VPC File Storage",
            "control": {
                "grant": {
                "roles": [
                  {
                    "role_id": "crn:v1:bluemix:public:iam::::role:Editor"
                  }
                ]
              }
            },
            "subject":
              {
                "attributes": [
                  {
                    "key": "serviceName",
                    "operator": "stringEquals",
                    "value": "is"
                  },
                  {
                    "key": "resourceType",
                    "operator": "stringEquals",
                    "value": "share"
                  }
                ]
              }
            ,
            "resource":
              {
                "attributes": [
                  {
                    "key": "serviceName",
                    "operator": "stringEquals",
                    "value": "is"
                  },
                  {
                    "key": "resourceType",
                    "operator": "stringEquals",
                    "value": "share"
                  }
                ]
              }
          }
    }
    
  2. 使用 JSON 檔執行 authorization-policy-template-create 指令,如下列範例請求所示:

ibmcloud iam authorization-policy-template-create --file /path/to/vpc-share-authorization-template.json

如需更多關於此指令所有可用參數的資訊,請參閱 管理 IAM 存取、API 金鑰、可信設定檔、服務 ID 和存取群組(ibmcloud.am) CLI 參考。

從 CLI 建立跨帳戶存取授權

此授權是用於建立存取者股份,並在不同帳戶之間共享資料。

作為共用擁有者,請建立 JSON 檔案,並使用 ibmcloud iam authorization-policy-create 指令來建立共用擁有者帳戶 (來源) 的 File Storage for VPC 服務的服務對服務授權,以存取存取器帳戶 (目標) 中的共用。

  1. 建立一個內容如下所示的 JSON 檔案。 在此範例中,檔案建立為 Documents 資料夾中的 policy.json。

    {
         "roles": [{"role_id": "crn:v1:bluemix:public:iam::::role:ShareBroker","display_name": "Share Broker",
                  "description": "As a share broker, you can create and delete share bindings"}],
         "resources": [{"attributes": [
             {"name": "accountId","value": "<origin share owner Account ID>","operator": "stringEquals"},
             {"name": "serviceName","value": "is","operator": "stringEquals"},
             {"name": "shareId","value": "<OriginShareId>","operator": "stringEquals"}]}],
         "type": "authorization",
         "description": "ShareBroker role for File Storage for VPC cross-account share access",
         "subjects": [{"attributes": [
             {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"},
             {"name": "accountId","value": "<accessor share Account ID>"}]}]
         }
    
  2. 然後,搭配執行 CLI 指令與 JSON 檔案,以建立授權原則。

    ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
    

使用 API 建立客戶管理加密的授權

若要授權檔案服務存取您的金鑰管理服務 (KMS) 執行個體,請向 IAM 政策管理 API 發出 API 請求,以建立服務對服務的授權。

  • 下列範例顯示如何授權「檔案」服務 is.share (來源) 與具有 讀者 角色的 Key Protect 服務 kms (目標) 互動。

    curl -X POST 'https://iam.cloud.ibm.com/v1/policies'\
      -H 'Authorization: Bearer $TOKEN'\
      -H 'Content-Type: application/json'\
      -d '{
         "type": "access",
         "description": "Reader role for the file service to interact with the KeyProtect service.",
         "subjects": [
           {"attributes": [
             {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"}]}],
      "roles":[
         {"role_id": "crn:v1:bluemix:public:iam::::role:Reader"}],
      "resources":[
         {"attributes": [
             {"name": "serviceName","value": "kms"}]}]
      }'
    
  • 若要建立 Hyper Protect Crypto Services的授權原則,請在前一個範例中將 kms 取代為 hs-crypto

使用 API 建立跨帳戶加密授權

若要授權另一個帳戶的檔案服務存取您的金鑰管理服務(KMS)執行個體,請向 IAM 政策管理 API 發出請求,以建立服務對服務的授權。 以下範例說明如何為來源帳戶的「File Storage for VPC」服務建立授權,使其能以「Reader」權限存取您的帳戶(目標)的金鑰管理服務。

curl -X POST "https://iam.cloud.ibm.com/v1/policies" \
     -H "Authorization: <Auth Token>" \
     -H 'Content-Type: application/json' \
     -d '{
      "description":"Reader and Delegator role for KeyProtect service instance",
      "resources": [{"attributes": [
            {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
            {"name": "serviceName","operator":"stringEquals","value":"kms"}]}],
      "roles": [
         {"role_id": "crn:v1:bluemix:public:iam::::role:AuthorizationDelegator"},
         {"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"}],
      "subjects": [
         {"name": "serviceName","value": "is"},
            {"name": "resourceType","value": "share"},
            {"name": "KeyUserAccountID","value": "a/a7654321"}],
      "type":"authorization"
   }'

使用API建立跨區域複製授權

IAM 原則管理 API 提出要求,以建立服務對服務授權,讓來源共用的地區檔案服務與抄本共用的地區檔案服務互動。

  • 授權 is.share (來源) 與具有 編輯者 角色的 is.share (目標) 互動。

    curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H
    'Authorization: Bearer $TOKEN' -H
    'Content-Type: application/json' -d
    '{
      "type": "access",
      "description": "Editor role for the source share's regional file service to interact with replica share's regional file service.",
      "subjects": [
        {"attributes": [
          {"name": "serviceName","value": "is"},
          {"name": "resourceType","value": "share"}]}],
      "roles":[
          {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}],
      "resources":[
          {"attributes": [
           {"name": "serviceName","value": "is"},
           {"name": "resourceType","value": "share"}]}]
      }'
    

如需相關資訊,請參閱 IAM 原則管理 的 API 規格。

使用 API 建立跨帳戶存取授權

此授權是用於建立存取者股份,並在不同帳戶之間共享資料。

作為共用擁有者,向 IAM Policy Management API 提出 API 請求,以建立允許存取者帳戶存取原始共用的授權。 以下範例顯示如何在原始共用帳戶 (來源) 和存取者帳戶 (目標) 之間建立服務對服務授權。

curl -X POST "https://iam.cloud.ibm.com/v1/policies" \
     -H "Authorization: <Auth Token>" \
     -H 'Content-Type: application/json' \
     -d '
       {"roles": [
          {"role_id": "crn:v1:bluemix:public:iam::::role:ShareBroker",
           "display_name": "Share Broker",
           "description": "As a share broker, you can create and delete share bindings"}
           ],
        "resources": [
            {"attributes": [
              {"name": "accountId","value": "<origin share owner Account ID>","operator": "stringEquals"},
              {"name": "serviceName","value": "is","operator": "stringEquals"},
              {"name": "shareId","value": "<OriginShareId>","operator": "stringEquals"}
              ]}],
        "type": "authorization",
        "description": "ShareBroker role for File Storage for VPC cross-account share access",
        "subjects": [{"attributes": [
            {"name": "serviceName","value": "is"},
            {"name": "resourceType","value": "share"},
            {"name": "accountId","value": "<accessor share Account ID>"}]}]
        }'

使用 Terraform 建立客戶管理加密的授權

使用 main.tf 檔案中的 ibm_iam_authorization_policy 資源引數,在檔案服務與金鑰管理服務之間建立授權原則。

下列範例會在套用檔案服務與 Key Protect 之間建立授權原則。

resource "ibm_iam_authorization_policy" "mypolicy4keyprotect" {
  source_service_name  = "is"
  source_resource_type = "share"
  target_service_name  = "kms"
  roles                = ["Reader"]
}

如需引數及屬性的相關資訊,請參閱 授權資源的 Terraform 文件

使用 Terraform 建立跨帳戶加密授權

  1. Terraform 支援為 IBM 提供者配置兩個不同的帳戶。 沒有別名的提供者會被視為預設提供者。 請參閱以下範例,其中指定了兩個 IBM 帳戶,而第二個帳戶使用別名 team_account。 該配置稍後稱為 ibm.team_account

    terraform {
      required_providers {
        ibm = {
          source = "IBM-Cloud/ibm"
          version = ">= 1.12.0"
        }
      }
    }
    provider "ibm" {
      ibmcloud_api_key = var.ibmcloud_api_key
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    provider "ibm" {
      alias = "team_account"
      ibmcloud_api_key = var.ibmcloud_api_key_second_account
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    

    如需引數及屬性的相關資訊,請參閱 IBM Cloud 提供者

  2. 若要在一個帳戶的檔案共用服務與另一個帳戶中的金鑰管理服務之間建立 IAM 授權,請使用資源 ibm_iam_authorization_policy。 以下範例是在某個帳戶的檔案服務與另一個帳戶的 Key Protect 服務之間建立授權。

    resource "ibm_iam_authorization_policy" "policy" {
        source_service_name = "is"
        source_resource_type = "share"
        source_service_account = "<fileshare-account-id>"
        target_service_name = "kms"
        target_resource_instance_id = ibm_kms_key.key.instance_id
        roles               = ["Reader"]
        description         = "Authorization Policy"
    }
    

    此 terraform 資源還必須包含提供者別名(在我們的範例中為 ibm.team_account )以及儲存加密金鑰的帳戶 ibmcloud_api_key

使用 Terraform 建立跨區域複製授權

使用 main.tf 檔案中的 ibm_iam_authorization_policy 資源引數,在不同地區的檔案服務之間建立授權原則。

resource "ibm_iam_authorization_policy" "mypolicy" {
  source_service_name  = "is"
  source_resource_type = "share"
  target_service_name  = "is"
  target_resource_type = "share"
  roles                = ["Editor"]
}

如需引數及屬性的相關資訊,請參閱 授權資源的 Terraform 文件

使用 Terraform 建立跨帳戶存取授權

此授權是用於建立存取者股份,並在不同帳戶之間共享資料。

  1. Terraform 支援為 IBM 提供者配置兩個不同的帳戶。 沒有別名的提供者會被視為預設提供者。 請參閱以下範例,其中指定了兩個 IBM 帳戶,而第二個帳戶使用別名 team_account。 該配置稍後必須稱為 ibm.team_account

    terraform {
      required_providers {
        ibm = {
          source = "IBM-Cloud/ibm"
          version = ">= 1.12.0"
        }
      }
    }
    provider "ibm" {
      ibmcloud_api_key = var.ibmcloud_api_key
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    provider "ibm" {
      alias = "team_account"
      ibmcloud_api_key = var.ibmcloud_api_key_second_account
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    

    如需引數及屬性的相關資訊,請參閱 IBM Cloud 提供者

  2. 若要在從一個帳戶到不同帳戶中的檔案共用服務之間建立 IAM 授權,請使用資源 ibm_iam_authorization_policy。 下列範例會在兩個帳戶的檔案服務之間建立授權。

    resource "ibm_iam_authorization_policy" "policy" {
        source_service_name = "is"
        source_resource_type = "share"
        source_service_account = "<ShareOwner-Account-id>"
        target_service_name = "is"
        target_resource_type = "share"
        target_service_account = "<Accessor-Account-id>"
        roles               = ["ShareBroker"]
        description         = "Authorization Policy"
    }
    

    或者

    resource "ibm_iam_authorization_policy" "policy1" {
     subject_attributes {
       name  = "accountId"
       value = data.ibm_iam_account_settings.iam.account_id
     }
     subject_attributes {
       name  = "serviceName"
       value = "is"
     }
     subject_attributes {
       name  = "resourceType"
       value = "share"
     }
     resource_attributes {
       name  = "shareId"
       operator = "stringEquals"
       value = data.ibm_share_id
     }
     resource_attributes {
       name  = "serviceName"
       operator = "stringEquals"
       value = "is"
     }
     resource_attributes {
       name  = "volumeId"
       operator = "stringExists"
       value = "true"
     }
     roles   = ["ShareBroker"]
     }
    

    這個 Terraform 資源也必須包含提供者別名 (在我們的範例中,是 ibm.team_account) 與原始共用所在的帳戶 ibmcloud_api_key

    如需引數及屬性的相關資訊,請參閱 ibm_iam_authorization_policy

後續步驟