このページでは、バケットに Identity and Access Management(IAM)ポリシーを設定して、バケット内のオブジェクトとマネージド フォルダへのアクセスを制御する方法について説明します。
他のアクセス制御方法については、次のリソースをご覧ください。
- オブジェクトのグループをきめ細かく制御する方法については、マネージド フォルダに IAM ポリシーを設定して管理するをご覧ください。 
- バケット内の個々のオブジェクトへのアクセスを制御する別の方法については、アクセス制御リストをご覧ください。 
- Cloud Storage リソースへのアクセスの制御について詳しくは、アクセス制御の概要をご覧ください。 
必要なロール
バケットの IAM ポリシーの設定と管理に必要な権限を取得するには、バケットに対するストレージ管理者(roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。
このロールには、バケットの IAM ポリシーを設定および管理するために必要な次の権限が含まれています。
- storage.buckets.get
- storage.buckets.getIamPolicy
- storage.buckets.setIamPolicy
- storage.buckets.update
- storage.buckets.list- この権限は、Google Cloud コンソールを使用してこのページのタスクを実施する場合にのみ必要です。
 
カスタムロールを使用して、これらの権限を取得することもできます。
バケットレベルのポリシーにプリンシパルを追加する
Cloud Storage のロールの詳細については、IAM ロールをご覧ください。IAM ロールを付与するエンティティの詳細については、プリンシパル ID をご覧ください。
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、プリンシパルにロールを付与するバケットの名前をクリックします。 
- ページ上部にある [権限] タブを選択します。 
- [add_box アクセス権を付与] ボタンをクリックします。 - [プリンシパルの追加] ダイアログが表示されます。 
- [新しいプリンシパル] フィールドに、バケットへのアクセスが必要な ID を 1 つ以上入力します。 
- [ロールを選択] プルダウン メニューからロールを選択します。選択したロールと付与する権限の簡単な説明がパネルに表示されます。 
- [保存] をクリックします。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
buckets add-iam-policy-binding コマンドを使用します。
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
ここで
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- 次の情報が含まれる JSON ファイルを作成します。 - { "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] } - ここで - IAM_ROLEは、付与する IAM ロールです。例:- roles/storage.objectViewer。
- PRINCIPAL_IDENTIFIERには、バケットのアクセス権を付与するユーザーを指定します。例:- user:jeffersonloveshiking@gmail.comプリンシパル ID の形式の一覧については、プリンシパル ID をご覧ください。
 
- cURLを使用して、- PUT setIamPolicyリクエストで JSON API を呼び出します。- curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - ここで - JSON_FILE_NAMEは、手順 2 で作成したファイルのパスです。
- BUCKET_NAMEは、プリンシパルのアクセス権を付与するバケットの名前です。例:- my-bucket
 
バケットの IAM ポリシーを表示する
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、ポリシーを表示するバケットの名前をクリックします。 
- [バケットの詳細] ページで、[権限] タブをクリックします。 - バケットに適用される IAM ポリシーが [権限] セクションに表示されます。 
- 省略可: [フィルタ] バーを使用して、結果を絞り込みます。 - プリンシパルで検索すると、プリンシパルが付与されている各ロールが結果に表示されます。 
コマンドライン
buckets get-iam-policy コマンドを実行します。
gcloud storage buckets get-iam-policy gs://BUCKET_NAME
ここで、BUCKET_NAME は、IAM ポリシーを表示するバケットの名前です。例: my-bucket
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- cURLを使用して、- GET getIamPolicyリクエストで JSON API を呼び出します。- curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - ここで、 - BUCKET_NAMEは、IAM ポリシーを表示するバケットの名前です。例:- my-bucket
バケットレベル ポリシーからプリンシパルを削除する
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、プリンシパルのロールを削除するバケットの名前をクリックします。 
- [バケットの詳細] ページで、[権限] タブをクリックします。 - バケットに適用される IAM ポリシーが [権限] セクションに表示されます。 
- [プリンシパル別に表示] タブで、削除するプリンシパルのチェックボックスをオンにします。 
- [- アクセス権の削除] ボタンをクリックします。 
- 表示されたオーバーレイ ウィンドウで、[確認] をクリックします。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
buckets remove-iam-policy-binding コマンドを使用します。
gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE
ここで
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- バケットに適用されている既存のポリシーを取得します。これを行うには、 - cURLを使用して、- GET getIamPolicyリクエストで JSON API を呼び出します。- curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - ここで、 - BUCKET_NAMEは、IAM ポリシーを表示するバケットの名前です。例:- my-bucket
- 前の手順で取得したポリシーが含まれる JSON ファイルを作成します。 
- JSON ファイルを編集し、ポリシーからプリンシパルを削除します。 
- cURLを使用して、- PUT setIamPolicyリクエストで JSON API を呼び出します。- curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - ここで - JSON_FILE_NAMEは、手順 3 で作成したファイルのパスです。
- BUCKET_NAMEは、アクセス権を削除するバケットの名前です。例:- my-bucket
 
バケットで IAM Conditions を使用する
以降のセクションでは、バケットで IAM Conditions を追加、削除する方法を説明します。バケットの IAM Conditions を表示するには、バケットに適用される IAM ポリシーを表示するをご覧ください。Cloud Storage での IAM Conditions の使用について詳しくは、Conditions をご覧ください。
条件を追加する前に、バケットに対する均一なバケットレベルのアクセスを有効にする必要があります。
バケットに新しい条件を設定する
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、新しい条件を追加するバケットの名前をクリックします。 
- [バケットの詳細] ページで、[権限] タブをクリックします。 - バケットに適用される IAM ポリシーが [権限] セクションに表示されます。 
- [+ アクセスを許可] をクリックします。 
- [新しいプリンシパル] に、バケットへのアクセス権を付与するプリンシパルを入力します。 
- 条件を適用するロールごとに: - プリンシパルを付与するロールを選択します。 
- [条件を追加] をクリックして [条件を編集] フォームを開きます。 
- 条件の [タイトル] を入力します。[説明] フィールドの入力は任意です。 
- [条件作成ツール] を使用して条件を視覚的に構築するか、[条件エディタ] タブを使用して CEL 式を入力します。 
- [保存] をクリックして、[プリンシパルを追加] フォームに戻ります。複数のロールを追加するには、[別のロールを追加] をクリックします。 
 
- [保存] をクリックします。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
- 条件の - title、条件の属性ベースの論理- expression、条件の- description(任意)など、条件の定義を含む JSON または YAML ファイルを作成します。- Cloud Storage がサポートするのは、 - expression内の日時、リソースタイプ、およびリソース名という属性のみです。
- buckets add-iam-policy-bindingコマンドを使用し、- --condition-from-fileフラグを指定します。
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE
ここで
- BUCKET_NAMEは、プリンシパルのアクセス権を付与するバケットの名前です。例:- my-bucket
- PRINCIPAL_IDENTIFIERには、条件が適用されるユーザーを指定します。たとえば、- user:jeffersonloveshiking@gmail.comのようにします。プリンシパル ID の形式の一覧については、プリンシパル ID をご覧ください。
- IAM_ROLEは、プリンシパルに付与する IAM ロールです。例:- roles/storage.objectViewer
- CONDITION_FILEは前の手順で作成したファイルです。
あるいは、--condition-from-file フラグではなく、--condition フラグを使用して条件をコマンドに直接追加することもできます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- GET getIamPolicyリクエストを使用して、バケットの IAM ポリシーを一時 JSON ファイルに保存します。- curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json - BUCKET_NAMEは、該当するバケットの名前です。例:- my-bucket
- テキスト エディタで - tmp-policy.jsonファイルを編集して、IAM ポリシー内のバインディングに新しい条件を追加します。- { "version": VERSION, "bindings": [ { "role": "IAM_ROLE", "members": [ "PRINCIPAL_IDENTIFIER" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ], "etag": "ETAG" }- ここで - VERSIONは IAM ポリシー バージョンです。IAM Conditions を使用するバケットでは 3 にする必要があります。
- IAM_ROLEは、条件が適用されるロールです。例:- roles/storage.objectViewer
- PRINCIPAL_IDENTIFIERには、条件が適用されるユーザーを指定します。例:- user:jeffersonloveshiking@gmail.comプリンシパル ID の形式の一覧については、プリンシパル ID をご覧ください。
- TITLEは、条件のタイトルです。例:- expires in 2019。
- DESCRIPTIONは、条件の省略可能な説明です。例:- Permission revoked on New Year's
- EXPRESSIONは、属性ベースの論理式です。例:- request.time < timestamp(\"2019-01-01T00:00:00Z\")他の式の例については、条件属性のリファレンスをご覧ください。Cloud Storage がサポートするのは、日時、リソースタイプ、およびリソース名という属性のみであるので注意してください。
 - ETAGは変更しないでください。
- PUT setIamPolicyリクエストを使用して、変更した IAM ポリシーをバケットに設定します。- curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - BUCKET_NAMEは、該当するバケットの名前です。例:- my-bucket
バケットから条件を削除する
コンソール
-  Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
- バケットのリストで、条件を削除するバケットの名前をクリックします。 
- [バケットの詳細] ページで、[権限] タブをクリックします。 - バケットに適用される IAM ポリシーが [権限] セクションに表示されます。 
- 条件に関連付けられたプリンシパルの編集アイコン(edit)をクリックします。 
- 表示された [アクセス権を編集] オーバーレイで、削除する条件の名前をクリックします。 
- 表示された [条件を編集] オーバーレイで、[削除] をクリックしてから、[確認] をクリックします。 
- [保存] をクリックします。 
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
- buckets get-iam-policyコマンドを使用して、バケットの IAM ポリシーを一時 JSON ファイルに保存します。- gcloud storage buckets get-iam-policy gs://BUCKET_NAME > tmp-policy.json 
- テキスト エディタで - tmp-policy.jsonファイルを編集し、IAM ポリシーから条件を削除します。
- buckets set-iam-policyを使用して、変更した IAM ポリシーをバケットに設定します。- gcloud storage buckets set-iam-policy gs://BUCKET_NAME tmp-policy.json 
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
REST API
JSON
- gcloud CLI のインストールと初期化を行います。これにより、 - Authorizationヘッダーのアクセス トークンを生成できます。
- GET getIamPolicyリクエストを使用して、バケットの IAM ポリシーを一時 JSON ファイルに保存します。- curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json - BUCKET_NAMEは、アクセス権を付与するバケットの名前です。例:- my-bucket
- テキスト エディタで - tmp-policy.jsonファイルを編集し、IAM ポリシーから条件を削除します。
- PUT setIamPolicyリクエストを使用して、変更した IAM ポリシーをバケットに設定します。- curl -X PUT --data-binary @tmp-policy.json \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam" - ここで、 - BUCKET_NAMEは、IAM ポリシーを変更するバケットの名前です。例:- my-bucket
ベスト プラクティス
プリンシパルに必要なアクセス権を付与するために必要な最小限のロールを設定します。たとえば、チームのメンバーがバケットに保存されているオブジェクトの読み取りだけを行う場合には、Storage オブジェクト管理者(roles/storage.objectAdmin)ロールではなく、Storage オブジェクト閲覧者(roles/storage.objectViewer)ロールを付与します。同様に、チームのメンバーがバケット内のオブジェクトに対してあらゆる操作を行えるようにする必要がある場合(ただし、バケット自体の操作は行わない場合)には、ストレージ管理者(roles/storage.admin)ロールではなく、Storage オブジェクト管理者(roles/storage.objectAdmin)ロールを付与します。
次のステップ
- データを公開して共有する方法を学習する。
- 共有と共同作業の例を確認する。
- IAM 使用時のベスト プラクティスについて学習する。
- バケットにロールの推奨事項を使用する方法を学習する。
- IAM のロールと権限に関連する失敗したオペレーションのトラブルシューティングを行う。トラブルシューティングをご覧ください。