IAM を使用したアクセス制御

このページでは、Identity and Access Management(IAM)を使用して Memorystore for Memcached のプロジェクトへのアクセスと権限を制御する方法について説明します。

概要

IAM では、特定の Google Cloud リソースに対するアクセス権をきめ細かいレベルで制御でき、それらのリソースへの不要なアクセスを防止できます。ロールと権限の詳細については、IAM のドキュメントをご覧ください。

Memorystore for Memcached には、Memcached リソースへのアクセスを簡単に制御できるように事前定義された一連のロールが用意されています。事前定義されたロールで必要な権限のセットが提供されていない場合は、カスタムロールを作成することもできます。 さらに、以前からある基本ロール(編集者、閲覧者、オーナー)も引き続き使用できますが、Memorystore for Memcached のロールほど細かい制御はできません。特に、基本ロールでは Memorystore for Memcached だけではなく、Google Cloud 全体のリソースへのアクセスが提供されます。基本ロールの詳細については、基本ロールをご覧ください。

権限と役割

ここでは、Memorystore for Memcached でサポートされる権限とロールを簡単に説明します。

事前定義されたロール

Memorystore for Memcached には事前定義ロールが用意され、それらを使用してプリンシパルに対する権限付与を詳細に設定できます。プリンシパルにロールを付与することで、プリンシパルが行えるアクションを制御できます。プリンシパルは、個人、グループ、またはサービス アカウントのいずれかです。

同じプリンシパルに複数のロールを付与できます。また、いつでもロールを変更できます。

広範囲なロールはより限定的に定義されています。たとえば、Memcached 編集者のロールには、Memcached 閲覧者のロールのすべての権限と、Memcached 編集者のロールの追加的な権限が含まれています。同様に、Memcached 管理者のロールには、Memcached 編集者のロールのすべての権限と、Memcached 管理者の追加的な権限が含まれています。

基本ロール(オーナー、編集者、閲覧者)は、Google Cloud 全体に対する権限を付与します。Memorystore for Memcached に固有のロールは、Memorystore for Memcached 権限のみを付与します。ただし、一般的な Google Cloud の使用に必要な次の Google Cloud 権限を除きます。

resourcemanager.projects.get
resourcemanager.projects.list

次の表に、Memorystore for Memcached で使用できる事前定義ロールとその Memorystore for Memcached 権限を示します。

ロール 名前 Memcached 権限 説明

roles/owner

オーナー

memcache.*

すべての Google Cloud リソースに対する完全アクセス権と制御。ユーザー アクセスの管理。

roles/editor

編集者 .setIamPolicy *.getIamPolicy を除くすべての memcache 権限 すべての Google Cloud および Memcached リソースへの読み取り / 書き込みアクセス権(権限を変更する能力以外のすべての制御)

roles/viewer

閲覧者

memcache.*.get memcache.*.list

Memcached リソースを含む、すべての Google Cloud リソースへの読み取り専用アクセス権

roles/memcache.admin

Memcached 管理者

memcache.*

すべての Memorystore for Memcached リソースに対する完全な制御。

roles/memcache.editor

Memcached 編集者
以下を除くすべての memcache 権限

memcache.instances.create memcache.instances.delete memcache.instances.applySoftwareUpdate memcache.instances.upgrade

Memorystore for Memcached インスタンスを管理します。インスタンスの作成や削除はできません

roles/memcache.viewer

Memcached 閲覧者
以下を除くすべての memcache 権限

memcache.instances.create memcache.instances.delete memcache.instances.update memcache.operations.delete memcache.instances.applyParameters memcache.instances.updateParameters memcache.instances.applySoftwareUpdate memcache.instances.upgrade

すべての Memorystore for Memcached リソースへの読み取り専用アクセス権。

権限とロール

次の表に、Memorystore for Memcached でサポートされる権限と、それを含む Memorystore for Memcached のロールを示します。

権限 Memcached のロール 基本ロール

memcache.instances.list

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.instances.get

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.instances.create

Memcached 管理者 編集者

memcache.instances.update

Memcached 管理者
Memcached 編集者
編集者

memcache.instances.delete

Memcached 管理者 編集者

memcache.instances.applyParameters

Memcached 管理者
Memcached 編集者
編集者

memcache.instances.updateParameters

Memcached 管理者
Memcached 編集者
編集者

memcache.instances.applySoftwareUpdate

Memcached 管理者
Memcached 編集者
ライター

memcache.instances.upgrade

Memcached 管理者 ライター

memcache.locations.list

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.locations.get

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.operations.list

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.operations.get

Memcached 管理者
Memcached
Memcached 閲覧者
読み取り

memcache.operations.delete

Memcached 管理者
Memcached 編集者
編集者

カスタムロール

事前定義ロールがお客様特有のビジネス要件に合っていない場合は、任意に指定した権限を含むカスタムロールを独自に定義できます。Memorystore for Memcached のカスタムロールを作成する場合は、必ず resourcemanager.projects.getresourcemanager.projects.list の両方を含めてください。 詳細については、権限の依存関係をご覧ください。

Google Cloud コンソールでの一般的なタスクに必要な権限

ユーザーが Google Cloud コンソールを使用して Memorystore for Memcached を操作できるようにするには、ユーザーのロールに resourcemanager.projects.get 権限と resourcemanager.projects.list 権限が含まれている必要があります。

次の表は、Google Cloud コンソールの一般的なタスクに必要なその他の権限を示したものです。

タスク 必要な追加の権限
インスタンスの一覧ページを表示する

memcache.instances.get
memcache.instances.list

インスタンスを作成および編集する

memcache.instances.create
memcache.instances.get
memcache.instances.list
memcache.instances.update
memcache.instances.applyParameters
memcache.instances.updateParameters
memcache.instances.applySoftwareUpdate
compute.networks.list

インスタンスを削除する

memcache.instances.delete
memcache.instances.get
memcache.instances.list

Cloud Shell からインスタンスに接続する

memcache.instances.get
memcache.instances.list
memcache.instances.update

インスタンスの Memcached バージョンのアップグレード

memcache.instances.upgrade

インスタンス情報の表示

memcache.instances.get
monitoring.timeSeries.list

gcloud コマンドに必要な権限

ユーザーが gcloud コマンドを使用して Memorystore for Memcached を操作できるようにするには、ユーザーのロールに resourcemanager.projects.get 権限と resourcemanager.projects.list 権限を含める必要があります。

次の表に、gcloud memcache サブコマンドごとに gcloud コマンドを呼び出すユーザーに必要な権限を示します。

コマンド 必要な権限
gcloud memcache instances create

memcache.instances.get
memcache.instances.create

gcloud memcache instances delete

memcache.instances.delete

gcloud memcache instances update

memcache.instances.get
memcache.instances.update
memcache.instances.updateParameters

gcloud memcache instances upgrade

memcache.instances.upgrade

gcloud memcache instances list

memcache.instances.list

gcloud memcache instances describe

memcache.instances.get

gcloud memcache instances apply-parameters

memcache.instances.applyParameters

gcloud beta memcache instances apply-software-update

memcache.instances.applySoftwareUpdate

gcloud memcache operations list

memcache.operations.list

gcloud memcache operations describe

memcache.operations.get

gcloud memcache regions list

memcache.locations.list

gcloud memcache regions describe

memcache.locations.get

gcloud memcache zones list

memcache.locations.list

API メソッドに必要な権限

次の表は、ユーザーが Memorystore for Memcached API の各メソッドを呼び出すか、API を使用する Google Cloud ツール(Google Cloud コンソールや gcloud コマンドライン ツールなど)を使用するために必要な権限を示しています。

方法 必要な権限

locations.get

memcache.locations.get

locations.list

memcache.locations.list

instances.create

memcache.instances.create

instances.delete

memcache.instances.delete

instances.get

memcache.instances.get

instances.upgrade

memcache.instances.upgrade

instances.list

memcache.instances.list

instances.patch

memcache.instances.update

instances.updateParameters

memcache.instances.updateParameters

instances.applyParameters

memcache.instances.applyParameters

instances.applySoftwareUpdate

memcache.instances.applySoftwareUpdate

operations.get

memcache.operations.get

operations.list

memcache.operations.list

メンテナンス ポリシーの権限

下の表は、Memorystore for Memcached のメンテナンス ポリシーを管理するために必要な権限を示しています。

必要な権限 メンテナンス ポリシーを有効にして Memorystore インスタンスを作成する 既存の Memorystore インスタンスのメンテナンス ポリシーを作成または変更する メンテナンス ポリシー設定の表示 メンテナンスのスケジュール変更
memcache.instances.create X X X
memcache.instances.update X X X
memcache.instances.get X X X
memcache.instances.rescheduleMaintenance X X X

次のステップ