IBM Cloud Docs
File Storage for VPC のサービス間許可を確立しています

File Storage for VPC のサービス間許可を確立しています

Cloud Identity and Access Management (IAM)を使用して、あるサービスに別のサービスへのアクセスを許可する権限を作成または削除できます。 File Storage for VPCでは、お客様管理の暗号化を構成し、地域間複製をセットアップするためのサービス間許可を作成する必要があります。

概要

許可におけるソース・サービスとは、ターゲット・サービスへのアクセス権限を付与されたサービスです。 選択した役割によって、ソース・サービスのアクセス・レベルが定義されます。 ターゲット・サービスとは、割り当てる役割に基づいて、ソース・サービスがアクセスする許可を付与するサービスです。 一般的に、ソース・サービスは、認可が作成されたのと同じアカウントにあることもあれば、別のアカウントにあることもある。 ターゲット・サービスは常に、許可が作成されたアカウント内にあります。

カスタマ・ルート鍵(CRK)で暗号化ファイル共有を作成するには、まずCRKを保持する鍵管理サービス(KMS)のインスタンスが必要です。 Key Protect または Hyper Protect Crypto Services のどちらかを選択できる。 次に、ファイル・サービスとKMSインスタンス間のサービス間認証を確立する必要がある。 認証は、カスタマ・ルート・キーを所有しホストするアカウントで作成されなければならない。 CRKを保持するアカウントがソースで、ファイル共有を作成するアカウントがターゲットである。

クロスリージョン・レプリケーションを行うには、異なるVPC内のさまざまな File Storage サービス・インスタンスに対して、サービス間の権限設定を行い、 ユーザー・ロールを 指定する必要があります。 この認証により、ある VPC の File Storage サービスが別の VPC の File Storage サービスと相互作用できるようになります。 両方の VPC が同じアカウントに属している必要があります。 アカウント間の複製はサポートされていません。 詳細については、レプリケーションの概要

クロスアカウント・アクセスでは、2つの異なるアカウントの File Storage サービス間でサービス間認証を確立する必要がある。 この認証は、ファイル共有を所有しホストしているアカウントで作成する必要があります。 また、アクセサー共有と共有バインディングを作成および管理できるように、両方のアカウントで ユーザーロールを 指定する必要があります。 詳細については、 別のアカウントからのファイル共有の共有とマウントを 参照してください。

許可について詳しくは、 許可を使用したサービス間のアクセス権限の付与 を参照してください。

コンソールで顧客管理暗号化の認可を作成する

  1. IBM Cloud コンソールで、鍵管理サービス(KMS)とカスタマ・ルート鍵(CRK)があるアカウントにログインする。
  2. **「管理」>「アクセス (IAM)」**に移動します。
  3. サイド・パネルから、権限を選択します。
  4. 許可の管理」ページで、作成をクリックします。
  5. 「ソース」 セクションで、 「ソース・アカウント」 を選択します。 このアカウントは、CRKを使用して顧客管理の暗号化されたファイル共有を作成するためのものです。
    • 別のアカウントのファイル共有を暗号化するために、このアカウントからのCRKの使用を許可するには、 [特定のアカウント ]を選択し、ファイルサービスのアカウントの32文字のアカウントIDを入力します。 そして、「次へ (Next)」 をクリックします。
    • それ以外の場合は、 「このアカウント」 を選択します。 そして、「次へ (Next)」 をクリックします。
  6. ソース・サービスとして、リストから 「VPC インフラストラクチャー・サービス」 を選択します。 **「次へ」**をクリックします。
    1. 「特定のリソース」 をクリックしてスコープを選択します。
    2. 属性の選択 」をクリックします。
    3. リストから 「リソース・タイプ」 を選択します。
    4. 次のフィールドで、 File Storage for VPC を選択します。
    5. 次へ をクリックします。
  7. ターゲット・サービスとして、リストから Hyper Protect Crypto Services または 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. 「許可」 をクリックします。

コンソールでクロスアカウントアクセスの認可を作成する

  1. IBM Cloud コンソールで、ファイル共有があるアカウントにログインする。
  2. **「管理」>「アクセス (IAM)」**に移動します。
  3. サイド・パネルから、権限を選択します。
  4. 許可の管理」ページで、作成をクリックします。
  5. 「ソース」 セクションで、 「ソース・アカウント」 を選択します。
    • 別のアカウントがファイル共有上のデータにアクセスできるようにするには、 「特定のアカウント」 を選択し、32 文字の長さのアカウント ID を入力します。 そして、「次へ (Next)」 をクリックします。
    • 同じアカウントにアクセサー共有を作成する場合は、 「次のアカウント」 を選択します。 そして、「次へ (Next)」 をクリックします。
  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. リストから、[ Source service instance ]を選択します。
    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 サービスが、1 つまたは両方の鍵管理サービス( Key Protect または Hyper Protect Crypto Services )のインスタンスとやり取りするための認可ポリシーを作成する。 ソース・サービスは --source-resource-type share を持つ is で、ターゲット・サービスは kms または hs-crypto のいずれかです。 割り当てる必要がある役割は Reader です。 次の例では、 File Storage Service と 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 または Hyper Protect Crypto Servicesに保管されている CRK を使用してファイル共有を暗号化できることを示しています。

$ ibmcloud iam authorization-policies
Getting authorization policies under account a1234567 as test.user@ibm.com...
OK

ID:                        8a2ef8a5-2e4c-46ea-b2e7-d4b0d0a0e1a5
Source service name:       is
Source service instance:   All instances
Source resource type:      share
Target service name:       hs-crypto
Target service instance:   All instances
Roles:                     Reader

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 または Hyper Protect Crypto Services )のインスタンスを保持するアカウントにログインする。 ibmcloud iam authorization-policy-create コマンドを実行して、File サービスが KMS とやり取りするための認可ポリシーを作成する。 ソース・サービスは --source-resource-type share を持つ is で、ターゲット・サービスは kms または hs-crypto のいずれかです。 割り当てる必要がある役割は Reader です。 次の例は、 KeyUserAccount の File サービスと、 KeyOwnerAccount の Key Protect インスタンスとの間に認可ポリシーを作成します。

  1. ローカルの Documents フォルダに、認可ポリシーに関する以下の情報を含む JSON ファイルを作成します。
    '{
       "description":"Reader and Delegator role for HPCS service instance",
       "resources": [{"attributes": [
             {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
             {"name":"Hyper-Protect-Crypto-Services","operator":"stringEquals","value":"hs-crypto"}]}],   
       "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の共有物を暗号化できる。 しかし、Account Aは、Account Bのルート鍵を使用してAccount 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 を参照してください。

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": "share"},
             {"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. 次に、JSON ファイルを指定して CLI コマンドを実行し、許可ポリシーを作成します。

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

APIを使用した顧客管理暗号化の認可の作成

ファイル・サービスが鍵管理サービス・インスタンス( Key Protect または Hyper Protect Crypto Services )にアクセスすることを認可するには、 IAM Policy Management API に API リクエストを行い、サービス間認可を作成する。

  • 以下の例は、File サービス 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の許可ポリシーを作成するには、前の例の kmshs-crypto に置き換えます。

APIを使用したクロスアカウント暗号化のための認証の作成

別のアカウントのファイル・サービスが鍵管理サービス・インスタンス( Key Protect または Hyper Protect Crypto Services )にアクセスすることを認可するには、 IAM Policy Management 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 HPCS service instance",
      "resources": [{"attributes": [
            {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
            {"name":"Hyper-Protect-Crypto-Services","operator":"stringEquals","value":"hs-crypto"}]}],   
      "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 Policy Management の API 仕様を参照してください。

APIを使用したクロスアカウントアクセスの認証の作成

共有の所有者として、 IAM ポリシー管理 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": "share"},
            {"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"]
}

以下の例では、適用時にファイル・サービスと Hyper Protect Crypto Services の間の許可ポリシーを作成します。

resource "ibm_iam_authorization_policy" "mypolicy4HPCS" {
  source_service_name  = "is"
  source_resource_type = "share"
  target_service_name  = "hs-crypto"
  roles                = ["Reader"]
}

引数および属性について詳しくは、 許可リソースの Terraform 資料を参照してください。

Terraformでクロスアカウント暗号化の認可を作成する

  1. Terraform は、 IBM プロバイダー用の 2 つの異なるアカウントの構成をサポートしています。 別名を持たないプロバイダーは、デフォルト・プロバイダーと見なされます。 以下の例を参照してください。ここでは、2 つの IBM アカウントが指定され、2 番目のアカウントには別名 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」を使用する。 以下の例は、あるアカウントのファイルサービスと、別のアカウントのHyper Protect Crypto Servicesサービスとの間に認可を作成するものである。

    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  = "accountId"
       value = data.ibm_iam_account_settings.iam.ibm.team_account_id
     }
     resource_attributes {
       name  = "Hyper-Protect-Crypto-Services"
       operator = "stringEquals"
       value = "hs-crypto"
     }
     roles   = ["Reader"]
     }
    

    次の例は、あるアカウントのファイル・サービスと、別のアカウントの 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 プロバイダー用の 2 つの異なるアカウントの構成をサポートしています。 別名を持たないプロバイダーは、デフォルト・プロバイダーと見なされます。 以下の例を参照してください。ここでは、2 つの IBM アカウントが指定され、2 番目のアカウントには別名 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 を使用します。 以下の例では、2 つのアカウントのファイル・サービス間で許可を作成します。

    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 リソースには、起点共有が存在するアカウント ibmcloud_api_key を持つプロバイダー別名 (この例では ibm.team_account) も含まれている必要があります。

    引数および属性について詳しくは、 ibm_iam_authorization_policyを参照してください。

次のステップ