

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

# Valkey および Redis OSS AUTH コマンドによる認証
<a name="auth"></a>

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

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

**Topics**
+ [Valkey と Redis OSS に対応した ElastiCache の AUTH の概要](#auth-overview)
+ [Valkey と Redis OSS に対応した ElastiCache クラスターへの認証の適用](#auth-using)
+ [既存のクラスターでの AUTH トークンの変更](#auth-modifyng-token)
+ [RBAC から AUTH への移行](#Migrate-From-RBAC-to-AUTH)

## Valkey と Redis OSS に対応した ElastiCache の AUTH の概要
<a name="auth-overview"></a>

Valkey と Redis OSS に対応した ElastiCache クラスターで **AUTH** を使用する場合、微調整がいくつかあります。

特に、AUTH を使用する場合は、AUTH トークンまたはパスワードに関する以下の制約に注意してください。
+ トークン、またはパスワードは、印刷可能な 16～128 文字である必要があります。
+ 英数字以外の文字は、(\$1、&、\$1、\$1、^、<、>、-) に制限されています。
+ AUTH は、送信中の暗号化が有効な Valkey または Redis OSS のクラスターでのみ有効にできます。

強力なトークンを設定するには、以下の要件を満たすなど、厳格なパスワードポリシーに従うことをお勧めします。
+ トークンまたはパスワードには、以下の種類から 3 種類以上の文字が含まれている必要があります。
  + 英大文字
  + 英小文字
  + 数字 
  + アルファベット以外の文字 (`!`、`&`、`#`、`$`、`^`、`<`、`>`、`-`)
+ トークンまたはパスワードに、辞書に載っている単語またはそれを少し変更したような単語を使用することはできません。
+ トークンまたはパスワードは、最近使用したトークンと同じまたは類似していてはなりません。

## Valkey と Redis OSS に対応した ElastiCache クラスターへの認証の適用
<a name="auth-using"></a>

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

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

**キーのパラメータ**
+ **--engine** — `valkey` または `redis` を指定する必要があります。
+ **--engine-version** — エンジンが Redis OSS の場合、3.2.6、4.0.10 以降である必要があります。
+ **--transit-encryption-enabled** — 認証と HIPAA 適格性に必要です。
+ **--auth-token** — HIPAA 適格性に必要です。この値は、このトークンで保護された Valkey または Redis OSS サーバーの正しいトークンであることが必要です。
+ **--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
```

## 既存のクラスターでの AUTH トークンの変更
<a name="auth-modifyng-token"></a>

認証の更新を容易にするために、クラスターで使用される **AUTH** トークンを変更できます。エンジンバージョンが Valkey 7.2 以降または Redis 5.0.6 以降であれば、この変更を行うことができます。ElastiCache では、転送中の暗号化も有効にする必要があります。

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

### AUTH トークンの更新
<a name="auth-modifyng-rotate"></a>

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

**注記**  
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 トークンの設定
<a name="auth-modifying-set"></a>

Valkey または Redis OSS サーバーを更新して単一の必須 **AUTH** トークンをサポートするには、最後の AUTH トークンと同じ値で `--auth-token` パラメータを指定し、値 `SET` で `--auth-token-update-strategy` パラメータを指定して、`ModifyReplicationGroup` API オペレーションを呼び出します。SET 戦略は、以前に ROTATE 戦略を使用することで 2 つの AUTH トークンまたは 1 つのオプションの AUTH トークンを持つクラスターでのみ使用できます。この変更が完了すると、サーバーは、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
```

### 既存のクラスターでの認証の有効化
<a name="auth-enabling"></a>

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

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

## RBAC から AUTH への移行
<a name="Migrate-From-RBAC-to-AUTH"></a>

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

**コンソールを使用して RBAC から AUTH に移行するには**

1. にサインインAWS マネジメントコンソールし、[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) で ElastiCache コンソールを開きます。

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

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

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

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

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

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

1. **[アクセスコントロール]** で、**[Valkey 認証デフォルトユーザーアクセス]** または **[Redis OSS 認証デフォルトユーザーアクセス]** を選択します。

1. **[Valkey 認証トークン]** または **[Redis OSS 認証トークン]** で、新しいトークンを設定します。

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

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

次のいずれかのコマンドを使用して、Valkey または Redis OSS レプリケーショングループの新しいオプションの **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 トークンを使用して、Valkey または Redis OSS アプリケーションを更新して ElastiCache レプリケーショングループに対して認証できます。Auth トークンローテーションを完了するには、次のコマンドで更新戦略 `SET` を使用します。これにより、オプションの AUTH トークンが必須としてマークされます。Auth トークンの更新が完了すると、レプリケーショングループのステータスは `ACTIVE` として表示され、このレプリケーショングループへのすべての接続には認証が必要になります。

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
```

詳細については、「[Valkey および Redis OSS AUTH コマンドによる認証](#auth)」を参照してください。

**注記**  
ElastiCache クラスターのアクセスコントロールを無効にする必要がある場合は、「[ElastiCache Valkey または Redis OSS キャッシュでアクセスコントロールを無効にする](in-transit-encryption-disable.md)」を参照してください。