パブリック・アクセスの許可
データは共有するためのものであることがあります。 バケットには、学術研究や民間の研究用に公開されたデータ・セット、または Web アプリケーションやコンテンツ配信ネットワークによって使用されるイメージ・リポジトリーが保持されることがあります。 **「パブリック・アクセス」**グループを使用して、このようなバケットにアクセスできるようにします。
バケットへのパブリック・アクセスに使用できる IAM 役割には、 Administrator
、 ContentReader
、および ObjectReader
の 3 つがあります。 これらの違いは、 Administrator
と ContentReader
がバケット内のオブジェクトをリストできることです。これは、オブジェクトの読み取りに加えて、リストを簡単にする必要があるアプリケーション
(Web UI など) に役立ちます。 詳しくは、 IAM リファレンス資料 を参照してください。
コンソールを使用したパブリック・アクセスの設定
最初に、バケットがあることを確認します。 ない場合は、入門チュートリアルの手順に従って、コンソールについて理解してください。
パブリック・アクセスの有効化
- IBM Cloud コンソール・ダッシュボードから、**「ストレージ」**を選択してリソース・リストを表示します。
- 次に、**「ストレージ」**メニュー内から、バケットがあるサービス・インスタンスを選択します。 これによって Object Storage コンソールが表示されます。
- パブリックにアクセス可能にするバケットを選択します。 このポリシーにより、適切な URL を持つすべてのユーザーが バケット内のすべてのオブジェクト をダウンロードできるようになることに留意してください。
- ナビゲーション・メニューから**「アクセス・ポリシー」**を選択します。
- **「パブリック・アクセス」**タブを選択します。
- **「アクセス・ポリシーの作成」をクリックします。 警告を読んだ後、「有効化」**を選択します。
- これで、このバケット内のすべてのオブジェクトにパブリックでアクセス可能になりました。
パブリック・アクセスの無効化
- IBM Cloud コンソール内の任意の場所から、**「管理」メニュー、「アクセス (IAM)」**を順番に選択します。
- ナビゲーション・メニューから**「アクセス・グループ」**を選択します。
- **「パブリック・アクセス」**を選択して、現在使用中のすべてのパブリック・アクセス・ポリシーのリストを表示します。
- アクセス制御の適用対象に戻す必要があるバケットに対応するポリシーを見つけます。
- ポリシー項目の右端にあるアクションのリストから、**「削除」**を選択します。
- ダイアログ・ボックスを確認します。これで、ポリシーはバケットから削除されます。
個々のオブジェクトに対するパブリック・アクセスの許可
REST API を使用してオブジェクトをパブリック・アクセス可能にするには、x-amz-acl: public-read
ヘッダーを要求に組み込むことができます。 このヘッダーを設定すると、あらゆる IAM ポリシーの検査がバイパスされ、非認証の HEAD
要求および
GET
要求が許可されます。 エンドポイントについて詳しくは、エンドポイントおよびストレージ・ロケーションを参照してください。
さらに、HMAC 資格情報により、事前署名 URL を使用する一時的なパブリック・アクセスを許可できます。
パブリック・オブジェクトのアップロード
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: text/plain; charset=utf-8" \
-d "{object-contents}"
既存のオブジェクトに対するパブリック・アクセスの許可
ペイロードなしで照会パラメーター ?acl
を使用するとともに、x-amz-acl: public-read
ヘッダーを設定すると、データを上書きすることなく、オブジェクトへのパブリック・アクセスが可能になります。
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "x-amz-acl: public-read" \
-H "Authorization: Bearer {token}"
パブリック・オブジェクトを再度プライベートにする
ペイロードなしで照会パラメーター ?acl
を使用するとともに、空の x-amz-acl:
ヘッダーを設定すると、データを上書きすることなく、オブジェクトへのパブリック・アクセスが取り消されます。
curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
-H "Authorization: Bearer {token}" \
-H "x-amz-acl:"
静的 Web サイト
IBM Cloud Object Storage は自動静的 Web サイト・ホスティングをサポートしていませんが、Web サーバーを手動で構成して、バケットでホストされているパブリック・アクセス可能なコンテンツを提供するために使用することができます。 詳しくは、 静的 Web サイト・オプションの概要 を参照してください。