IBM Cloud Docs
IBM Cloud Object Storage (COS) バケットの管理

IBM Cloud Object Storage (COS) バケットの管理

バケットにより、IBM Cloud Object Storage インスタンス内のデータを編成できます。

バケットを管理するには、IBM Cloud Object Storage インスタンス上のバケットで作業するための許可をユーザーに付与しなければなりません。 役割について詳しくは、ID およびアクセス管理の役割を参照してください。

バケットの作成

次のいずれかのオプションを選択して、バケットを作成します。

バケットリクエストの作成
アクション 詳細
IBM Cloud UI によるバケットの作成 詳細はこちら
IBM Cloud CLI によるバケットの作成 詳細はこちら
cURL を使用したバケットの作成 詳細はこちら
REST API を使用したバケットの作成 詳細はこちら
REST API を使用した別のストレージ・クラスでのバケットの作成 詳細はこちら
REST API を使用した Key Protect または Hyper Protect Crypto Services 管理の暗号鍵 (SSE-KP) でのバケットの作成 詳細はこちら
Terraform を使用したバケットの作成 詳細はこちら

バケットを作成するには、バケットを作成する予定の IBM Cloud Object Storage インスタンスに対する管理者またはライターの許可がユーザーになければなりません。

IBM Cloud UI によるバケットの作成

以下の手順を実行して IBM Cloud UI を使用してバケットを作成します。

  1. ナビゲーション・メニューから**「リソース・リスト」**を選択します。

  2. バケットの作成場所として計画している IBM Cloud Object Storage インスタンスを選択します。

  3. **「バケット」を選択します。 次に、「バケットの作成」**をクリックします。

    EU 管理下のロケーションでのアーカイブを構成している場合、EU 管理および GDPR の規制に準拠するようにバケットを構成する必要があります。 詳しくは、EU のサポートを参照してください。

  4. *「固有のバケット名」*フィールドでバケット名を入力します。

    注: 全世界のすべてのリージョンのすべてのバケットが、単一の名前空間を共有します。

  5. 回復力のタイプと、データを物理的に保管しようとしている場所を選択します。

    回復力 (レジリエンシー) とは、データが分散する地理的な領域の範囲や規模を指します。

    クロス・リージョンの回復力では、データが複数の都市圏の間に分散します。

    リージョンの回復力では、データが単一の都市圏全体に分散します。

    単一データ・センターでは、データは単一サイトのデバイス間のみに分散します。

    詳しくは、リージョンとエンドポイントの選択を参照してください。

  6. ストレージ・クラスのタイプを選択します。

    さまざまなストレージ・クラスのバケットを作成できます。 データを取得するための要件に基づいて、バケットのストレージ・クラスを選択します。 詳しくは、ストレージ・クラスの使用を参照してください。

    バケットがいったん作成されると、そのバケットのストレージ・クラスは変更できません。 オブジェクトを再分類する必要がある場合は、ご希望のストレージ・クラスの別のバケットにデータを移動する必要があります。

  7. オプションで、バケットに追加の暗号化を追加します。 例えば、バケットに Key Protect 鍵を構成して、保存されているデータを暗号化します。

    追加の暗号化を追加できるのは、バケットの作成時のみです。

    デフォルトでは、すべてのオブジェクトは、ランダムに生成される鍵と AONT (all-or-nothing-transform) を使用して暗号化されます。 保存されたデータのセキュリティーはこのデフォルトの暗号化モデルにより備えられますが、使用する暗号鍵を保有する必要のあるワークロードもあります。 詳しくは、暗号化の管理を参照してください。

IBM Cloud UI を使用したバケット構成の詳細の取得

ターゲットを構成するときには、バケット名とプライベート・エンドポイントが必要です。

以下の手順を実行して、IBM Cloud UI を使用してバケット構成の詳細を取得します。

  1. ナビゲーション・メニューから**「リソース・リスト」**を選択します。

  2. バケットの作成場所として計画している IBM Cloud Object Storage インスタンスを選択します。

  3. **「バケット」**を選択します。 次に、監査イベントの収集に使用するバケットを選択します。

  4. **「構成」**を選択します。 バケット名とプライベート・エンドポイントを探します。

バケットにアクセスするための API キーの生成

Activity Tracking は、アカウント内の監査イベントを収集するときに、API キーを使用してバケットにデータをアップロードします。 したがって、アカウント内に IBM Cloud Object Storage サービスを操作するための資格情報を定義する必要があります。

アカウント内に、監査イベントを収集してバケットに保管するためのリージョンを構成するには、バケットにオブジェクトをアップロードする権限を持つサービス資格情報が必要です。

サービス ID へのアクセス権限の付与の方法について詳しくは、サービス ID へのアクセス権限の付与を参照してください。

バケットの監査イベントの収集

IBM Cloud Logs サービスを使用して、ユーザーおよびアプリケーションが IBM Cloud Object Storage (COS) とどのような対話を実行したのかを追跡できます。 バケットおよびそのオブジェクト用に生成される監査イベントについて詳しくは、Activity Tracker イベントを参照してください。

バケットの監査イベントを収集するには、以下の情報を考慮してください。

  • アカウント内の監査イベントの収集はオプションです。
  • 管理イベント、または管理イベントとデータ・イベントを有効にするには、各バケットを構成する必要があります。 バケットでデータ・イベントのみを有効にすることはできないことに注意してください。
  • 管理イベントを監視するには、バケットを構成し、それらのイベントが収集され転送される IBM Cloud Logs インスタンスを指定する必要があります。
  • データ・イベントをモニターするには、オプション**「データ・イベントの追跡 (Track data events)」を選択する必要があります。 次に、読み取り書き込み、または読み取り & 書き込み**を選択して、オブジェクトがバケットからアップロードまたはダウンロードされたときにイベントを収集します。

バケットがあるリージョンで Activity Tracking を構成した後、監査イベントの収集を有効にします。

バケット内のオブジェクトのリスト表示

以下のいずれかの方法を選択して、バケット内のオブジェクトをリストできます。

IBM Cloud UI による特定のバケット内のオブジェクトのリスト表示

以下の手順を実行して、IBM Cloud UI を使用してバケット内のオブジェクトをリストします。

  1. ナビゲーション・メニューから**「リソース・リスト」**を選択します。

  2. バケットを使用できる IBM Cloud Object Storage インスタンスを選択します。

  3. **「バケット」**を選択します。

  4. バケットを選択します。 オブジェクトのリストが表示されます。

バケットへのアクセスの管理

Object Storage サービスを操作するためのアクセス権限は、IBM Cloud Identity and Access Management (IAM) によって制御されます。

アカウントの Object Storage サービスにアクセスするすべてのユーザーまたはサービス ID に、IAM 役割を定義したアクセス・ポリシーを割り当てる必要があります。 そのポリシーによって、選択したサービスまたはインスタンスのコンテキスト内でユーザーまたはサービス ID が実行できるアクションが決まります。 許可されるアクションは、サービス上で実行できる操作として、IBM Cloud サービスによってカスタマイズされて定義されます。 その後、アクションは IAM 役割にマップされます。

ポリシーを定義するには、まずスコープを設定する必要があります。 以下のいずれかのコンテキストで、アクセス権限を付与するポリシーを定義できます。

  • アカウント内のサービスのすべてのインスタンス間
  • アカウント内の個々のサービス・インスタンス
  • インスタンス内の特定のバケット
  • アカウント内のすべての IAM 対応サービス

アクセス・ポリシーの有効範囲を定義した後で、役割を割り当てる必要があります。

IAM ポリシーは、最高レベルのアクセス権限から、最も制限されるレベルまで階層的に適用されます。 競合がある場合は、より権限が容認されるポリシーのほうに解決されます。 例えば、あるユーザーにバケットに対するWriterReaderの両方のサービス・アクセス役割がある場合、Readerの役割を付与しているポリシーは無視されます。 これは、サービス・インスタンスおよびバケット・レベル・ポリシーにも適用されます。以下に例を示します。

  • ユーザーが、サービス・インスタンスに対するWriterの役割と単一バケットに対するReaderの役割を付与するポリシーを保持している場合、バケット・レベルのポリシーは無視されます。
  • ユーザーが、サービス・インスタンスに対するReaderの役割と単一バケットに対するWriterの役割を付与するポリシーを保持している場合、両方のポリシーが適用され、個々のバケットに対しては、より権限が容認されるWriterの役割が優先されます。

ポリシーと権限を作成するIAM権限を持っている場合、対象サービスのユーザーとして持っているレベルのアクセスのみを付与することができます。 例えば、対象サービスのビューアアクセスを持っている場合、ビューアロールのみを権限に割り当てることができます。 Administratorなどの上位の権限を割り当てようとすると、権限が付与されているように見えるかもしれませんが、対象のサービスに対して持っている最上位の権限(ビューア)しか割り当てられません。

アクセスを単一のバケットに制限するには、ユーザーまたはサービス ID がインスタンス・レベルのポリシーを持たないようにしてください。

バケットのヘルスのモニタリング

IBM Cloud® Monitoring サービスを使用して、Object Storage の IBM Cloud (COS) をモニターできます。 詳細はこちらをご覧ください

バケットを管理するための CLI コマンド

バケットを操作する場合に、以下のコマンドが役立つ場合があります。

CLI を使用した、アカウントにバケットが存在するかどうかの確認

以下のコマンドを実行して、アカウント内の IBM Cloud Object Storage インスタンスにバケットが存在するかどうかを判別します。

ibmcloud cos bucket-head --bucket BUCKET_NAME

ここで、BUCKET_NAME はバケットの名前です。