Cloud Storage に適用される Cloud IAM ロール

事前定義ロール

次の表に、Cloud Storage に関連付けられている Cloud Identity and Access Management(Cloud IAM)のロールと各ロールに含まれる権限を記載します。特に明記されない限り、これらのロールはプロジェクト全体または特定のバケットのいずれかに適用できます。

ロール 説明 権限
Storage オブジェクト作成者roles/storage.objectCreator ユーザーにオブジェクトの作成を許可します。オブジェクトを表示、削除または上書きする権限は付与されません。 resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.create
Storage オブジェクト閲覧者roles/storage.objectViewer オブジェクトとそのメタデータ(ACL を除く)を閲覧するためのアクセス権を付与します。

バケット内のオブジェクトを一覧表示することもできます。

resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.get
storage.objects.list
ストレージ オブジェクト管理者roles/storage.objectAdmin オブジェクトの一覧表示、作成、表示、削除など、オブジェクトのすべてを管理できる権限を付与します。 resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.*
Storage HMAC キー管理者roles/storage.hmacKeyAdmin プロジェクト内の HMAC キーのすべてを管理する権限を付与します。このロールはプロジェクトにのみ適用できます。 storage.hmacKeys.*
Storage 管理者roles/storage.admin バケットとオブジェクトのすべてを管理する権限を付与します。

個々のバケットに適用した場合、指定したバケットとその中のオブジェクトに対してのみ操作が適用されます。

firebase.projects.get
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.*
storage.objects.*

基本ロール

基本ロールは、Cloud IAM の導入前に存在していたロールです。これらのロールには固有の特性があります。

  • 基本ロールはプロジェクト全体にのみ付与でき、プロジェクト内の個々のバケットには付与できません。プロジェクトに付与する他のロールと同様に、基本ロールはプロジェクト内のすべてのバケットとオブジェクトに適用されます。

  • 基本ロールには、このセクションでは説明していない他の Google Cloud サービスのための追加の権限が含まれています。基本ロールで付与される権限については、基本ロールをご覧ください。

  • 場合によっては、基本ロールをグループのように使用することもできます。これにより、基本ロールを持つメンバーが、一部のリソースへの追加アクセス権を取得します。

    • 基本ロールは、バケットに対してロールを付与するときにグループと同じように使用できます。

    • 基本ロールは、オブジェクトに ACL を設定するときにグループと同じように使用できます。

    基本ロールのメンバーが通常、この動作によって取得する追加のアクセス権については、変更可能な動作をご覧ください。

基本的な権限

次の表に、各基本ロールに常に関連付けられている 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.hmacKeys.*

変更可能な動作

基本ロールを付与されたメンバーが、基本ロールに関連付けられた基本的な権限以外の追加のアクセス権を持つこともあります。これは、基本ロール自体にバケットとオブジェクトへのアクセス権を付与できるためです。次の表に、通常、各基本ロールに関連付けられる追加の Cloud Storage アクセス権を示します。基本ロールに付与されたこの追加のアクセス権を変更または削除できます。

ロール ロールを持つメンバーによって付与される追加のアクセス権
閲覧者roles/viewer
編集者roles/editor
オーナーroles/owner

従来の事前定義ロール

次の表に、アクセス制御リスト(ACL)権限と同等の Cloud IAM ロールを示します。以前のロールを付与できるのは、プロジェクトに対してではなく、個々のバケットに対してのみです。

ロール 説明 権限
Storage レガシー オブジェクト読み取りroles/storage.legacyObjectReader オブジェクトとそのメタデータ(ACL を除く)を閲覧する権限を付与します。 storage.objects.get
Storage レガシー オブジェクト オーナーroles/storage.legacyObjectOwner オブジェクトとそのメタデータ(ACL を含む)を閲覧し、編集する権限を付与します。 storage.objects.get
storage.objects.update
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Storage レガシー バケット読み取りroles/storage.legacyBucketReader バケットのコンテンツを一覧表示し、バケットのメタデータ(Cloud IAM ポリシーを除く)を読み取るための権限を付与します。また、オブジェクトを一覧表示するときにオブジェクト メタデータ(Cloud IAM ポリシーを除く)を読み取るための権限を付与します。

このロールの使用はバケットの ACL にも反映されます。詳細については、Cloud IAM と ACL の関係をご覧ください。

storage.buckets.get
storage.objects.list
Storage レガシー バケット書き込みroles/storage.legacyBucketWriter バケット内のオブジェクトを作成、上書き、削除するためのアクセス権、一覧表示するときに、オブジェクトのメタデータ(Cloud IAM ポリシーを除く)を読み取るためのアクセス権、バケットのメタデータ(Cloud IAM ポリシーを除く)を読み取るためのアクセス権を付与します。

このロールの使用はバケットの ACL にも反映されます。詳細については、Cloud IAM と ACL の関係をご覧ください。

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
ストレージのレガシー バケット オーナーroles/storage.legacyBucketOwner バケット内のオブジェクトを作成、上書き、削除するためのアクセス権、一覧表示するときに、オブジェクトのメタデータ(Cloud IAM ポリシーを除く)を読み取るためのアクセス権、バケットのメタデータ(Cloud IAM ポリシーを含む)を読み取って編集するためのアクセス権を付与します。

このロールの使用はバケットの ACL にも反映されます。詳細については、Cloud IAM と ACL の関係をご覧ください。

storage.buckets.get
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete

カスタムロール

場合によっては、一連の権限を自分で指定して含めた、独自のロールを定義することが必要になります。これをサポートするために、Cloud IAM にはカスタムロールが用意されています。

次のステップ