事前定義ロール
次の表に、Cloud Storage に関係する Identity and Access Management(IAM)ロールと、各ロールに含まれている権限を示します。特に断りのない限り、これらのロールはプロジェクト、バケット、マネージド フォルダのいずれかに適用できます。
バケットへのアクセスを制御する方法については、IAM 権限の使用をご覧ください。マネージド フォルダへのアクセスを制御する方法については、マネージド フォルダでの IAM の使用をご覧ください。
ロール | 説明 | 権限 |
---|---|---|
Storage オブジェクト作成者(roles/storage.objectCreator ) |
ユーザーがオブジェクト、フォルダ、マネージド フォルダを作成できるようにします。オブジェクトの表示、削除、置き換えを行う権限は付与されません。オブジェクトのアクセス制御リスト(ACL)を取得する権限や、オブジェクト更新リクエストの一部としてオブジェクト ACL を設定する権限は付与されません。 | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.objects.create storage.folders.create storage.managedFolders.create storage.multipartUploads.create storage.multipartUploads.abort storage.multipartUploads.listParts |
Storage オブジェクト閲覧者(roles/storage.objectViewer ) |
オブジェクトとそのメタデータ(ACL を除く)を閲覧するためのアクセス権を付与します。 バケット内のオブジェクト、フォルダ、マネージド フォルダを一覧表示することもできます。 |
resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.get storage.folders.list storage.managedFolders.get storage.managedFolders.list storage.objects.get storage.objects.list |
Storage オブジェクト ユーザー(roles/storage.objectUser ) |
オブジェクト、フォルダ、マネージド フォルダ、およびそれらのメタデータを作成、表示、一覧表示、更新、削除するための権限を付与します。ACL あるいは IAM ポリシーを取得または設定する権限は付与されません。 | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.list storage.managedFolders.get storage.multipartUploads.* storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.restore storage.objects.update |
Storage オブジェクト管理者(roles/storage.objectAdmin ) |
オブジェクトとフォルダのすべてを管理できる権限を付与します。これには、オブジェクトとフォルダの一覧表示、作成、表示、名前の更、削除、オブジェクトの ACL の設定などが含まれます。マネージド フォルダの作成、削除、取得、一覧表示のためのアクセス権も付与します。 | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.objects.* storage.multipartUploads.* |
ストレージ フォルダ管理者(roles/storage.folderAdmin ) |
オブジェクト、フォルダ、マネージド フォルダに対する完全な制御権限を付与します(IAM 権限の一覧表示、作成、表示、削除、管理など)。 | orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.folders.* storage.managedFolders.* storage.multipartUploads.* storage.objects.* |
Storage HMAC キー管理者(roles/storage.hmacKeyAdmin ) |
プロジェクト内の HMAC キーのすべてを管理する権限を付与します。このロールはプロジェクトにのみ適用できます。 | orgpolicy.policy.get 1storage.hmacKeys.* |
Storage 管理者(roles/storage.admin ) |
オブジェクト ACL や IAM ポリシーの取得と設定など、バケット、フォルダ、マネージド フォルダ、Recommender の推奨事項、オブジェクトに対する完全な制御権限を付与します。また、長時間実行オペレーションの完全な制御権限も付与します。 個々のバケットに適用した場合、指定したバケットとそのバケット内のマネージド フォルダ、オブジェクト、長時間実行オペレーションにのみ制御が適用されます。 |
firebase.projects.get orgpolicy.policy.get 1resourcemanager.projects.get 2resourcemanager.projects.list 2storage.buckets.* storage.bucketOperations.* storage.folders.* storage.managedFolders.* storage.objects.* storage.multipartUploads.* recommender.storageBucketSoftDeleteInsights.* recommender.storageBucketSoftDeleteRecommendations.* |
Storage Insights 管理者(roles/storageinsights.admin ) |
Storage Insights のインベントリ レポートと構成に対する完全な制御権限を付与します。 | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.* storageinsights.reportDetails.* |
Storage Insights 閲覧者(roles/storageinsights.viewer ) |
Storage Insights のインベントリ レポートと構成に対する読み取り専用アクセス権を付与します。 | cloudresourcemanager.projects.get cloudresourcemanager.projects.list storageinsights.reportConfigs.list storageinsights.reportConfigs.get storageinsights.reportDetails.list storageinsights.reportDetails.get |
Storage Insights コレクタ サービス(roles/storage.insightsCollectorService ) |
インベントリ レポートのオブジェクト メタデータに対する読み取りアクセス権を付与します。 | resourcemanager.projects.get resourcemanager.projects.list storage.buckets.getObjectInsights storage.buckets.get |
1 orgpolicy.policy.get
権限により、プリンシパルはプロジェクトに適用される組織のポリシー制約を確認できます。現在、この権限は、ロールがプロジェクト レベルで付与されている場合にのみ有効です。
2 resourcemanager.projects.*
権限の詳細については、IAM を使用したプロジェクトのアクセス制御をご覧ください。
基本ロール
基本ロールは、IAM の導入前に存在していたロールです。これらのロールには固有の特性があります。
基本ロールはプロジェクト全体にのみ付与でき、プロジェクト内の個々のバケットには付与できません。プロジェクトに付与するその他のロールと同様に、基本ロールはプロジェクト内のすべてのバケットとオブジェクトに適用されます。
基本ロールには、このセクションでは説明していない他の Google Cloud サービスのための追加の権限が含まれています。基本ロールで付与される権限については、基本ロールをご覧ください。
それぞれの基本ロールにはコンビニエンス値があり、これを使うと、基本ロールをグループのように使用できます。この方法で使用すると、基本ロールを持つどのプリンシパルもそのグループの一部とみなされます。コンビニエンス値のアクセス権に基づいて、グループ内の全員にリソースへの追加のアクセス権が付与されます。
コンビニエンス値は、バケットに対するロールを付与する際に使用できます。
コンビニエンス値は、オブジェクトに ACL を設定する際に使用できます。
基本ロールは、Cloud Storage リソースに対するすべてのアクセス権を付与するものではありません。想定されるアクセス権の一部を付与し、想定される残りのアクセス権はコンビニエンス値を介して付与します。コンビニエンス値は、他の IAM プリンシパルと同様に手動で追加または削除できるため、プリンシパルが本来持つ可能性のあるアクセス権を取り消すこともできます。
コンビニエンス値によって基本ロールのプリンシパルに通常付与される追加のアクセス権については、変更可能な動作をご覧ください。
基本的な権限
次の表に、基本ロールに常に関連付けられている Cloud Storage の権限を示します。
ロール | 説明 | Cloud Storage の権限 |
---|---|---|
閲覧者(roles/viewer ) |
プロジェクト内のバケットを一覧表示する権限、一覧表示するときにバケットのメタデータ(ACL を除く)を閲覧する権限、プロジェクト内の HMAC キーを一覧表示して取得する権限を付与します。 | storage.buckets.list storage.hmacKeys.get storage.hmacKeys.list |
編集者(roles/editor ) |
プロジェクト内のバケットの作成、一覧表示、削除を行う権限、一覧表示するときにバケット メタデータ(ACL を除く)を閲覧する権限、プロジェクト内の HMAC キーを制御する権限を付与します。 | storage.buckets.create storage.buckets.delete storage.buckets.list storage.hmacKeys.* |
オーナー(roles/owner ) |
プロジェクトでのバケットの作成、一覧表示、削除を行う権限、一覧表示の際にバケット メタデータ(ACL を除く)を閲覧する権限、タグ バインディングの作成、削除、一覧表示を行う権限、プロジェクトの HMAC キーを制御する権限を付与します。 このロールのプリンシパルは、Google Cloud 内でプロジェクト プリンシパルのロールの変更や請求先の修正などの管理作業を行うことができます。 |
storage.buckets.create storage.buckets.delete storage.buckets.list storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.hmacKeys.* |
変更可能な動作
多くの場合、コンビニエンス値のため、基本ロールを付与されたプリンシパルにはプロジェクトのバケットとオブジェクトに対する追加のアクセス権が付与されます。バケットを作成すると、コンビニエンス値に特定のバケットレベルのアクセス権が付与されます。あとでバケットの IAM ポリシーとオブジェクトの ACL を編集して、アクセス権を削除または変更することもできます。
均一なバケットレベルのアクセスが有効になっているバケットを作成すると、コンビニエンス値により次のアクセス権が付与されます。
roles/viewer
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketReader
ロールとroles/storage.legacyObjectReader
ロールが付与されます。roles/editor
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketOwner
ロールとroles/storage.legacyObjectOwner
ロールが付与されます。roles/owner
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketOwner
ロールとroles/storage.legacyObjectOwner
ロールが付与されます。
均一なバケットレベルのアクセスが有効になっていないバケットを作成すると、コンビニエンス値により次のアクセス権が付与されます。
roles/viewer
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketReader
ロールが付与されます。roles/editor
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketOwner
ロールが付与されます。roles/owner
が付与されたプリンシパルには、バケットのroles/storage.legacyBucketOwner
ロールが付与されます。また、バケットにはデフォルト オブジェクトのアクセス制御リスト(ACL)があります。多くの場合、このデフォルトの ACL はバケット内の新しいオブジェクトに適用され、コンビニエンス値への追加アクセス権を付与します。
従来の事前定義ロール
次の表に、アクセス制御リスト(ACL)権限と同等の IAM ロールの一覧を示します。レガシーロールを付与できるのは、プロジェクトに対してではなく、個々のバケットに対してのみです。
ロール | 説明 | 権限 |
---|---|---|
Storage レガシー オブジェクト読み取り(roles/storage.legacyObjectReader ) |
オブジェクトとそのメタデータ(ACL を除く)を閲覧する権限を付与します。 | storage.objects.get |
Storage レガシー オブジェクト オーナー(roles/storage.legacyObjectOwner ) |
オブジェクトとそのメタデータ(ACL を含む)を閲覧し、編集する権限を付与します。 | storage.objects.get storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention storage.objects.setIamPolicy storage.objects.getIamPolicy |
Storage レガシー バケット読み取り(roles/storage.legacyBucketReader ) |
バケットのコンテンツを一覧表示し、バケットのメタデータ(IAM ポリシーを除く)を読み取るための権限を付与します。また、オブジェクトやマネージド フォルダ(IAM ポリシーを除く)を一覧表示する際にオブジェクトのメタデータを読み取る権限を付与します。 このロールの使用はバケットの ACL にも反映されます。詳細については、IAM と ACL の関係をご覧ください。 |
storage.buckets.get storage.objects.list storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.list |
Storage レガシー バケット書き込み(roles/storage.legacyBucketWriter ) |
オブジェクトとマネージド フォルダを作成、置換、一覧表示、削除する権限、保持構成を持つオブジェクトを作成する権限、一覧表示するときにオブジェクトとマネージド フォルダのメタデータ(IAM ポリシーを除く)を読み取る権限、バケット メタデータ(IAM ポリシーを除く)を読み取る権限を付与します。 このロールの使用はバケットの ACL にも反映されます。詳細については、IAM と ACL の関係をご覧ください。 |
storage.buckets.get storage.objects.list storage.objects.create storage.objects.delete storage.objects.restore storage.objects.setRetention storage.managedFolders.create storage.managedFolders.delete storage.managedFolders.get storage.managedFolders.list storage.multipartUploads.* |
ストレージのレガシー バケット オーナー(roles/storage.legacyBucketOwner ) |
オブジェクトとマネージド フォルダを作成、置き換え、一覧表示、削除する権限、保持構成を持つオブジェクトを作成する権限、タグ バインディングを作成、削除、一覧表示する権限、一覧表示する際にオブジェクトのメタデータ(IAM ポリシーを除く)を読み取る権限、一覧表示する際にマネージド フォルダのメタデータ(IAM ポリシーを含む)を読み取る権限、バケットのメタデータ(IAM ポリシーを含む)の読み取りと編集を行う権限、長時間実行オペレーションを管理する権限を付与します。 このロールの使用はバケットの ACL にも反映されます。詳細については、IAM と ACL の関係をご覧ください。 |
storage.buckets.get storage.buckets.createTagBinding storage.buckets.deleteTagBinding storage.buckets.listEffectiveTags storage.buckets.listTagBindings storage.buckets.update storage.buckets.enableObjectRetention storage.buckets.restore storage.buckets.setIamPolicy storage.buckets.getIamPolicy storage.bucketOperations.* storage.managedFolders.* storage.objects.list storage.objects.create storage.objects.delete storage.objects.restore storage.objects.setRetention storage.multipartUploads.* |
カスタムロール
指定した権限のバンドルを含む独自のロールを定義することが必要になる場合があります。これをサポートするために、IAM にはカスタムロールが用意されています。
次のステップ
IAM 権限を使用して、バケットとオブジェクトへのアクセスを制御する。
Cloud Storage に適用される各 IAM 権限について学習する。
利用可能な Cloud Storage の IAM リファレンスで、さまざまなツールや API で操作を行う際に必要になる IAM 権限などを確認する。
Google Cloud の他のロールについては、ロールについてをご覧ください。