

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

# ロールベースのアクセスコントロール (RBAC)
<a name="Clusters.RBAC"></a>

「[Valkey および Redis OSS AUTH コマンドによる認証](auth.md)」で説明されているように Valkey および Redis OSS の AUTH コマンドを使用すると、ロールベースのアクセスコントロール (RBAC) を使用できます。RBAC は、サーバーレスキャッシュへのアクセスを制御する唯一の手段でもあります。これは、Valkey 7.2 以降と Redis OSS 6.0～7.2 で利用できます。

RBAC により、以下のことが可能になります。
+ ユーザーグループによってキャッシュへのアクセスを制御する。ユーザーグループは、キャッシュへのアクセスを分類する手段として設計されています。
+ *認証*で、クラスターごとの認証トークンではなく、ユーザーごとのパスワードを使用する。
+ *認可*で、きめ細かなユーザーアクセス許可を使用する。
+ ACL に基づいてクラスターにアクセスする。

Valkey および Redis OSS の AUTH では、クライアントのトークンが認証されていれば、認証済みのすべてのクライアントにキャッシュへのフルアクセスが認められますが、RBAC はこれとは異なり、ユーザーが必要とするロールに応じたセットにユーザーを割り当てることができます。このセットは、キャッシュへのアクセスを分類する手段として設計されています。

RBAC では、以下で説明されているように、アクセス文字列を使用してユーザーを作成し、ユーザーに特定のアクセス許可を割り当てます。特定のロール (管理者、人事) に対応したセットにユーザーを割り当てると、そのセットが 1 つ以上の ElastiCache キャッシュにデプロイされます。これにより、同じ Valkey または Redis OSS キャッシュを使用するクライアント間にセキュリティ境界を設定し、クライアントが互いのデータにアクセスできないようにすることができます。

RBAC は、Redis OSS 6 の [ACL](https://valkey.io/topics/acl/) の導入をサポートするように設計されています。ElastiCache Valkey または Redis OSS キャッシュで RBAC を使用する場合、いくつかの制限があります。
+ VALKEY エンジン用に設定されたユーザーグループに含めることができるのは、認証メカニズム (パスワードまたは IAM) を使用しているユーザーのみです。つまり、VALKEY エンジンを使用するすべてのユーザーと、Redis エンジンを使用するその他のユーザーのうち、パスワードまたは IAM で認証するように設定されているユーザーをこのユーザーグループに含めることができます。
+ Valkey クラスターで RBAC を使用する場合、エンジンが VALKEY のユーザーグループとエンジンが REDIS のユーザーグループのどちらも使用できます。
+ Redis OSS クラスターで RBAC を使用する場合、エンジンが REDIS のユーザーグループのみを使用できます。
+ アクセス文字列にパスワードを指定することはできません。パスワードは [CreateUser](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateUser.html) または [ModifyUser](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyUser.html) コールで設定します。
+ ユーザー権限については、`on` と `off` をアクセス文字列の一部として指定することで、ユーザーを有効または無効にします。アクセス文字列にどちらも指定されていない場合、ユーザーには `off` が割り当てられ、キャッシュへのアクセス権はありません。
+ 禁止または名前変更されたコマンドをアクセス文字列の一部として使用することはできません。禁止または名前変更されたコマンドを指定すると、例外がスローされます。名前を変更したコマンドでアクセスコントロールリスト (ACL) を使用する場合は、コマンドの元の名前、つまり名前が変更される前のコマンドの名前を指定します。
+ `reset` コマンドを、アクセス文字列の一部として使用することはできません。API パラメータを用いてパスワードを指定すると、ElastiCache for Valkey と ElastiCache for Redis OSS がパスワードを管理します。したがって、`reset` を使用することはできません。それによりユーザーのすべてのパスワードが削除されるからです。
+ Redis OSS 6 は、[ACL LIST](https://valkey.io/commands/acl-list) コマンドを導入します。このコマンドは、ユーザーのリストと、各ユーザーに適用される ACL ルールを返します。ElastiCache は `ACL LIST` コマンドをサポートしますが、Redis OSS のようにパスワードハッシュのサポートは含まれていません。ElastiCache では、[DescribeUsers](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeUsers.html) オペレーションを使用して、アクセス文字列に含まれるルールなど、同様の情報を取得できます。ただし、[DescribeUsers](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeUsers.html) は、ユーザーパスワードを取得しません。
+ ElastiCache for Valkey と ElastiCache for Redis OSS でサポートされているその他の読み取り専用コマンドには、[ACL WHOAMI](https://valkey.io/commands/acl-whoami)、[ACL USERS](https://valkey.io/commands/acl-users)、[ACL CAT](https://valkey.io/commands/acl-cat) などがあります。ElastiCache for Valkey と ElastiCache for Redis OSS は、他の書き込みベースの ACL コマンドをサポートしません。
+ 以下の制限が適用されます。    
<a name="quotas-table"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonElastiCache/latest/dg/Clusters.RBAC.html)

**Valkey を使用した RBAC**

Valkey でロールベースのアクセスコントロールを使用する場合、ユーザーとユーザーグループは VALKEY エンジンタイプで作成されます。これが推奨されます。デフォルトでは、RBAC で Valkey を使用すると、Redis OSS を使用する場合と比較してセキュリティが向上するためです。プロビジョニングされた Valkey クラスターとサーバーレス Valkey クラスターはどちらも、VALKEY ユーザーおよびユーザーグループの関連付けをサポートします。

Valkey によるアクセスコントロールの主な機能は次のとおりです。
+ Valkey ユーザーは、Valkey ユーザーグループの関連付けのみに制限されます。
+ Valkey ユーザーグループには、Valkey ユーザーと、パスワードで保護されているか IAM 認証が有効になっている Redis OSS ユーザーを含めることができます。
+ Valkey ユーザーは、パスワード保護または IAM 認証を使用する必要があります。
+ VALKEY ユーザーグループは、VALKEY クラスターにのみ関連付けることができます
+ デフォルトユーザーの要件はありません。Valkey ユーザーグループがクラスターにアタッチされると、デフォルトユーザーの要件は自動的に無効になります。ACL LIST コマンドを使用すると、デフォルトユーザーがオフになっていることがわかります。

ElastiCache for Valkey と ElastiCache for Redis OSS での RBAC の使用の詳細については、以下を参照してください。

**Topics**
+ [アクセス文字列を使用したアクセス許可の指定](#Access-string)
+ [ElastiCache for Valkey または ElastiCache for Redis OSS のキャッシュに RBAC を適用する](#rbac-using)
+ [AUTH から RBAC への移行](#Migrate-From-RBAC-to-Auth)
+ [RBAC から AUTH への移行](#Migrate-From-RBAC-to-AUTH-1)
+ [ユーザーのパスワードの自動ローテーション](User-Secrets-Manager.md)
+ [IAM を使用した認証](auth-iam.md)

## アクセス文字列を使用したアクセス許可の指定
<a name="Access-string"></a>

ElastiCache Valkey または Redis OSS キャッシュへのアクセス許可を指定するには、アクセス文字列を作成し、AWS CLIまたは を使用してユーザーに割り当てますAWS マネジメントコンソール。

アクセス文字列は、ユーザーに適用されるスペース区切りルールのリストとして定義されます。それらは、ユーザーが実行できるコマンドと、ユーザーが操作できるキーを定義します。コマンドを実行するには、ユーザーは、実行されているコマンドと、そのコマンドによってアクセスされているすべてのキーにアクセスできる必要があります。ルールは左から右に累積的に適用され、提供された文字列に冗長性がある場合は、提供された文字列の代わりに、より単純な文字列を使用できます。

ACL ルールの構文の詳細については、「[ACL](https://valkey.io/topics/acl/)」を参照してください。

次の例では、アクセス文字列は、使用可能なすべてのキーおよびコマンドにアクセスできるアクティブなユーザーを表します。

 `on ~* +@all`

アクセス文字列の構文は、次のように分類されます。
+ `on` — ユーザーはアクティブなユーザーです。
+ `~*` — アクセス権はすべての使用可能なキーに与えられます。
+ `+@all` — アクセス権はすべての使用可能なコマンドに与えられます。

上記の設定は、最も制限が緩い設定です。これらの設定を変更して、セキュリティを強化できます。

次の例では、アクセス文字列は「app::」キースペースで始まるキーに対する読み取りアクセスに制限されたアクセス権を持つユーザーを表します。

`on ~app::* -@all +@read`

ユーザーがアクセス権を持つコマンドを一覧表示することで、これらのアクセス許可をさらに絞り込むことができます。

`+command1` — ユーザーのコマンドへのアクセスは *`command1`* に制限されます。

 `+@category` — ユーザーのアクセスは、コマンドのカテゴリーに制限されます。

アクセス文字列をユーザーに割り当てる方法については、「[コンソールと CLI を使用したユーザーおよびユーザーグループの作成](#Users-management)」を参照してください。

既存のワークロードを ElastiCache に移行する場合は、`ACL LIST` を呼び出すことでアクセス権を取得して、ユーザーおよびパスワードハッシュを除外できます。

Redis OSS バージョン 6.2 以降では、以下のアクセス文字列構文もサポートされています。
+ `&*` — アクセス権はすべての使用可能なチャネルに与えられます。

Redis OSS バージョン 7.0 以降では、以下のアクセス文字列構文もサポートされています。
+ `|` — サブコマンドをブロックするために使用できます (例:「-config\$1set」)。
+ `%R~<pattern>` — 指定された読み取りキーパターンを追加します。これは通常のキーパターンと同様に動作しますが、指定されたパターンに一致するキーからの読み取り権限のみを許可します。詳細については、「[キーのアクセス許可](https://valkey.io/topics/acl/)」を参照してください。
+ `%W~<pattern>` — 指定された書き込みキーパターンを追加します。これは通常のキーパターンと同様に動作しますが、指定されたパターンに一致するキーに書き込む権限のみを許可します。詳細については、「[ACL key permissions](https://valkey.io/topics/acl/)」を参照してください。
+ `%RW~<pattern>` – `~<pattern>` のエイリアス。
+ `(<rule list>)` — ルールを照合する新しいセレクターを作成します。セレクターはユーザーアクセス許可の後に評価され、定義されている順序に従って評価されます。コマンドがユーザーアクセス許可または任意のセレクターと一致する場合、そのコマンドは許可されます。詳細については、[ACL セレクター](https://valkey.io/topics/acl/)を参照してください。
+ `clearselectors` — ユーザーにアタッチされているセレクターをすべて削除します。

## ElastiCache for Valkey または ElastiCache for Redis OSS のキャッシュに RBAC を適用する
<a name="rbac-using"></a>

ElastiCache for Valkey または ElastiCache for Redis OSS の RBAC を使用するには、次のステップに従います。

1. 1 つ以上のユーザーを作成します。

1. ユーザーグループを作成し、ユーザーをグループに追加します。

1. 転送時の暗号化が有効なキャッシュにユーザーグループを割り当てます。

これらのステップについては、以下で詳しく説明します。

**Topics**
+ [コンソールと CLI を使用したユーザーおよびユーザーグループの作成](#Users-management)
+ [コンソールおよび CLI を使用したユーザーグループの管理](#User-Groups)
+ [サーバーレスキャッシュへのユーザーグループの割り当て](#Users-groups-to-serverless-caches)
+ [レプリケーショングループへのユーザーグループの割り当て](#Users-groups-to-RGs)

### コンソールと CLI を使用したユーザーおよびユーザーグループの作成
<a name="Users-management"></a>

RBAC ユーザーのユーザー情報は、ユーザー ID、ユーザー名、およびオプションのパスワードとアクセス文字列です。アクセス文字列は、キーとコマンドでのアクセス許可レベルを提供します。ユーザー ID はユーザーに対して一意であり、ユーザー名はエンジンに渡されるものです。

指定するユーザー許可が、ユーザーグループの意図した目的に合っていることを確認してください。たとえば、`Administrators` という名前のユーザーグループを作成した場合、そのグループに追加するすべてのユーザーは、キーおよびコマンドへのフルアクセスに設定されたアクセス文字列を持つ必要があります。`e-commerce` ユーザーグループ内のユーザーでは、アクセス文字列を読み取り専用アクセスに設定できます。

ElastiCache は、ユーザー ID とユーザー名 `"default"` を使用してデフォルトユーザーを自動的に設定し、それをすべてのユーザーグループに追加します。このユーザーを変更または削除することはできません。このユーザーは、以前の Redis OSS バージョンのデフォルト動作との互換性を意図して作成されており、すべてのコマンドを呼び出してすべてのキーにアクセスできるようにするアクセス文字列を持っています。

適切なアクセスコントロールをキャッシュに追加するには、このデフォルトユーザーを、有効になっていない、または強力なパスワードを使用する新しいユーザーに置き換えます。デフォルトユーザーを変更するには、ユーザー名が `default` に設定された新しいユーザーを作成します。その後、元のデフォルトユーザーと入れ替えることができます。

次の手順では、元の `default` ユーザーを、変更されたアクセス文字列を持つ別の `default` ユーザーと入れ替える方法を示します。

**コンソールでデフォルトユーザーを変更するには**

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

1. ナビゲーションペインで **[ユーザーグループの管理]** を選択します。

1. **[ユーザーグループ ID]** で、変更対象の ID を選択します。チェックボックスではなく、リンクを選択するようにしてください。

1. **[Modify]** (変更) を選択します。

1. **[変更]** ウィンドウで、**[管理]** を選択します。[目的のユーザーを選択する] で、その**ユーザー名**のユーザーをデフォルトとして選択します。

1. **選択** を選択します。

1. **[Modify]** (変更) を選択します。これを行うと、元のデフォルトユーザーが確立していたキャッシュへの既存の接続はすべて終了します。

**を使用してデフォルトユーザーを変更するにはAWS CLI**

1. 以下のコマンドを使用して、ユーザー名 `default` で新しいユーザーを作成します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache create-user \
    --user-id "new-default-user" \
    --user-name "default" \
    --engine "VALKEY" \
    --passwords "a-str0ng-pa))word" \
    --access-string "off +get ~keys*"
   ```

   Windows の場合:

   ```
   aws elasticache create-user ^
    --user-id "new-default-user" ^
    --user-name "default" ^
    --engine "VALKEY" ^
    --passwords "a-str0ng-pa))word" ^
    --access-string "off +get ~keys*"
   ```

1. ユーザーグループを作成し、前に作成したユーザーを追加します。

   Linux、macOS、Unix の場合:

   ```
   aws elasticache create-user-group \
     --user-group-id "new-group-2" \
     --engine "VALKEY" \
     --user-ids "new-default-user"
   ```

   Windows の場合:

   ```
   aws elasticache create-user-group ^
     --user-group-id "new-group-2" ^
     --engine "VALKEY" ^
     --user-ids "new-default-user"
   ```

ユーザーを作成するときは、最大 2 つのパスワードを設定できます。パスワードを変更しても、キャッシュへの既存の接続はすべて維持されます。

特に、ElastiCache for Valkey と ElastiCache for Redis OSS で RBAC を使用する場合は、以下のユーザーパスワードの制約に注意してください。
+ パスワードは、印刷可能な 16～128 文字にする必要があります。
+ 次の英数字以外の文字は使用できません: `,` `""` `/` `@`。

#### コンソールおよび CLI を使用したユーザーの管理
<a name="Users-console"></a>

コンソール上でユーザーを管理するには、次の手順に従います。

**コンソールでユーザーを管理するには**

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

1. Amazon ElastiCache ダッシュボードで、**[ユーザー管理]** を選択します。次のオプションを使用できます。
   + **[ユーザーを作成]** — ユーザーの作成時に、ユーザー ID、ユーザー名、認証モード、およびアクセス文字列を入力します。アクセス文字列は、ユーザーが許可されたキーとコマンドのアクセス許可レベルを設定します。

     ユーザーを作成するときは、最大 2 つのパスワードを設定できます。パスワードを変更しても、キャッシュへの既存の接続はすべて維持されます。
   + **[ユーザーを変更]** — ユーザーの認証設定を更新したり、アクセス文字列を変更したりできます。
   + **[ユーザーを削除]** — アカウントは、所属先のすべてのユーザーグループから削除されます。

AWS CLIでユーザーを管理するには、次の手順を使用します。

**CLI を使用してユーザーを変更するには**
+  `modify-user` コマンドを使用して、ユーザーのパスワードまたはパスワードを更新したり、ユーザーのアクセス権を変更したりします。

  ユーザーが変更されると、そのユーザーに関連付けられたユーザーグループが更新され、そのユーザーグループに関連付けられたキャッシュも更新されます。既存の接続はすべて維持されます。以下は例です。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache modify-user \
    --user-id user-id-1 \
    --access-string "~objects:* ~items:* ~public:*" \
    --authentication-mode Type=iam
  ```

  Windows の場合:

  ```
  aws elasticache modify-user ^
    --user-id user-id-1 ^
    --access-string "~objects:* ~items:* ~public:*" ^
    --authentication-mode Type=iam
  ```

**注記**  
`nopass` オプションを使用することは推奨されません。その場合、ユーザーのアクセス許可を読み取り専用に設定して、限定されたキーのセットにアクセスすることをお勧めします。

**CLI を使用してサービスロールを削除するには**
+ ユーザーを削除するには、`delete-user` コマンドを使用します。アカウントが削除され、そのアカウントが属するユーザーグループから削除されます。以下に例を示します。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache delete-user \
    --user-id user-id-2
  ```

  Windows の場合:

  ```
  aws elasticache delete-user ^
    --user-id user-id-2
  ```

ユーザーのリストを表示するには、[describe-users](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-users.html) オペレーションを呼び出します。

```
aws elasticache describe-users
```

### コンソールおよび CLI を使用したユーザーグループの管理
<a name="User-Groups"></a>

次に示すように、ユーザーグループを作成して、1 つまたは複数のレプリケーショングループに対するユーザーのアクセスを分類および制御できます。

コンソールを使用してユーザーグループを管理するには、次の手順に従います。

**コンソールを使用してユーザーグループを管理するには**

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

1. Amazon ElastiCache ダッシュボードで、**[ユーザーグループの管理]** を選択します。

   以下のオペレーションは、新しいユーザーグループを作成するために使用できます。
   + **[作成]** – ユーザーグループの作成時に、ユーザーを追加し、ユーザーグループをキャッシュに割り当てます。例えば、キャッシュで管理者ロールを持つユーザーの `Admin` ユーザーグループを作成できます。
**重要**  
Valkey または Redis OSS ユーザーグループを使用していない場合は、ユーザーグループを作成するときにデフォルトユーザーを含める必要があります。
   + **[ユーザーの追加]** — ユーザーをユーザーグループに追加します。
   + **[ユーザーの削除]** — ユーザーグループからユーザーを削除します。ユーザーがユーザーグループから削除された場合、そのユーザーが確立しているキャッシュへの既存の接続はすべて終了します。
   + **[削除]** — ユーザーグループを削除します。グループに属するユーザーではなく、ユーザーグループ自体が削除されることに注意してください。

   既存のユーザーグループでは、次のことを実行できます。
   + [**ユーザーの追加**] — 既存のユーザーをユーザーグループに追加します。
   + [**ユーザーを削除する**] — ユーザーグループから既存のユーザーを削除します。
**注記**  
ユーザーはユーザーグループから削除されますが、システムからは削除されません。

次の手順で、CLI を使用してユーザーグループを管理します。

**CLI を使用して新しいユーザーグループを作成し、ユーザーを追加するには**
+ 次に示すように、`create-user-group` コマンドを使用します。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache create-user-group \
    --user-group-id "new-group-1" \
    --engine "VALKEY" \
    --user-ids user-id-1, user-id-2
  ```

  Windows の場合:

  ```
  aws elasticache create-user-group ^
    --user-group-id "new-group-1" ^
    --engine "VALKEY" ^
    --user-ids user-id-1, user-id-2
  ```

**CLI を使用して新しいユーザーを追加するか、現在のメンバーを削除してユーザーグループを変更するには**
+ 次に示すように、`modify-user-group` コマンドを使用します。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache modify-user-group --user-group-id new-group-1 \
  --user-ids-to-add user-id-3 \
  --user-ids-to-remove user-id-2
  ```

  Windows の場合:

  ```
  aws elasticache modify-user-group --user-group-id new-group-1 ^
  --user-ids-to-add user-id-3 ^
  --user-ids-to-removere user-id-2
  ```

**注記**  
ユーザーグループから削除されたユーザーに属する開いている接続はすべて、このコマンドによって終了します。

**CLI を使用してターゲットグループを削除するには**
+ 次に示すように、`delete-user-group` コマンドを使用します。グループに属するユーザーではなく、ユーザーグループ自体が削除されます。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache delete-user-group /
     --user-group-id
  ```

  Windows の場合:

  ```
  aws elasticache delete-user-group ^
     --user-group-id
  ```

ユーザーグループのリストを表示するには、[describe-user-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-user-groups.html) オペレーションを呼び出すことができます。

```
aws elasticache describe-user-groups \
  --user-group-id test-group
```

### サーバーレスキャッシュへのユーザーグループの割り当て
<a name="Users-groups-to-serverless-caches"></a>

ユーザーグループを作成してユーザーを追加した後、RBAC の実装手順の締めくくりとして、ユーザーグループをサーバーレスキャッシュに割り当てます。

#### コンソールを使用したサーバーレスキャッシュへのユーザーグループの割り当て
<a name="Users-groups-to-SCs-CON"></a>

を使用してサーバーレスキャッシュにユーザーグループを追加するにはAWS マネジメントコンソール、次の手順を実行します。
+ クラスターモードが無効の場合は、「[Valkey (クラスターモードが無効) クラスターの作成 (コンソール)](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)」を参照してください。
+ クラスターモードが有効の場合は、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)」を参照してください。

#### を使用したサーバーレスキャッシュへのユーザーグループの割り当てAWS CLI
<a name="Users-groups-to-SCs-CLI"></a>

 次のAWS CLIオペレーションでは、値 の **user-group-id**パラメータを使用してサーバーレスキャッシュを作成します`my-user-group-id`。サブネット グループ `sng-test` を、実存のサブネットグループに置き換えます。

**主要パラメータ**
+ **--engine** — `VALKEY` または `REDIS` を指定する必要があります。
+ **--user-group-id** — この値には、キャッシュへの特定のアクセス許可を割り当てられたユーザーで構成されるユーザーグループの ID を指定します。

Linux、macOS、Unix の場合:

```
aws elasticache create-serverless-cache \
    --serverless-cache-name "new-serverless-cache" \
    --description "new-serverless-cache" \
    --engine "VALKEY" \
    --user-group-id "new-group-1"
```

Windows の場合:

```
aws elasticache create-serverless-cache ^
    --serverless-cache-name "new-serverless-cache" ^
    --description "new-serverless-cache" ^
    --engine "VALKEY" ^
    --user-group-id "new-group-1"
```

次のAWS CLIオペレーションでは、値 の **user-group-id**パラメータを使用してサーバーレスキャッシュを変更します`my-user-group-id`。

Linux、macOS、Unix の場合:

```
aws elasticache modify-serverless-cache \
    --serverless-cache-name serverless-cache-1 \
    --user-group-id "new-group-2"
```

Windows の場合:

```
aws elasticache modify-serverless-cache ^
    --serverless-cache-name serverless-cache-1 ^
    --user-group-id "new-group-2"
```

キャッシュに加えられた変更は、非同期で更新されます。イベントを表示して、この進行状況をモニタリングできます。詳細については、「[ElastiCache イベントの表示](ECEvents.Viewing.md)」を参照してください。

### レプリケーショングループへのユーザーグループの割り当て
<a name="Users-groups-to-RGs"></a>

ユーザーグループを作成してユーザーを追加した後、RBAC を実装する最後の手順では、ユーザーグループをレプリケーショングループに割り当てます。

#### コンソールを使用したレプリケーショングループへのユーザーグループの割り当て
<a name="Users-groups-to-RGs-CON"></a>

を使用してレプリケーションにユーザーグループを追加するにはAWS マネジメントコンソール、次の手順を実行します。
+ クラスターモードが無効の場合は、「[Valkey (クラスターモードが無効) クラスターの作成 (コンソール)](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)」を参照してください。
+ クラスターモードが有効の場合は、「[Valkey または Redis OSS (クラスターモードが有効) クラスターの作成 (コンソール)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)」を参照してください。

#### を使用したレプリケーショングループへのユーザーグループの割り当てAWS CLI
<a name="Users-groups-to-RGs-CLI"></a>

 次のAWS CLIオペレーションでは、転送中の暗号化 (TLS) が有効になっているレプリケーショングループと、値 を持つ **user-group-ids**パラメータを作成します`my-user-group-id`。サブネット グループ `sng-test` を、実存のサブネットグループに置き換えます。

**主要パラメータ**
+ **--engine** — `valkey` または `redis` を指定する必要があります。
+ **--engine-version** - 6.0 以降を指定する必要があります。
+ **--transit-encryption-enabled** — 認証およびユーザーグループの関連付けに必要です。
+ **--user-group-ids** — この値には、キャッシュへの特定のアクセス許可を割り当てられたユーザーで構成されるユーザーグループの ID を指定します。
+ **--cache-subnet-group** — ユーザーグループを関連付けるために必要です。

Linux、macOS、Unix の場合:

```
aws elasticache create-replication-group \
    --replication-group-id "new-replication-group" \
    --replication-group-description "new-replication-group" \
    --engine "VALKEY" \
    --cache-node-type cache.m5.large \
    --transit-encryption-enabled \
    --user-group-ids "new-group-1" \
    --cache-subnet-group "cache-subnet-group"
```

Windows の場合:

```
aws elasticache create-replication-group ^
    --replication-group-id "new-replication-group" ^
    --replication-group-description "new-replication-group" ^
    --engine "VALKEY" ^
    --cache-node-type cache.m5.large ^
    --transit-encryption-enabled ^
    --user-group-ids "new-group-1" ^
    --cache-subnet-group "cache-subnet-group"
```

次のAWS CLIオペレーションでは、転送中の暗号化 (TLS) が有効になっているレプリケーショングループと、値 の **user-group-ids**パラメータを変更します`my-user-group-id`。

Linux、macOS、Unix の場合:

```
aws elasticache modify-replication-group \
    --replication-group-id replication-group-1 \
    --user-group-ids-to-remove "new-group-1" \
    --user-group-ids-to-add "new-group-2"
```

Windows の場合:

```
aws elasticache modify-replication-group ^
    --replication-group-id replication-group-1 ^
    --user-group-ids-to-remove "new-group-1" ^
    --user-group-ids-to-add "new-group-2"
```

レスポンス内の `PendingChanges` を書き留めます。キャッシュに加えられた変更は、非同期で更新されます。イベントを表示して、この進行状況をモニタリングできます。詳細については、「[ElastiCache イベントの表示](ECEvents.Viewing.md)」を参照してください。

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

「[Valkey および Redis OSS AUTH コマンドによる認証](auth.md)」で説明されているように、AUTH を使用していて RBAC の使用に移行するには、次の手順を使用します。

次の手順で、コンソールを使用して AUTH から RBAC に移行します。

**コンソールを使用して Valkey または Redis OSS の AUTH から RBAC に移行するには**

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

1. 右上隅のリストから、変更するキャッシュがあるAWSリージョンを選択します。

1. ナビゲーションペインで、変更対象のキャッシュで実行されているエンジンを選択します。

   選択したエンジンのキャッシュのリストが表示されます。

1. キャッシュのリストで、変更対象のキャッシュの名前を選択します。

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

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

1. **[アクセスコントロール]** で、**[ユーザーグループのアクセスコントロールリスト]** を選択します。

1.  **[ユーザーグループのアクセスコントロールリスト]** で、ユーザーグループを選択します。

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

次の手順で、CLI を使用して Valkey または Redis OSS の AUTH から RBAC に移行します。

**CLI を使用して AUTH から RBAC に移行するには**
+  次に示すように、`modify-replication-group` コマンドを使用します。

  Linux、macOS、Unix の場合:

  ```
  aws elasticache modify-replication-group --replication-group-id test \
      --auth-token-update-strategy DELETE \
      --user-group-ids-to-add user-group-1
  ```

  Windows の場合:

  ```
  aws elasticache modify-replication-group --replication-group-id test ^
      --auth-token-update-strategy DELETE ^
      --user-group-ids-to-add user-group-1
  ```

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

RBAC を使用していて、Redis OSS の AUTH に移行する場合は、「[RBAC から AUTH への移行](auth.md#Migrate-From-RBAC-to-AUTH)」を参照してください。

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