1 Object Storage Classicの使い方
このセクションでは、Oracle Cloud Infrastructure Object Storage Classicを使い始める方法について説明します。
トピック:
- Oracle Cloud Infrastructure Object Storage Classicについて
- Oracle Cloud Infrastructure Object Storage Classicを使用する前に
- Oracle Cloud Infrastructure Object Storage Classicスタート・ガイド・ワークフロー
- Oracle Cloud Infrastructure Object Storage Classicのサブスクリプション方法
- Object Storage Classicインスタンスのレプリケーション・ポリシーについて
- Oracle Cloud Infrastructure Object Storage Classicへのアクセス
- Oracle Cloud Infrastructure Object Storage Classicのロールとユーザーについて
- アクセス制御リストについて
このドキュメントおよびOracle Cloudライブラリ内の他のドキュメントで使用される用語の定義は、『Oracle Cloudスタート・ガイド』のOracle Cloudの用語に関する項を参照してください。
Object Storage Classicへのインタフェース
次の表は、Oracle提供のOracle Cloud Infrastructure Object Storage Classicインタフェースをまとめたものです。
注意:
オラクル社は、特定のサード・パーティ製品をOracle Cloud Infrastructure Object Storage Classicで使用することを認定しています。 詳細は、「認定されているサード・パーティ製品」を参照してください。| インタフェース | 説明 | 詳細情報 |
|---|---|---|
|
Webコンソール (Oracle Cloud at Customerでは使用できません) |
サービス・インスタンス、コンテナおよびオブジェクトを管理するためのWebベースのコンソール。 |
|
|
RESTful WebサービスAPI |
Oracle Cloud Infrastructure Object Storage Classicは、OpenStack Swiftと互換性のあるREST APIを提供します。 次の主要な追加が行われています。
Oracle Cloud Infrastructure Object Storage Classicは次のOpenStack Swift機能をサポートしていません:
RESTful WebサービスAPIは、HTTPS上でのみ使用可能です。 |
|
|
Oracle Cloud Infrastructure Storage Software Appliance (Oracle Cloud at Customerでは使用できません) |
Oracle Cloud Infrastructure Storage Software Applianceは、社内にインストールして、オンプレミスのアプリケーションとワークフローをOracle Cloud Infrastructure Object Storage Classicに簡単に接続するために使用できるツールです。 |
|
|
Oracle Cloud Infrastructure Object Storage Classicファイル転送マネージャAPI |
Oracle Cloud Infrastructure Object Storage Classic File Transfer Manager APIは、Oracle Cloud Infrastructure Object Storage Classic内の |
|
|
Oracle Cloud Infrastructure Object Storage Classic CLI |
Oracle Cloud Infrastructure Object Storage Classic CLIは、さまざまなサイズのオブジェクトをOracle Cloud Infrastructure Object Storage Classicの |
|
|
Javaライブラリ |
RESTful WebサービスAPIをラップするJavaライブラリ。 Javaライブラリでは、RESTful WebサービスAPIの主要な機能のほとんどをサポートしています。 Javaライブラリでは、クライアント側暗号化ユーティリティも提供します。 |
Object Storage Classicのインタフェースでサポートされているタスク
次の表を参考にして、Oracle Cloud Infrastructure Object Storage Classicのインタフェースを選択してください。 「対応」は、そのインタフェースを使用してタスクを実行できることを示します。
| タスク | Web Console(Not available on Oracle Cloud at Customer) | RESTful API | Javaライブラリ | Storage Software Appliance 1.4(Not available on Oracle Cloud at Customer) | FTM API (バージョン2.4) | FTM CLI (バージョン2.4) |
|---|---|---|---|---|---|---|
|
アカウント・メタデータの設定 |
Yes |
Yes |
No |
No |
Yes |
Yes |
|
アカウント・メタデータの取得 |
Yes |
Yes |
No |
No |
Yes |
Yes |
|
コンテナの作成 |
Yes |
Yes |
Yes |
Yes 「注意」を参照してください。 |
Yes |
Yes |
|
|
Yes |
Yes |
No |
Yes |
Yes |
Yes |
|
コンテナの削除 |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
|
コンテナのリスト |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
|
コンテナのカスタム・メタデータの設定 |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
|
コンテナACLの設定 |
Yes |
Yes |
Yes |
No |
Yes |
Yes |
|
コンテナ割当て制限の設定 |
Yes |
Yes |
No |
No |
Yes |
Yes |
|
コンテナのレプリケーション・ポリシーの設定 |
No |
Yes |
No |
No |
Yes |
Yes |
|
コンテナ・メタデータの取得 |
Yes |
Yes |
No |
No |
Yes |
Yes |
|
コンテナ内のオブジェクトを不変にする |
No |
Yes |
No |
No |
Yes |
Yes |
|
|
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
|
Yes |
Yes |
No |
No |
Yes |
Yes |
|
複数のオブジェクトの並行アップロード |
No |
No |
No |
Yes |
Yes |
Yes |
|
オブジェクトのリスト |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
オブジェクトの削除 |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
単一操作での複数のファイルのアップロード |
No |
Yes |
No |
No |
Yes |
Yes |
|
単一操作での複数のオブジェクトの削除 |
No |
Yes |
No |
No |
Yes |
Yes |
|
オブジェクトのダウンロード |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
|
複数のオブジェクトのダウンロード |
No |
No |
No |
Yes |
Yes |
Yes |
|
オブジェクトのカスタム・メタデータの更新 |
No |
Yes |
Yes |
No |
Yes |
Yes |
|
オブジェクトの特殊なメタデータの更新 |
No |
Yes |
No |
No |
Yes |
Yes |
|
オブジェクトのコピー |
No |
Yes |
No |
No |
Yes |
Yes |
|
オブジェクトの暗号化 |
No |
No |
Yes |
Yes |
Yes |
Yes |
|
archiveオブジェクトのリストア |
Yes |
Yes |
No |
Yes |
Yes |
Yes |
|
中断したアップロードの再開 |
No |
No |
No |
Yes |
Yes |
Yes |
|
アップロードしたデータの整合性の確認 |
No |
No |
No |
Yes |
Yes |
Yes |
|
NFSプロトコルのサポート |
No |
No |
No |
Yes |
No |
No |
|
アップロード・アクティビティの監視 |
No |
No |
No |
Yes |
Yes |
No |
|
暗号化キーのローテーション |
No |
No |
Yes |
Yes |
Yes |
Yes |
|
ローカル・ディスク・キャッシュ |
No |
No |
No |
Yes |
No |
No |
|
ネットワーク・スロットル |
No |
No |
No |
Yes |
No |
No |
|
ラージ・ファイルの自動セグメント化 |
No |
No |
No |
Yes |
Yes |
Yes |
注意:
アップロード操作中、指定したコンテナが存在しない場合は作成されます。 ただし、空のコンテナは作成できません。
Object Storage Classicをスタート・ガイドためのワークフロー
このトピックはOracle Cloud Machineには適用されません。
Oracle Cloud Infrastructure Object Storage Classicを開始するためのワークフローのガイドとして、次の表を使用してください:
| タスク | 説明 | 詳細情報 |
|---|---|---|
|
試用をリクエストするか、Oracle Cloud Infrastructure Object Storage Classicのサブスクリプションを購入 |
情報を入力し、無料の試用にサインアップまたはサブスクリプションを購入します。 アクティブ化後に、ユーザーのアカウントを作成し、適切な権限とロールを割り当てます。 |
Oracle Cloud Infrastructure Object Storage Classicのサブスクリプション方法 |
|
サービスのモニター |
サービスの日常的な操作をチェックし、パフォーマンスをモニターし、重要な通知を確認します。 |
Oracle Cloudの管理および監視のOracle Cloud Serviceの管理と監視に関する項 |
|
サービスへのアクセス |
REST APIまたはJavaライブラリ・インタフェースを介してサービスにアクセスします。 |
Object Storage Classicインスタンスのレプリケーション・ポリシーについて
このトピックはOracle Cloud at Customerには適用されません。
Georeplicationについて
2018年3月以降にアカウントが作成された場合、Oracle Cloud Infrastructure Object Storage Classicサブスクリプションがアクティブ化されると、インスタンスのレプリケーション・ポリシーはデフォルトでanyに設定されます。
anyポリシーがデフォルトでサービス・インスタンス・レベルで設定された状態で、コンテナを作成し、認可レプリケーション・ポリシーをコンテナに設定できるようになりました。
2018年3月までにアカウントが作成された場合は、「2018年3月以前に作成されたアカウントのレプリケーション・ポリシーについて」をご覧ください。
サービス・インスタンスのレプリケーション・ポリシーの検証
Webコンソールの使用
Oracle Cloud Infrastructure Object Storage Classicサービス・インスタンスに設定されているレプリケーション・ポリシーを確認するには、webコンソールにサインインします。 「アカウント情報」を展開します。 サービス・インスタンスの詳細が「アカウント情報」ペインに表示されます。 「地層処分政策」フィールドを探します。
REST APIの使用
HEADリクエストを送信して、サービス・インスタンスのレプリケーション・ポリシーの詳細を表示します。 出力でヘッダーX-Account-Meta-Policy-Georeplicationを探します。 アカウント・メタデータの取得を参照してください。
Object Storage Classicへのアクセスの認証
Oracle Cloud Infrastructure Object Storage Classicは、サービス・インスタンスに対して操作を実行するときに認証が必要です。 認証は、認証トークンの形式でサービス・インスタンスに提供されます。
サービスにユーザー資格証明を送信することでサービスから認証トークンをリクエストします。 認証トークンは一時的なものであり、30分で失効します。 これはセッション・タイムアウトでありアイドル・タイムアウトではありません。つまり、トークンは使用中の場合でも失効します。 サービス・インスタンスに対するすべての操作に現在の認証トークンを含める必要があります。
トピック:
REST API使用時のアクセスの認証
認証トークンをリクエストするには、GETリクエストをアカウントの認証URLに送信します。 アカウントにアクセスし、認証URLを取得してリソースの操作を実行するには、ログイン資格証明が必要です。
認証URLの取得
- Oracle Cloudアカウントにサインインします。
Oracle Cloudにサインインしたときにページの上部にInfrastructure Classicが表示される場合、「Infrastructure Classicコンソール」を使用してサービスにアクセスしており、サブスクリプションで「インフラストラクチャ・コンソール」へのアクセスがサポートされていません。 「Oracle Cloudスタート・ガイド」の「あなたのクラウド・アカウントにサインイン」を参照してください。
「インフラストラクチャ・コンソール」からサービスにアクセスできる場合は、Oracle Cloud Infrastructureドキュメントの「コンソールへのサインイン」に関する項を参照してください。
- 「インフラストラクチャ・コンソール」からサービスにアクセスできる場合は、次のステップを実行してRESTエンドポイントURLを取得します:
- ナビゲーション・メニューの「Oracle Cloud Servicesの追加」で、「クラシック・インフラストラクチャ・サービス」をポイントし、Storage Classicをクリックします。
Oracle Cloud Infrastructure Object Storage Classicコンソールが表示されます。
- 「アカウント」タブをクリックします。
- 「Restエンドポイント」フィールドに表示されるRestエンドポイントURLに注意してください。
RestエンドポイントURLから認証URLを作成できます。
- ナビゲーション・メニューの「Oracle Cloud Servicesの追加」で、「クラシック・インフラストラクチャ・サービス」をポイントし、Storage Classicをクリックします。
- 「Infrastructure Classicコンソール」からサービスにアクセスできる場合は、次のステップを実行してRESTエンドポイントURLおよび認証URLを取得します:
- ダッシュボードで、Storage Classicを探します。
- 「Actions」メニューから「View Details」を選択します。 または、「ダッシュボード」ページのStorage Classicリンクをクリックします。
表示されるページに、Oracle Cloud Infrastructure Object Storage Classicアカウントの詳細が表示されます。
- 「追加情報」セクションの下の「Auth V1エンドポイント」フィールドに表示される認証URLに注意してください。
例えば :
https://acme.storage.oraclecloud.com/auth/v1.0 - 「Auth V1エンドポイント」フィールドが表示されない場合は、RESTエンドポイントURLから認証URLを作成する必要があります。 「Additional Information」セクションの「REST Endpoint」フィールドに表示されるRESTエンドポイントのURLに注目してください。
-
認証URLがwebコンソールで直接使用できない場合に認証URLを作成するには、次の手順を実行します:
- ノートしたRESTエンドポイントURLが
https://acme.storage.oraclecloud.com/v1/Storage-acmeであるとします。 - RESTエンドポイントのURLの次の部分を削除します。
v1/Storage-acme編集したURLは :
https://acme.storage.oraclecloud.com/ - 編集されたURLに次を追加します。
auth/v1.0同等の認証URLは
https://acme.storage.oraclecloud.com/auth/v1.0です。
- ノートしたRESTエンドポイントURLが
アカウントの詳細を使用する
アカウントにアクセスし、リソースに関する操作を実行するには、サインインの資格証明が必要です。
アカウントにサインアップすると、サインイン資格証明のウェルカム・メールが届きます。
次の例に示すように、サインイン資格証明を書き留めます。 
図new_account_information_email-2017.jpgの説明
ようこそメールがない場合は、アカウント管理者にOracle Cloudのユーザー名、パスワード、およびアイデンティティ・ドメインを問い合わせてください。
ユーザー資格情報が認証されていない場合、サービスからはHTTPステータス・コード401で応答され、認証トークンは返されません。
資格情報が認証されると、サービスから現在アクティブな認証トークンが返されるか、新しい認証トークンが生成されます。 認証トークンは、HTTPレスポンスのHTTPヘッダーX-Auth-Tokenの値として返されます。 すでにアクティブな認証トークンを持つ資格証明で認証トークンをリクエストしても、既存の認証トークンの有効期限は延長されません。
認証トークンのリクエスト
GETリクエストを認証URLに送信するときは、次のヘッダーにユーザーの資格証明を含めます:
- アカウントのRESTエンドポイントURLに応じて:
- RESTエンドポイント URLを使用する場合は、ヘッダー
X-Storage-User:Storage-account_name:userName - RESTエンドポイントURL (永続的)を使用する場合は、ヘッダー
X-Storage-User:Storage-GUID:userName注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
- RESTエンドポイント URLを使用する場合は、ヘッダー
X-Storage-Pass:passwordhttp://account_name.storage.oraclecloud.com/auth/v1.0は認証URLです。
注意:
従来のアカウントの場合、アイデンティティ・ドメイン名とアカウント名は同じです。cURLコマンド例
- アカウント名:
acme従来のアカウントの場合、アカウント名とアイデンティティ・ドメイン名は同じです。
- RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365 - 認証URL :
https://acme.storage.oraclecloud.com/auth/v1.0
cURLコマンドの例 - 認証トークンのリクエスト:
X-Storage-UserヘッダーのRESTエンドポイント URLから取得したアカウント名acmeを使用します。curl -v -X GET \ -H "X-Storage-User: Storage-acme:myUsername" \ -H "X-Storage-Pass: myPassword" \ https://acme.storage.oraclecloud.com/auth/v1.0次に、このコマンドの出力例を示します:
> GET /auth/v1.0 HTTP/1.1 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Storage-User: Storage-acme:myUsername > X-Storage-Pass: myPassword < HTTP/1.1 200 OK < X-Storage-Url: https://acme.storage.oraclecloud.com/v1/Storage-acme < X-Storage-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 < X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 < X-Trans-Id: txba4aa8f776164c33b7aa587554c29fb6 < Content-Length: 0 < Cache-Control: no-cache < Pragma: no-cache < Content-Type: text/plain < Content-Language: en- ヘッダー
X-Storage-UserのRESTエンドポイント(永続的) URLから取得したGUID7b16fede61e1417ab83eb52e06f0e365を使用します。curl -v -X GET \ -H "X-Storage-User: Storage-7b16fede61e1417ab83eb52e06f0e365:myUsername" \ -H "X-Storage-Pass: myPassword" \ https://acme.storage.oraclecloud.com/auth/v1.0次に、このコマンドの出力例を示します:
> GET /auth/v1.0 HTTP/1.1 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Storage-User: Storage-7b16fede61e1417ab83eb52e06f0e365:myUsername > X-Storage-Pass: myPassword < HTTP/1.1 200 OK < X-Storage-Url: https://acme.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365 < X-Storage-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 < X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 < X-Trans-Id: txba4aa8f776164c33b7aa587554c29fb6 < Content-Length: 0 < Cache-Control: no-cache < Pragma: no-cache < Content-Type: text/plain < Content-Language: en
認証トークンを使用するには、これをサービス・インスタンスへのすべてのHTTPリクエストにX-Auth-Token HTTPヘッダーの値として含めます。 認証トークンが有効でないか、失効している場合、サービスからHTTPステータス・コード401で応答され、操作のリクエストは失敗します。 認証トークンが失効した場合は、新しいトークンをリクエストする必要があります。 パブリックにアクセス可能なオブジェクトを読み取っている場合、HTTPリクエストに認証トークンを提供する必要はありません。匿名でアクセス可能なオブジェクトは認証トークンを必要としません。
cURLコマンドの例 - 認証トークンを使用したアカウントへのオブジェクトの格納:
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
curl -v -X PUT \ -H "X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6" \ -d "Hello, World!" \ https://acme.storage.oraclecloud.com/v1/Storage-acme/myContainer/myObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-acme/myContainer/myObject HTTP/1.1 > Host: acme.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 > Content-Length: 13 > Content-Type: application/x-www-form-urlencoded < HTTP/1.1 201 Created < Content-Length: 0 < Etag: 65a8e27d8879283831b664bd8b7f0ad4 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx287a1a8e33cc45e5a1431817e3e87621 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
- 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
curl -v -X PUT \ -H "X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6" \ -d "Hello, World!" \ https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainer/myObject次に、このコマンドの出力例を示します:
> PUT /v1/Storage-7b16fede61e1417ab83eb52e06f0e365/myContainer/myObject HTTP/1.1 > Host: storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com > Accept: */* > X-Auth-Token: AUTH_tk209f7f2ea1265a0d3f29d28a2dc8ced6 > Content-Length: 13 > Content-Type: application/x-www-form-urlencoded < HTTP/1.1 201 Created < Content-Length: 0 < Etag: 65a8e27d8879283831b664bd8b7f0ad4 < Content-Type: text/html; charset=UTF-8 < X-Trans-Id: tx287a1a8e33cc45e5a1431817e3e87621 < Cache-Control: no-cache < Pragma: no-cache < Content-Language: en
Javaライブラリ使用時のアクセスの認証
Javaライブラリを使用する場合、手動による認証トークンのリクエストおよび使用は必要ではありません。Javaライブラリにより自動的にリクエストおよび使用されます。
また、Javaライブラリは、現在の認証トークンが失効したときに新しい認証トークンをリクエストしようとします。
Javaライブラリを使用する場合は、ユーザー資格証明をCloudStorageConfigオブジェクトに渡す必要があります。 CloudStorageConfigオブジェクトはCloudStorageFactoryオブジェクトに渡され、認証が成功すると最終的にCloudStorageオブジェクトを返します。 CloudStorageオブジェクトは、サポートされるすべての機能のメソッドをサービス・インスタンスに提供します。
コード例
- アカウント名:
acme従来のアカウントの場合、アカウント名とアイデンティティ・ドメイン名は同じです。
- RESTエンドポイントURL :
https://acme.storage.oraclecloud.com/v1/Storage-acme - RESTエンドポイント(永続)URL :
https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com/v1/Storage-7b16fede61e1417ab83eb52e06f0e365注意:
2017年11月以降に作成されたアカウントのREST Endpoint (Permanent)URLが表示されます。
次に、ユーザーの資格証明を提供し、オブジェクトを作成するためのJavaコードの例を示します。 実施例で使用される値は例示的なものです。 Oracle Cloud Infrastructure Object Storage Classicを使用するJavaコードを開発する際には、コードが組織のITセキュリティ基準と要件に準拠していることを確認してください。
- 「RESTエンドポイント」フィールドから取得したRESTエンドポイントURLを使用する方法:
CloudStorageConfig myConfig = new CloudStorageConfig(); myConfig.setServiceName("Storage-acme") .setUsername("john.doe@example.com") .setPassword("Password".toCharArray()) .setServiceUrl("https://acme.storage.oraclecloud.com"); CloudStorage myConnection = CloudStorageFactory.getStorage(myConfig); FileInputStream fis = new FileInputStream("hello_world.txt"); myConnection.storeObject("MyContainer", "hello_world.txt", "text/plain", fis); - 「RESTエンドポイント(永続的)」フィールドから取得したサービス永続RESTエンドポイントURLの使用:
このcURLコマンドの例は、2017年11月以降に作成されたアカウントに適用されます。
CloudStorageConfig myConfig = new CloudStorageConfig(); myConfig.setServiceName("Storage-7b16fede61e1417ab83eb52e06f0e365") .setUsername("john.doe@example.com ") .setPassword("Password".toCharArray()) .setServiceUrl("https://storage-7b16fede61e1417ab83eb52e06f0e365.storage.oraclecloud.com"); CloudStorage myConnection = CloudStorageFactory.getStorage(myConfig); FileInputStream fis = new FileInputStream("hello_world.txt"); myConnection.storeObject("MyContainer", "hello_world.txt", "text/plain", fis);
setServiceNameとsetServiceUrlメソッド用)を識別するには: