Redis AUTH コマンドによるユーザーの認証 - Amazon ElastiCache for Redis

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

Redis AUTH コマンドによるユーザーの認証

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

ElastiCache for Redis での AUTH の概要

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

特に、以下の点についても注意してくださいAUTHトークン、またはパスワード、AUTHをElastiCache for Redis:

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

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

  • AUTH は、転送中の暗号化が有効な ElastiCache for Redis クラスターに対してのみ有効にできます。

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

  • トークンまたはパスワードには、以下の種類から 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, or Unix 用:

aws elasticache create-replication-group \ --replication-group-id authtestgroup \ --replication-group-description authtest \ --engine redis \ --engine-version 4.0.10 \ --cache-node-type cache.m4.large \ --num-node-groups 1 \ --replicas-per-node-group 2 \ --cache-parameter-group default.redis3.2.cluster.on \ --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 ^ --engine-version 4.0.10 ^ --cache-node-type cache.m4.large ^ --num-node-groups 1 ^ --replicas-per-node-group 2 ^ --cache-parameter-group default.redis3.2.cluster.on ^ --transit-encryption-enabled ^ --auth-token This-is-a-sample-token ^ --cache-subnet-group sng-test

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

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

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

AUTH トークンの更新

Redis サーバーを新しい AUTH トークンで更新するには、--auth-token パラメータで新しい認証トークンを指定し、--auth-token-update-strategy パラメータで値 ROTATE を指定して、ModifyReplicationGroup API を呼び出します。変更が完了すると、クラスターは、以前の AUTH トークンをサポートし、auth-tokenパラメータ。

注記

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

すでに 2 つの AUTH トークンをサポートするサーバーに対してこの変更が行われると、最も古い AUTH トークンもこのオペレーション中に削除され、その時点でサーバーは最大 2 つの最新の AUTH トークンをサポートすることになります。

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

以下の 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 トークンの設定

2 つの AUTH トークンをサポートする Redis サーバーを、1 つの AUTH トークンをサポートするように更新するには、ModifyReplicationGroup API オペレーションを呼び出します。--auth-token パラメータで新しい AUTH トークンを指定し、--auth-token-update-strategy パラメータで値 SET を指定して、ModifyReplicationGroup を呼び出します。auth-token パラメータの値は、最後に更新された 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 を呼び出します。

この変更が完了すると、クラスターは、認証なしの接続をサポートするだけでなく、auth-token パラメータで指定された 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. [アクション]、[変更] の順に選択します。

    [Modify Cluster] ウィンドウが表示されます。

  6. を使用する場合アクセスコントロールのオプション] で、Redis AUTH デフォルトユーザー

  7. []AUTH トークンのいずれかを受け入れます変更なし、既存のトークンをローテーションするか、新しいトークンを設定します。

  8. [Modify] を選択します。

RBAC から Redis AUTH に移行するには、AWS CLI

  • 以下のいずれかのコマンドを使用します。

    Linux, macOS, or Unix 用:

    aws elasticache modify-replication-group \ --replication-group-id test \ --remove-user-groups \ --auth-token password \ --auth-token-update-strategy SET \ --apply-immediately

    Windows の場合:

    aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token password ^ --auth-token-update-strategy SET ^ --apply-immediately

AUTH での作業の詳細については、AUTH トークンredis.io ウェブサイトの