Redis AUTH について

このページでは、Memorystore for Redis における AUTH の概要を説明します。

Redis インスタンスの AUTH の管理手順については、Redis AUTH の管理をご覧ください。

AUTH 動作

Memorystore for Redis では、AUTH の使用はオプションです。

接続クライアントは、AUTH コマンドの後に Redis インスタンスの AUTH 文字列を送信して開始します。すべての AUTH 文字列は Universally Unique Identifier(UUID)です。AUTH が有効になっている Redis インスタンスには、それぞれ固有の AUTH 文字列があります。

Memorystore for Redis インスタンスで AUTH 機能を有効にすると、接続するには受信クライアント接続を認証する必要があります。クライアントが AUTH 文字列で認証されると、AUTH 文字列を変更しても、その接続の存続期間中は認証されたままになります。

Memorystore for Redis では、インスタンスで AUTH が有効になると、AUTH 文字列が自動的に生成されます。AUTH 文字列は、各 Memorystore インスタンス専用の、ランダムに生成された 36 文字の文字列です。AUTH 文字列は、AUTH が有効にされるたびに一意に生成されます。そのため、AUTH 文字列は、必要に応じて AUTH をオフからオンに切り替えることで変更できます。

すべてのコマンドと同様に、転送中の暗号化が有効になっていない場合、コマンドが転送中にエンドツーエンドで暗号化される保証はありません。これは、クライアント トラフィックが Google Cloud 暗号化標準に基づく VPC ネットワーク レベルベースの暗号化を満たしているという保証がないためです。

クライアント接続に対する AUTH の影響

このセクションでは、Memorystore for Redis インスタンスの AUTH ステータスを変更すると、そのインスタンスのクライアント接続にどのような影響があるかについて説明します。インスタンスには、次のタイプのクライアント接続を設定できます。

  • 確立された接続: クライアントがインスタンスに接続していますが、インスタンスに対して認証されていません。
  • 認証済み接続: クライアントがインスタンスに接続し、インスタンスに対して認証を行います。

動作

次の表に、インスタンスの各バージョンの AUTH ステータスを変更するアクションと、それらのアクションがインスタンスのクライアント接続に与える影響を示します。

アクション バージョン 3.2 ~ 5.0 バージョン 6.x - 7.2
有効化中 AUTH を有効にすると、接続が確立されているかどうかに関係なく、Memorystore for Redis はコマンドを拒否します。 確立された接続からのコマンドは引き続き機能します。ただし、再接続時にクライアントが正しいパスワードを提供しない場合、コマンドは失敗します。
無効化中 確立された接続からのコマンドは引き続き機能します。ただし、再接続時にクライアントが正しいパスワードを提供しても、再接続は失敗します。
ローテーション(無効化と再有効化) 確立され認証された接続からのコマンドは引き続き機能します。ただし、再接続時にクライアントが正しいパスワードを提供しない場合、コマンドは失敗します。

トラブルシューティング

次の表に、インスタンスの AUTH ステータスの変更に関連するエラー メッセージ、該当するバージョン、説明、トラブルシューティング方法を示します。

エラー 該当するバージョン 説明 トラブルシューティング
NOAUTH Authentication required. すべて クライアントはインスタンスに対して認証されていませんが、AUTH は有効になっています。 正しいパスワードで認証するようにクライアント構成を更新します。
ERR invalid password. 3.2 ~ 5.0 クライアントが AUTH コマンドを使用したが、間違ったパスワードを指定した。 正しいパスワードを指定するようにクライアント構成を更新します。
ERR Client sent AUTH, but no password is set. 3.2 ~ 5.0 クライアントがインスタンスに対して認証を試みましたが、AUTH が無効になっています。 クライアント構成で認証を無効にするか、インスタンスで AUTH を有効にします。
WRONGPASS invalid username-password pair or user is disabled. 6.x - 7.2 クライアントが AUTH コマンドを使用しているが、ユーザー名またはパスワードが正しくない。 正しいユーザー名とパスワードを指定するようにクライアント構成を更新します。
ERR AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct? 6.x - 7.2 クライアントがインスタンスに対して認証を試みましたが、AUTH が無効になっています。 クライアント構成で認証を無効にするか、インスタンスで AUTH を有効にします。

セキュリティとプライバシー

AUTH を使用すると、組織内の既知のエンティティによって Redis インスタンスへのアクセスや変更が意図せず行われることを防止できます。AUTH は、データ転送中のセキュリティは提供しません。また、AUTH は VPC ネットワークにアクセスできる悪意のあるエンティティからインスタンスを保護しません。

VPC ネットワークへのアクセスを既知のユーザーとクライアントに制限するようにしてください。詳細については、Redis のセキュリティをご覧ください。

リードレプリカ対応インスタンスで AUTH を使用する

リードレプリカが有効になっているインスタンスで AUTH が有効になっている場合、Redis インスタンスへの接続には AUTH 文字列を使用した初期認証が必要です。

次のステップ

  • Redis AUTH に関連する一般的なタスクを実行する。
  • Redis AUTH タスクを実行するために必要な権限を確認する。