このページでは、公共インターネット上ですべての人が閲覧できるオブジェクトの作成方法を示します。公開されたデータへのアクセス方法については、一般公開データへのアクセスをご覧ください。
個々のオブジェクトを公開する
公開インターネット上ですべての人が個々のオブジェクトを閲覧できるようにするには:
Console
- Google Cloud Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く 公開するオブジェクトが格納されているバケットの [アクセス制御] 列を確認します。列が [きめ細かい管理] になっている場合は、次の手順に進みます。列が [均一] になっている場合は、以下の手順を使用してバケット内の個々のオブジェクトを公開することはできません。代わりに、バケット内のすべてのオブジェクトに公開権限を付与するか、署名付き URL を使用します。
公開するオブジェクトを含むバケットの名前をクリックし、オブジェクトがサブディレクトリ内にあればそこに移動します。
公開するオブジェクトに関連付けられた [その他の操作] メニュー(
)をクリックします。
プルダウン メニューから [権限を編集] を選択します。オプションが存在しない場合、均一アクセス制御が有効になっている可能性があります。詳しくは、ステップ 2 をご覧ください。
表示されるオーバーレイで、[+ エントリを追加] ボタンをクリックします。
allUsers の権限を追加します。
- [エンティティ] には [公開] を選択します。
- [名前] には [allUsers] を選択します。
- [アクセス権] には [読み取り] を選択します。
[保存] をクリックします。
公開の状態で共有されると、[公開アクセス] 列にリンクアイコンが表示されます。このアイコンをクリックすると、オブジェクトの URL を取得できます。
Cloud Storage ブラウザで失敗したオペレーションに関する詳細なエラー情報を確認する方法については、トラブルシューティングをご覧ください。
gsutil
gsutil acl ch
コマンドを使用します。
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
ここで
BUCKET_NAME
は、公開するオブジェクトを含むバケットの名前です。例:my-bucket
OBJECT_NAME
は、公開するオブジェクトの名前です。例:pets/dog.png
成功した場合は、次の例のようなレスポンスになります。
Updated ACL on gs://my-bucket/pets/dog.png
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
次の情報が含まれる .json ファイルを作成します。
{ "entity": "allUsers", "role": "READER" }
cURL
を使用してInsert
ACL リクエストで JSON API を呼び出します。curl -X POST --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
ここで
JSON_FILE_NAME
は、手順 2 で作成したファイルの名前です。OAUTH2_TOKEN
は、手順 1 で作成したアクセス トークンです。BUCKET_NAME
は、公開するオブジェクトを含むバケットの名前です。例:my-bucket
OBJECT_NAME
は、公開するオブジェクトの名前です。例:pets/dog.png
XML API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
次の情報を含む .xml ファイルを作成します。
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
cURL
を使用して、Set Object ACL
リクエストで XML API を呼び出します。curl -X PUT --data-binary @XML_FILE_NAME.xml \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
ここで
XML_FILE_NAME
は、手順 2 で作成したファイルの名前です。OAUTH2_TOKEN
は、手順 1 で作成したアクセス トークンです。BUCKET_NAME
は、公開するオブジェクトを含むバケットの名前です。例:my-bucket
OBJECT_NAME
は、公開するオブジェクトの名前です。例:pets/dog.png
バケット内のすべてのオブジェクトを公開する
公共インターネット上ですべての人がバケット内のすべてのオブジェクトを閲覧できるようにするには:
Console
- Google Cloud Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く バケットのリストで、公開するバケットの名前をクリックします。
ページ上部にある [権限] タブを選択します。
[メンバーを追加] ボタンをクリックします。
[メンバーを追加] ダイアログ ボックスが表示されます。
[新しいメンバー] フィールドに「
allUsers
」と入力します。[役割を選択] プルダウンで [Cloud Storage] サブメニューを選択し、[ストレージ オブジェクト閲覧者] オプションをクリックします。
[保存] をクリックします。
公開の状態で共有されると、[公開アクセス] 列に各オブジェクトのリンクアイコンが表示されます。このアイコンをクリックすると、オブジェクトの URL を取得できます。
Cloud Storage ブラウザで失敗したオペレーションに関する詳細なエラー情報を確認する方法については、トラブルシューティングをご覧ください。
gsutil
gsutil iam ch
コマンドを使用します。
gsutil iam ch allUsers:objectViewer gs://BUCKET_NAME
ここで、BUCKET_NAME
は、オブジェクトを公開するバケットの名前です。例: my-bucket
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。
次の情報が含まれる .json ファイルを作成します。
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
cURL
を使用して JSON API を呼び出し、PUT
Bucket リクエストを行います。curl -X PUT --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
ここで
JSON_FILE_NAME
は、手順 2 で作成したファイルの名前です。OAUTH2_TOKEN
は、手順 1 で作成したアクセス トークンです。BUCKET_NAME
は、オブジェクトを公開するバケットの名前です。例:my-bucket
XML API
バケット内のすべてのオブジェクトを公開する場合、XML API は使用できません。gsutil または JSON API を使用してください。
次のステップ
- 公開されたデータにアクセスする。
- バケットとオブジェクトのアクセス制御オプションの詳細について学習する。