IBM Cloud Docs
イメージをインポートおよびエクスポートするための IBM Cloud Object Storage へのアクセス権限の付与

copyright: years: 2019, 2025 lastupdated: "2024-02-22"

keywords: IBM Cloud Object Storage の権限作成、VPCインフラストラクチャへの画像のインポート、仮想サーバーの移行、インスタンスの移行

subcollection: vpc


イメージをインポートおよびエクスポートするための IBM Cloud Object Storage へのアクセス権限の付与

カスタム・イメージを IBM Cloud VPCにインポートしたり、カスタム・イメージを IBM Cloud VPCからエクスポートしたりするには、 IBM Cloud® Object Storage のインスタンスが必要です。 使用可能。 また、イメージを保管するためのバケットを IBM Cloud Object Storage 内に作成する必要もあります。 最後に、 VPC用イメージサービスが IBM Cloud Object Storage にアクセスできるように認証を作成する必要があります。

IBM Cloud Object Storage サービス・インスタンスの作成

IBM Cloud Object Storage のインスタンスを作成する必要がある場合は、IBM Cloud Object Storage の概要を参照してください。

IBM Cloud Identity and Access Management から、VPCのイメージサービスが IBM Cloud Object Storage にアクセスできるように、認証を作成する必要があります。

許可の作成

Image Service for VPC がターゲット・サービス IBM Cloud Object Storageにアクセスすることを許可するには、 許可 を作成する必要があります。 イメージをインポートするには、 IBM Cloud Object Storageのリーダーのサービス・アクセス役割を指定する必要があります。 イメージをエクスポートするには、 IBM Cloud Object Storageのライターのサービス・アクセス役割を指定する必要があります。 IBM Cloud Object Storageのリーダーとライターの両方のサービス・アクセス役割を使用して、イメージのインポートとエクスポートを行うことができます。

UI を使用したリーダーおよびライターのアクセス権限の付与

IBM Cloud Object Storage サービス・インスタンスからイメージをインポートして、 IBM Cloud Object Storage サービス・インスタンスにイメージをエクスポートするための Image Service for VPC の許可を作成するには、以下の手順を実行します。

  1. IBM Cloud コンソール のメニュー・バーから、 「管理」>「アクセス (IAM)」 をクリックし、 「許可」 を選択します。

  2. 「権限の管理」ページで 、「作成」 をクリックします。

  3. 「ソース・アカウント」 を選択します。 デフォルトでは 、このアカウントが選択されています。 次へ をクリックします。

  4. 承認を行うソースサービスを選択します。 ソースサービスとして VPCインフラストラクチャサービスを指定します。 **「次へ」**をクリックします。

  5. リソース」については、アクセス範囲をどのようにするか選択する。

    1. 特定のリソースを選択します。
    2. Specific resources]で[ Resource type ]と[ **Image service for VPC]**を選択します。
    3. 次へ をクリックします。
  6. ターゲットサービスを選択します。 Cloud Object Storage。 **「次へ」**をクリックします。

  7. Resources(リソース)」については、アクセス範囲を指定します。 デフォルトの選択「すべてのリソース」 を使用することができます。 **「次へ」**をクリックします。

    IBM Cloud Object Storage内の特定のリソースへのアクセスのスコープを設定する場合は、 「選択した属性に基づくリソース」 を選択できます。 次に、必要に応じてアクセス権限を絞り込むための選択を行います。

  8. Roles(役割)」で、サービスアクセスの役割である「Reader(リーダー)」と「Writer(ライター)」 の両方を選択します。

  9. レビュー(Review)をクリックして、選択した内容が正しいことを確認してください。

  10. 「許可」 をクリックします。

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

CLI からすべてのバケットに対するリーダーおよびライターのアクセス権限を付与する

IBM Cloud Object Storage内のすべてのバケットに対するアクセス権限を ReaderWriter の両方に付与するには、 iam authorization-policy-create コマンドを実行します。 以下のコマンドは、Image Service for VPC が IBM Cloud Object Storage サービス・インスタンス内の任意のバケットからイメージをインポートし、 IBM Cloud Object Storage サービス・インスタンス内の任意のバケットにイメージをエクスポートすることを許可します。

ibmcloud iam authorization-policy-create is cloud-object-storage Reader,Writer --source-resource-type image

細については、 ibmcloud iam authorization-policy-createを参照してください。

CLI から特定のバケットへのアクセス権限の付与

IBM Cloud Object Storage内の特定のバケットに許可を付与することを選択できます。 以下の例では、 IBM Cloud Object Storageからイメージをインポートするために、特定のバケットへのアクセス権限を Reader に付与する方法について説明します。 イメージを IBM Cloud Object Storageにエクスポートするには、 Writer アクセス権限も付与する必要があります。

コマンドを実行する前に、 IBM Cloud Object Storage サービスインスタンスのGUIDを知っておく必要があります。

  1. GUID を取得するには、 ibmcloud resource service-instance コマンドを使用します。 以下の例を参照してください。

    $ ibmcloud resource service-instance cos-fs-cloud-us-south
    Retrieving service instance cos-fs-cloud-us-south in all resource groups under account Test Account as test.user@ibm.com...
    OK
    
    Name:                  cos-fs-cloud-us-south
    ID:                    crn:v1:bluemix:public:cloud-object-storage:global:a/a1234567:0e4a33e6-973e-42b6-bea4-ce1b3aebe163::
    GUID:                  0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Location:              global
    Service Name:          cloud-object-storage
    Service Plan Name:     standard
    Resource Group Name:   defaults
    State:                 active
    Type:                  service_instance
    Sub Type:
    Locked:                false
    Created at:            2021-07-27T14:40:45Z
    Created by:            IBMid-12345678
    Updated at:            2021-07-27T14:40:47Z
    Last Operation:
                           Status    create succeeded
                           Message   Completed create instance operation
    
  2. 次のコマンドを実行し、 $COS_INSTANCE_GUIDGUID の値に置き換えてください。

    ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUID
    

    正常な応答は、次の例のようになります。

    $ ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id 0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Creating authorization policy under account a1234567 as test.user@ibm.com...
    OK
    Authorization policy 0bbcb168-bf7b-4ebf-9684-769f1d7e80e7 was created.
    
    ID:                        0bbcb168-bf7b-4ebf-9684-769f1d7e80e7
    Source service name:       is
    Source service instance:   All instances
    Source resource type:      image
    Target service name:       cloud-object-storage
    Target service instance:   0e4a33e6-973e-42b6-bea4-ce1b3aebe163
    Roles:                     Reader
    

このコマンドで使用可能なすべてのパラメータの詳細については、 ibmcloud iam authorization-policy-create

API を使用したアクセス権限の付与

ソース・サービスからターゲット・サービスへのアクセスを許可するには、IAM Policy Management API を使用します。 type=authorization を指定してポリシー・メソッドを作成する方法については、次の API の例を参照してください。 使用可能なすべての属性がリストされています。

許可ポリシーの作成でサポートされる属性は、それぞれのサービスが何をサポートしているかによって異なります。 それぞれサービスでサポートされる属性について詳しくは、使用するサービスの資料を参照してください。

この例は、Image Service for VPC が IBM Cloud Object Storageにアクセスするための許可ポリシーを示しています。

curl --location --request POST 'https://iam.cloud.ibm.com/v1/policies' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <iam token>' \
--data-raw '{
    "type": "authorization",
    "subjects": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "value": "$ACCOUNT_ID"
                },
                {
                    "name": "serviceName",
                    "value": "is"
                },
                {
                    "name": "resourceType",
                    "value": "image"
                }
            ]
        }
    ],
    "roles": [
        {
            "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
        },
        {
            "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
        }
    ],
    "resources": [
        {
            "attributes": [
                {
                    "name": "accountId",
                    "value": "$ACCOUNT_ID"
                },
                {
                    "name": "serviceName",
                    "value": "cloud-object-storage"
                }
            ]
        }
    ]
}'

Terraformでアクセス権を付与する

IBM Cloud Object Storage のサービス間認証ポリシーを作成するには、 main.tf ファイルで ibm_iam_authorization_policy リソース引数を使用します。

resource "ibm_iam_authorization_policy" "policy" {
  source_service_name  = "is"
  source_resource_type = "image"
  target_service_name  = "cloud-object-storage"
  roles                = ["Reader","Writer"]
  description          = "Authorization Policy"
}

引数と属性の詳細については 、Terraformの認証リソースに関するドキュメントを参照してください。

次のステップ

Image Service for VPCが IBM Cloud Object Storage 内のイメージにアクセスしたり、 IBM Cloud Object Storage にイメージをエクスポートしたりできるようにするための手順が完了したら、次のいずれかのトピックに進んでください