Oracle Cloud Infrastructureドキュメント

バケットの管理

Oracle Cloud Infrastructure Object Storageサービスでは、バケットはオブジェクト・ストレージ・ネームスペース内のコンパートメントにオブジェクトを格納するためのコンテナです。 バケットは単一のコンパートメントに関連付けられています。 コンパートメントには、ユーザーがバケットとバケット内のすべてのオブジェクトに対して実行できるアクションを示すポリシーがあります。

バケットには他のバケットを入れることはできません。

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者が作成するポリシーで、コンソールまたはSDK、CLIまたはその他のツールを使用したREST APIのどちらを使用しているかにかかわらず、必要なタイプのアクセスを付与する必要があります。 アクションを実行しようとしたときに、権限のないメッセージや権限のないメッセージを取得する場合は、管理者に付与されているアクセスのタイプと作業するコンパートメントを確認してください。

新しいポリシーの場合は、「ポリシーの開始」「共通ポリシー」を参照してください。

管理者の場合:

事前認証済リクエスト

事前認証済リクエストは、ユーザーが独自の資格証明を持たずにバケットまたはオブジェクトにアクセスできるようにします。 たとえば、ユーザーがAPIキーを所有せずにバケットにバックアップをアップロードできるようにするリクエストを作成できます。 詳細については、「事前認証済リクエストの使用」を参照してください。

オブジェクト・ライフサイクル・ポリシー

バケット・レベルで適用されるオブジェクト・ライフサイクル・ポリシーを使用して、事前定義済スケジュールに従ってオブジェクトのアーカイブおよび削除を自動的に管理できます。 この機能の詳細は、「オブジェクト・ライフサイクル管理の使用」を参照してください。

リソースのタギング

リソースにタグを追加して、ビジネス・ニーズに応じた整理に役立てることができます。 リソースの作成時にタグを追加するか、後で目的のタグを使用してリソースを更新できます。 タグの適用に関する一般的な情報は、「リソース・タグ」を参照してください。

「オブジェクト・ストレージ」では現在、バケットへのタグの追加がサポートされています。

リソースのモニター

Oracle Cloud Infrastructureリソースのヘルス、容量、およびパフォーマンスをモニターするには、メトリック、アラーム、および通知を使用します。 詳細は、「モニタリング概要」および「通知概要」を参照してください。

バケットのモニターの詳細は、「オブジェクト・ストレージ・メトリック」を参照してください。

「イベント」サービスを使用したバケットおよびオブジェクトの自動化の作成

イベント・タイプ、ルールおよびアクションを使用して、Oracle Cloud Infrastructureリソースに対する状態変更に基づいて自動化を作成できます。 詳細は、「イベントの概要」を参照してください。

バケットは、デフォルトでバケットの状態変更に対してイベントを発行します。 オブジェクトのイベントは、他のリソースとは異なる方法で処理されます。 オブジェクトは、デフォルトではイベントを発行しません。 バケットでオブジェクト状態の変更に関するイベントを発行できるようにするには、コンソールCLIまたはAPIを使用します。 バケットの作成時または作成後にオブジェクト状態の変更に対してイベントを有効にできます。

バケット名

バケット名はデフォルトで生成されるシステムですが、指定した名前でデフォルトを上書きできます。

システム生成バケット名

バケットが作成されると、そのバケットのデフォルト名(bucket-20190306-1359など)が生成されます。 このバケット名は、バケットが作成された現在の年、月および日を識別します。 そのシステム生成名を新しいバケットに使用することも、別の名前を指定することもできます。

ユーザー指定バケット名

このデフォルトのバケット名またはバケット名を変更する場合は、次のことを確認してください:

  • 1〜256文字で使用します。
  • 有効な文字は、文字(大文字または小文字)、数字、ハイフン、アンダースコア、およびピリオドです。

    重要

    バケット名とオブジェクト名では、大文字と小文字が区別されます。
    オブジェクト・ストレージは、accounts-payableとAccounts-Payableを個別のバケットとして処理します。

  • 機密情報は含めないでください。
  • あなたのテナンシ・オブジェクト・ストレージ・ネームスペース内で一意の名前にします。

ストレージ層

バケットを作成するときに、オブジェクトを格納するときに適切な層も決定します:

重要

バケットが存在するストレージ層は変更できません。

パブリック・バケット

バケットを作成する場合、バケットはプライベート・バケットとみなされ、バケットとその内容へのアクセスには認証と認可が必要です。 ただし、オブジェクト・ストレージは、バケットへの匿名の認証されていないアクセスをサポートしています。 バケットへの読み取りアクセスを有効にして、バケットpublicを作成します。

重要

バケットへのパブリック・アクセスのビジネス要件を慎重に評価します。
バケットへの匿名アクセスを有効にすると、ユーザーはオブジェクト・メタデータの取得、バケット・オブジェクトのダウンロード、オプションでバケット内容のリストを行うことができます。

必要な権限

パブリック・バケットを構成するには、次の権限が必要です:

  • バケットを作成するときにパブリック・アクセスを有効にするには、permission BUCKET_CREATEを使用します。
  • 既存のバケットのパブリック・アクセスを有効にするには、permission BUCKET_UPDATEを使用します。

オプション

パブリック・バケットを作成するときは、次のオプションがあります:

  • オブジェクトのリストおよびダウンロードを許可するようにアクセスを構成できます。 リストとダウンロードのアクセスがデフォルトです。
  • オブジェクトのダウンロードのみを許可するようにアクセスを構成できます。 ユーザーはバケットのコンテンツをリストできません。

スコープと制約

パブリック・アクセスに関する以下の範囲と制約を理解します:

  • アクセスのタイプを変更することは双方向です。 バケット・アクセスは、パブリックからプライベートに、またはプライベートからパブリックに変更できます。
  • アクセスのタイプを変更しても、既存の事前認証済リクエストには影響しません。 既存の事前認証済リクエストは引き続き機能します。

コンソール、CLI、またはSDKを使用してAPIにアクセスすると、新しいバケットまたは既存のバケットに匿名パブリック・アクセスを有効にできます。

コンソールを使用した場合

バケットのリストを取得するには
バケットを作成するには
バケット詳細を表示するには
バケットの表示の変更
バケットを別のコンパートメントに移動するには
バケットのタグを管理するには
バケットを削除するには
バケットにキー管理マスター暗号化キーを割り当てるには
バケットからキー管理マスター暗号化キーを削除するには
バケット・データ暗号化キーを再暗号化するには
バケット内の近似バケット・サイズおよびオブジェクト数を表示するには
オブジェクト状態変更に対するイベントの発行を有効または無効にするため

コマンド・ライン・インタフェース(CLI)の使用

CLIの使用方法については、「コマンド・ライン・インタフェース(CLI)」を参照してください。 CLIコマンドで使用可能なフラグおよびオプションの完全なリストについては、「CLIヘルプ」を参照してください。

バケットのリストを取得するには
標準のオブジェクト・ストレージ層バケットを作成するには
アーカイブ層バケットを作成するには
バケット・オブジェクトのリストとダウンロードを可能にするパブリック・バケットを作成するには
バケット・オブジェクトのみをダウンロードできるパブリック・バケットを作成するには
リソース・タグを含むバケットを作成するには
バケット詳細を表示するには
バケット・メタデータを表示するには
カスタム・メタデータのKey-Valueペアをバケットに追加するには
バケットを非公開または公開にするには
バケットを別のコンパートメントに移動するには
リソース・タグをバケットに追加するには
バケットを削除するには
キー管理キーをバケットに割り当てるには
バケットに割り当てられたキー管理キーを更新するには
バケットに割り当てられているキー管理キーを削除するには
バケット内の近似バケット・サイズおよびオブジェクト数を表示するには
オブジェクト状態変更に対するイベントの発行を有効または無効にするため

APIの使用

APIおよび署名リクエストの使用については、REST APIおよび「セキュリティ資格証明」を参照してください。 SDKの詳細は、「ソフトウェア開発キットとコマンドライン・インタフェース」を参照してください。

「オブジェクト・ストレージ」 APIにアクセスする場合、バケット名と「オブジェクト・ストレージ」ネームスペース名を使用してリクエストURLが形成されます:

n/<object_storage_namespace>/b/<bucket>

バケットを管理するには、次の操作を使用します:

ノート

CreateBucketおよびUpdateBucket APIには、次の2つの主要なプロパティがあります:

  • publicAccessTypeプロパティは、バケットがプライベートかパブリックかを制御し、パブリック・バケットのコンテンツをリストする機能を制限します。
  • objectEventsEnabledプロパティは、このバケットのオブジェクトに対してイベントを発行するかどうかを制御します。