Redis AUTH 명령으로 인증 - 아마존 포 ElastiCache 레디스용

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Redis AUTH 명령으로 인증

참고

Redis 인증은 역할 기반 액세스 제어(RBAC)로 대체되었습니다. 모든 서버리스 캐시는 RBAC를 사용해 인증되어야 합니다.

Redis 인증 토큰 또는 암호는 Redis가 클라이언트의 명령 실행을 허용하기 전에 암호를 요구할 수 있게 함으로써 데이터 보안을 개선합니다. Redis 인증은 자체 설계된 클러스터에만 사용할 수 있습니다.

ElastiCache for Redis의 AUTH 개요

ElastiCache for Redis 클러스터에서 Redis AUTH를 사용할 때 몇 가지 제약 사항이 있습니다.

특히 ElastiCache for Redis에서 AUTH를 사용할 때는 이러한 AUTH 토큰 또는 암호 제약 조건에 유의해야 합니다.

  • 토큰 또는 암호는 16~128자 길이의 인쇄 가능한 문자여야 합니다.

  • 영숫자 외의 특수 문자는 (!, &, #, $, ^, <, >, -)로 제한됩니다.

  • AUTH는 전송 중 데이터 암호화가 활성화된 ElastiCache for Redis 클러스터에서만 사용할 수 있습니다.

강력한 토큰을 설정하려면 다음 사항을 요구하는 등 엄격한 암호 정책을 따르는 것이 좋습니다.

  • 토큰 또는 암호에는 다음 문자 유형 중 3개 이상이 포함되어야 합니다.

    • 대문자

    • 소문자

    • Digits

    • 영숫자 이외의 문자(!, &, #, $, ^, <, >, -)

  • 토큰 또는 암호에는 사전에 나오는 단어나 약간 수정한 형태의 사전 단어가 포함되어서는 안 됩니다.

  • 최근에 사용한 것과 같거나 비슷한 토큰 또는 암호도 안 됩니다.

ElastiCache for Redis 클러스터에 인증 적용

토큰 보호 Redis 서버에서 토큰(암호)을 입력하도록 사용자에게 요구할 수 있습니다. 이렇게 하려면 복제 그룹 또는 클러스터를 생성할 때 올바른 토큰을 가진 파라미터 --auth-token(API: AuthToken)을 포함시킵니다. 또한 복제 그룹 또는 클러스터에 대한 모든 후속 명령에 이를 포함시킵니다.

다음 AWS CLI 작업은 전송 중 데이터 암호화(TLS)가 활성화되고 AUTH 토큰 This-is-a-sample-token이 포함된 복제 그룹을 생성합니다. 서브넷 그룹 sng-test는 존재하는 서브넷 그룹으로 대체합니다.

키 파라미터
  • --engine - 반드시 redis여야 합니다.

  • --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에서 전송 중 데이터 암호화가 활성화되어 있는 경우에는 이러한 수정이 가능합니다.

auth 토큰 수정은 ROTATE와 SET 등 두 가지 전략을 지원합니다. ROTATE 전략은 이전 토큰을 유지하면서 서버에 새 AUTH 토큰을 추가합니다. SET 전략은 단일 AUTH 토큰만 지원하도록 서버를 업데이트합니다. --apply-immediately 파라미터를 통해 이러한 수정 호출을 수행하면 변경 사항이 즉시 적용됩니다.

AUTH 토큰 교체

새 AUTH 토큰을 갖도록 Redis 서버를 업데이트하려면 새 AUTH 토큰 역할을 하는 --auth-token 파라미터와 값이 ROTATE인 --auth-token-update-strategyModifyReplicationGroup API를 호출합니다. 수정이 완료되면 클러스터는 auth-token 파라미터에 지정된 것 외에 이전의 AUTH 토큰을 지원하게 됩니다.

참고

이전에 AUTH 토큰을 구성하지 않은 경우 수정이 완료되면 클러스터는 auth-token 파라미터에 지정된 토큰 외에 AUTH 토큰을 지원하지 않습니다.

두 가지 AUTH 토큰을 이미 지원하는 서버에서 이러한 수정을 수행하면 수정 작업이 수행되는 동안 가장 오래된 AUTH 토큰이 제거되기 때문에 서버는 해당 시점에서 가장 최근의 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 토큰 설정

단일 AUTH 토큰을 지원하기 위해 두 개의 AUTH 토큰을 갖도록 Redis 서버를 업데이트하려면 ModifyReplicationGroup API 작업을 호출합니다. 새 AUTH 토큰 역할을 하는 --auth-token 파라미터와 값이 SET인 --auth-token-update-strategy 파라미터로 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 파라미터와 값이 ROTATE인 --auth-token-update-strategy 파라미터로 ModifyReplicationGroup을 호출합니다.

수정이 완료되고 나면 클러스터는 인증 없는 연결을 지원하는 것 외에도 auth-token 파라미터에 지정된 AUTH 토큰을 지원합니다. 인증 활성화는 전송 중 데이터 암호화(TLS)가 활성화된 Redis 서버에서만 지원됩니다.

RBAC에서 Redis AUTH로 마이그레이션션

역할 기반 액세스 제어(RBAC)를 사용한 사용자 인증에 설명된 대로 Redis 역할 기반 액세스 제어(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 인증 기본 사용자 액세스를 선택합니다.

  7. Redis 인증 토큰에서 새 토큰을 설정합니다.

  8. 변경 사항 미리보기를 선택하면 나오는 다음 화면에서 수정을 선택합니다.

AWS CLI를 사용하여 RBAC에서 Redis AUTH로 마이그레이션하려면
  • 다음 명령 중 하나를 사용합니다.

    Linux, macOS 또는 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 작업에 대한 자세한 내용은 redis.io 웹 사이트에서 Auth 토큰(AUTH token)을 참조하세요.

참고

ElastiCache 클러스터에서 액세스 제어를 비활성화해야 하는 경우 ElastiCache Redis 캐시에서 액세스 제어 비활성화 섹션을 참조하세요.