Redis AUTH コマンドによる認証 - Amazon ElastiCache for Redis

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Redis AUTH コマンドによる認証

注記

Redis AUTHは に置き換えられましたロールベースのアクセスコントロール (RBAC)。すべてのサーバーレスキャッシュでは、認証時に RBAC を使用する必要があります。

Redis 認証トークンまたはパスワードにより、Redis はクライアントにコマンドの実行を許可する前にパスワードを要求できるため、データセキュリティが向上します。Redis AUTHは独自設計型クラスターでのみ使用できます。

ElastiCache for Redis の AUTH の概要

ElastiCache for Redis クラスターAUTHで Redis を使用する場合、いくつかの改良点があります。

特に、 for Redis で AUTH を使用する場合は、次の AUTH トークンまたはパスワード ElastiCache の制約に注意してください。

  • トークン、またはパスワードは、印刷可能な 16~128 文字である必要があります。

  • 英数字以外の文字は、(!、&、#、$、^、<、>、-) に制限されています。

  • AUTH は、Redis クラスターで転送中の暗号化 ElastiCache が有効になっている場合にのみ有効にできます。

強力なトークンを設定するには、以下の要件を満たすなど、厳格なパスワードポリシーに従うことをお勧めします。

  • トークンまたはパスワードには、次の文字タイプのうち少なくとも 3 つを含める必要があります。

    • 英大文字

    • 英小文字

    • 数字

    • アルファベット以外の文字 (!&#$^<>-)

  • トークンまたはパスワードには、ディクショナリワードまたはわずかに変更されたディクショナリワードを含めることはできません。

  • トークンまたはパスワードは、最近使用したトークンと同じ、または類似するものであってはなりません。

ElastiCache for Redis クラスターへの認証の適用

トークン (パスワード) で保護された Redis サーバーでユーザーにトークンの入力を要求できます。そのためには、レプリケーショングループまたはクラスターを作成するときに、正しいトークンを指定したパラメータ --auth-token (API: AuthToken) を含めます。また、レプリケーショングループまたはクラスターに対する後続のすべてのコマンドにもそのパラメータを含めます。

次の AWS CLI オペレーションでは、転送時の暗号化 (TLS) が有効で、AUTHトークン を持つレプリケーショングループを作成しますThis-is-a-sample-token。サブネット グループ sng-test を、実存のサブネットグループに置き換えます。

キーのパラメータ
  • --engineredis を指定する必要があります。

  • --engine-version — 3.2.6 または 4.0.10 以降を指定する必要があります。

  • --transit-encryption-enabled — 認証と HIPAA 適格性に必要です。

  • --auth-token — HIPAA 適格性に必要です。この値は、このトークンで保護された Redis サーバーの正しいトークンであることが必要です。

  • --cache-subnet-group — HIPAA 適格性に必要です。

Linux、macOS、Unix の場合:

aws elasticache create-replication-group \ --replication-group-id authtestgroup \ --replication-group-description authtest \ --engine redis \ --cache-node-type cache.m4.large \ --num-node-groups 1 \ --replicas-per-node-group 2 \ --transit-encryption-enabled \ --auth-token This-is-a-sample-token \ --cache-subnet-group sng-test

Windows の場合:

aws elasticache create-replication-group ^ --replication-group-id authtestgroup ^ --replication-group-description authtest ^ --engine redis ^ --cache-node-type cache.m4.large ^ --num-node-groups 1 ^ --replicas-per-node-group 2 ^ --transit-encryption-enabled ^ --auth-token This-is-a-sample-token ^ --cache-subnet-group sng-test

既存の ElastiCache for Redis クラスターの AUTH トークンの変更

認証の更新を容易にするために、 ElastiCache for Redis クラスターで使用されるAUTHトークンを変更できます。エンジンバージョンが 5.0.6 以降で、 ElastiCache for Redis で転送中の暗号化が有効になっている場合は、この変更を行うことができます。

認証トークンの変更は、ROTATE と SET の 2 つの戦略をサポートしています。ROTATE 戦略は、以前のトークンを保持しながら、サーバーに AUTH トークンを追加します。SET 戦略は、単一の AUTH トークンのみをサポートするようにサーバーを更新します。変更をすぐに適用するには、これらの変更の呼び出しで --apply-immediately パラメータを指定します。

AUTH トークンの更新

Redis サーバーを新しい AUTH トークン で更新するには、 --auth-tokenパラメータを新しいAUTHトークンとして ModifyReplicationGroup API を呼び出し、 値を ROTATE --auth-token-update-strategyとして呼び出します。ROTATE の変更が完了すると、クラスターは auth-tokenパラメータで指定されたトークンに加えて、以前の AUTH トークンをサポートします。AUTH トークンのローテーション前にレプリケーショングループに AUTH トークンが設定されていない場合、クラスターは認証なしの接続をサポートするだけでなく、 --auth-tokenパラメータで指定された AUTH トークンもサポートします。更新戦略 SET AUTH トークンの設定 を使用して AUTH トークンを必須に更新するには、「」を参照してください。

注記

AUTH トークンを前もって設定しない場合、変更が完了すると、クラスターは auth-token パラメータで指定されたもの以外の AUTH トークンをサポートしません。

この変更が既に 2 つの AUTH トークンをサポートしているサーバーで実行された場合、このオペレーション中に最も古い AUTH トークンも削除されます。これにより、サーバーは一度に最大 2 つの最新の AUTH トークンをサポートできます。

この時点で、最新の AUTH トークンを使用するようにクライアントを更新することで続行できます。クライアントが更新された後、AUTH トークンの更新に関する SET 戦略 (次のセクションで説明) を採用して、新しいトークンのみの使用を開始できます。

次の AWS CLI オペレーションでは、AUTHトークン をローテーションするようにレプリケーショングループを変更しますThis-is-the-rotated-token

Linux、macOS、Unix の場合:

aws elasticache modify-replication-group \ --replication-group-id authtestgroup \ --auth-token This-is-the-rotated-token \ --auth-token-update-strategy ROTATE \ --apply-immediately

Windows の場合:

aws elasticache modify-replication-group ^ --replication-group-id authtestgroup ^ --auth-token This-is-the-rotated-token ^ --auth-token-update-strategy ROTATE ^ --apply-immediately

AUTH トークンの設定

1 つの必須AUTHトークンをサポートするように Redis サーバーを更新するには、最後の AUTH トークンと同じ値を持つ --auth-tokenパラメータと値を持つ --auth-token-update-strategyパラメータを使用して ModifyReplicationGroup API オペレーションを呼び出しますSET。SET 戦略は、以前に ROTATE 戦略を使用した から 2 つの AUTH トークンまたは 1 つのオプションの AUTH トークンを持つクラスターでのみ使用できます。変更が完了すると、Redis サーバーは auth-token パラメータで指定された AUTH トークンのみをサポートします。

次の AWS CLI オペレーションでは、AUTH トークンを に設定するようにレプリケーショングループを変更しますThis-is-the-set-token

Linux、macOS、Unix の場合:

aws elasticache modify-replication-group \ --replication-group-id authtestgroup \ --auth-token This-is-the-set-token \ --auth-token-update-strategy SET \ --apply-immediately

Windows の場合:

aws elasticache modify-replication-group ^ --replication-group-id authtestgroup ^ --auth-token This-is-the-set-token ^ --auth-token-update-strategy SET ^ --apply-immediately

既存の ElastiCache for Redis クラスターでの認証の有効化

既存の Redis サーバーで認証を有効にするには、ModifyReplicationGroup API オペレーションを呼び出します。--auth-token パラメータで新しいトークンを指定し、--auth-token-update-strategy パラメータで値 ROTATE を指定して、ModifyReplicationGroup を呼び出します。

ROTATE の変更が完了すると、クラスターは認証なしの接続をサポートするだけでなく、 --auth-tokenパラメータで指定されたAUTHトークンもサポートします。すべてのクライアントアプリケーションが更新され、AUTH トークンで Redis に認証されたら、SET 戦略を使用して AUTH トークンを必要に応じてマークします。認証の有効化は、転送中の暗号化 (TLS) が有効な Redis サーバーでのみサポートされます。

RBAC から Redis AUTH への移行

で説明されているように Redis ロールベースのアクセスコントロール (RBAC) を使用してユーザーを認証していてロールベースのアクセスコントロール (RBAC)、Redis AUTH に移行する場合は、次の手順を使用します。コンソールまたは CLI を使用して移行できます。

コンソールを使用して RBAC から Redis AUTH に移行するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/elasticache/ で ElastiCache コンソールを開きます。

  2. 右上隅のリストから、変更するクラスターがある AWS リージョンを選択します。

  3. ナビゲーションペインで、変更するクラスターで実行されているエンジンを選択します。

    選択したエンジンのクラスターが一覧表示されます。

  4. クラスターのリストで、変更するクラスターの名前を選択します。

  5. [アクション][変更] の順に選択します。

    [変更] ウィンドウが表示されます。

  6. [アクセスコントロール] で、[Redis AUTH デフォルトユーザーアクセス] を選択します。

  7. [Redis 認証トークン] で、新しいトークンを設定します。

  8. [変更をプレビュー] を選択し、次の画面で [変更] を選択します。

を使用して RBAC から Redis AUTH に移行するには AWS CLI

次のいずれかのコマンドを使用して、Redis レプリケーショングループの新しいオプションAUTHトークンを設定します。オプションの Auth トークンは、SET次のステップの更新戦略を使用して、Auth トークンが必須としてマークされるまで、レプリケーショングループへの認証されていないアクセスを許可することに注意してください。

Linux、macOS、Unix の場合:

aws elasticache modify-replication-group \ --replication-group-id test \ --remove-user-groups \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy ROTATE \ --apply-immediately

Windows の場合:

aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy ROTATE ^ --apply-immediately

上記のコマンドを実行した後、新しく設定されたオプションの AUTH トークンを使用して、Redis アプリケーションを更新して ElastiCache レプリケーショングループに認証できます。認証トークンのローテーションを完了するには、次のコマンドSETで更新戦略を使用します。これにより、必要に応じてオプションの AUTH トークンにマークされます。認証トークンの更新が完了すると、レプリケーショングループのステータスは と表示ACTIVEされ、このレプリケーショングループへのすべての Redis 接続には認証が必要です。

Linux、macOS、Unix の場合:

aws elasticache modify-replication-group \ --replication-group-id test \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy SET \ --apply-immediately

Windows の場合:

aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy SET ^ --apply-immediately

詳細については、「Redis AUTH コマンドによる認証」を参照してください。

注記

ElastiCache クラスターのアクセスコントロールを無効にする必要がある場合は、「」を参照してくださいElastiCache Redis キャッシュでのアクセス制御の無効化