Memorystore には、Identity and Access Management(IAM)を活用した IAM 認証機能が用意されており、ユーザーとサービス アカウントのログイン アクセスをより適切に管理できます。IAM ベースの 認証は Valkey AUTH と統合されており、静的パスワードに依存せずに認証情報(IAM トークン)をシームレスにローテーション できます。
Memorystore インスタンスの IAM 認証を設定する手順については、IAM 認証を管理するをご覧ください。
Valkey の IAM 認証
IAM 認証を使用する場合、Memorystore インスタンスへのアクセス権はエンドユーザーに直接付与されません。代わりに、複数の権限をロールにまとめて、プリンシパルに付与します。詳細については、IAM の概要をご覧ください。
IAM で認証する管理者は、Memorystore IAM 認証を使用して、IAM ポリシーでインスタンスへのアクセス制御を一元管理できます。IAM ポリシーには、次のエンティティが含まれます。
プリンシパル。Memorystore では、ユーザー アカウントとサービス アカウント(アプリケーション用)という 2 種類のプリンシパルを使用できます。その他のプリンシパル タイプ(Google グループ、Google Workspace ドメイン、Cloud Identity ドメインなど)は、IAM 認証ではサポートされていません。詳細については、ID に関するコンセプトをご覧ください。
ロール。Memorystore IAM 認証では、ユーザーにはインスタンスで認証を行うための memorystore.instances.connect 権限が必要となります。この権限を取得するには、事前定義の Memorystore DB Connection User (roles/memorystore.dbConnectionUser)ロールにユーザー アカウントまたはサービス アカウントをバインドします。IAM ロールの詳細については、ロールについてをご覧ください。
リソース。プリンシパルがアクセスするリソースは Memorystore インスタンスです。デフォルトでは、IAM ポリシー バインディングはプロジェクト レベルで適用されるため、プリンシパルはプロジェクト内のすべての Memorystore インスタンスのロール権限を受け取ります。ただし、IAM ポリシー バインディングは特定のインスタンスに制限できます。手順については、 IAM 認証の権限を管理するをご覧ください。
Valkey AUTH コマンド
IAM 認証機能は Valkey AUTH コマンドを使用して IAM と統合されます。これにより、クライアントは IAM アクセス トークンを提示し、 Valkey インスタンスでそれが検証されてからデータへのアクセスが許可されます。
すべてのコマンドと同様に、転送中の暗号化が有効になっていない限り、AUTH コマンドは暗号化されずに送信されます。
AUTH コマンドの例については、IAM 認証を使用するインスタンスに接続するをご覧ください。
IAM アクセス トークンの有効期間
デフォルトでは、 認証の一部として取得した IAM アクセス トークンは、取得後 1 時間で期限切れになります。または、アクセス トークンを生成するときに、トークンの有効期限を 最大 12 時間延長できます。
新しい Valkey 接続を確立するときに、有効なアクセス
トークンをAUTH コマンドを使用して提示する必要があります。トークンが期限切れになった場合は、新しい
トークンを取得して新しい接続を確立する必要があります。ただし、既存の接続をすでに認証している場合は、トークンが期限切れになっても引き続き機能します。
認証済み接続を終了する
接続を終了するには、Valkey CLIENT KILL コマンドを使用します。まず、CLIENT LIST を実行して接続を特定し、CLIENT KILL を実行して終了します。
IAM 認証を有効にする
IAM 認証を有効にしても、定常状態の パフォーマンスは低下しません。ただし、接続を確立できるレートには影響します。
IAM 認証を有効にすると、1 秒間に確立されるクライアント 接続のレートが調整されます。これは、Google Cloud's IAM 認証で新しい接続ごとに認証を行う必要があるためです。定常状態では、アプリケーションは接続プールを有効にするため、この影響は ごくわずかです。ただし、クライアント アプリケーションを再起動またはデプロイすると、新しい接続が急増する可能性があります。クライアントを段階的に更新し、 指数バックオフを実装すると、このレートの低下を吸収できます。
IAM 認証の使用方法のコードサンプルについては、 IAM 認証と転送中の暗号化の両方のコードサンプルをご覧ください。
セキュリティとプライバシー
IAM 認証を使用すると、承認済みの IAM プリンシパルのみが Valkey インスタンスに アクセスできるようにできます。転送中の暗号化が有効になっていない限り、TLS 暗号化は提供されません。このため、IAM 認証を使用する場合は、転送中の暗号化 を有効にすることをおすすめします。
Compute Engine VM で接続する
Compute Engine VM を使用して IAM 認証を使用するインスタンスに接続する 場合は、プロジェクトで次のアクセス スコープと API を有効にする必要があります。
Cloud Platform API スコープ 。このスコープを有効にする手順については、サービス アカウントをアタッチしてアクセス スコープを更新するをご覧ください。このアクセス スコープのベスト プラクティスの説明については、スコープのベスト プラクティスをご覧ください。
Memorystore for Valkey API。API を有効にするリンクについては、次のボタンをクリックします。
Memorystore for Valkey