Identity and Access Management (IAM) 인증 외에도 기본 토큰 기반 인증을 사용하여 Memorystore for Valkey 인스턴스에 대한 액세스를 보호할 수 있습니다. 기본 토큰 기반 인증은 경량 솔루션으로, 클라이언트가 토큰을 사용하여 애플리케이션 내에서 ID를 확인할 수 있도록 합니다.
기본 토큰 기반 인증은 리소스 요구사항이 최소화되고 리소스 오버헤드가 낮습니다. 또한 Memorystore for Redis 또는 온프레미스 애플리케이션의 현재 워크로드에서 이미 기본 토큰 기반 인증을 사용하는 경우 이 기능을 사용하면 Memorystore for Valkey로 이전할 때 원활하게 전환할 수 있습니다.
혜택
기본 토큰 기반 인증을 사용하면 다음과 같은 이점이 있습니다.
- 유연성: 새 인스턴스 및 기존 인스턴스의 경우 언제든지 인증을 사용 설정합니다. 기본 토큰 기반 인증을 사용 설정하면 인스턴스가 보호됩니다. 모든 새 연결의 경우 사용자는 인스턴스에 인증하려면 인증 토큰을 제공해야 합니다.
- 무중단 순환: 애플리케이션에 다운타임을 일으키지 않고 사용자 토큰을 순환합니다.
- 호환성:
default수퍼유저는 이 사용자에게 부여된 것과 동일한 권한을 유지합니다. 기본 토큰 기반 인증은 추가 보호 계층을 추가합니다. 이렇게 하면 Memorystore for Redis에서 Memorystore for Valkey로 워크로드를 이전할 때 이전 버전과의 호환성이 보장됩니다.
인증 모드
기본 토큰 기반 인증은 두 가지 기본 인증 모드를 지원합니다.
- 간단한 인증: 사용자가
인증 토큰을 전송하여
default사용자로 인증하는 간단한 방법 - 멀티 사용자 인증: 여러 사용자를 관리하여 인스턴스에 대한 액세스를 인증합니다.
권장사항
보안을 위해 기본 토큰 기반 인증에 다음 권장사항을 사용하는 것이 좋습니다.
- 사용자 토큰 순환: 사용자 토큰에 순환 정책을 사용합니다.
Secret Manager 사용: 애플리케이션 코드에 사용자의 기본 토큰 기반 인증 사용자 인증 정보를 하드 코딩하지 마세요. 대신 Secret Manager에 저장하고 런타임에 검색합니다.
Secret Manager는 사용자 인증 정보를 위한 중앙 집중식 암호화된 볼트를 제공하므로 보안 비밀 확산을 방지하고 사용자 인증 정보를 수동으로 관리하는 운영 오버헤드를 줄입니다. IAM을 사용하여 액세스 제어를 적용하고 감사 로그를 자동으로 생성합니다. 이렇게 하면 규정 준수를 보장하고 사용자 인증 정보 노출을 방지할 수 있습니다.
기본 토큰 기반 인증과 전송 계층 보안 (TLS) 결합: 기본 토큰 기반 인증을 사용하는 경우 전송 중 암호화를 사용 설정하는 것이 좋습니다. 이렇게 하면 사용자 이름과 인증 토큰이 네트워크를 통해 일반 텍스트로 전송되지 않습니다.
시작하기 전에
기본 토큰 기반 인증을 사용하여 인스턴스를 보호하기 전에 이 섹션의 사전 요구사항을 완료하세요.
기본 토큰 기반 인증에 대한 클라이언트 지원 확인
클라이언트 애플리케이션이 기본 토큰 기반 인증을 지원할 수 있는지 확인하려면 애플리케이션이 AUTH 명령어를 사용할 수 있는지 확인하세요.
default 사용자는 다음 명령어를 사용하여 클라이언트 애플리케이션에 인증합니다.
AUTH TOKEN
이 명령어에서 TOKEN은 기본 사용자의 인증 토큰입니다.
다른 모든 사용자는 다음 명령어를 사용하여 인증합니다.
AUTH USERNAME TOKEN
이 명령어에서 USERNAME 및 TOKEN은 사용자의 사용자 이름과 인증 토큰입니다.
AUTH 명령어에 대한 자세한 내용은 Valkey 문서의 AUTH
를 참조하세요.
콘솔, Google Cloud CLI, API 사용 Google Cloud
콘솔, gcloud CLI, API를 사용하려면 다음 단계를 따르세요. Google Cloud
- 콘솔의 프로젝트 선택기 페이지에서 프로젝트를 선택하거나 만듭니다. Google Cloud Google Cloud
- 프로젝트에 결제가 사용 설정되어 있는지 확인하세요. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
Google Cloud CLI (gcloud CLI)를 설치하고 초기화합니다.
참고: gcloud CLI를 설치한 경우
gcloud components update를 실행하여 최신 버전이 설치되어 있는지 확인합니다. Memorystore for Valkey gcloud CLI 명령어에 액세스하려면 최소한 gcloud CLI 버전489.0.0이 필요합니다.-
Memorystore for Valkey API를 사용 설정합니다.
Memorystore for Valkey API -
Network Connectivity API를 사용 설정합니다.
Network Connectivity API -
Service Consumer Management API를 사용 설정합니다.
Service Consumer Management API
역할 지정
인스턴스에 기본 토큰 기반 인증을 구성하려면 프로젝트에 다음 IAM 역할 중 하나가 있어야 합니다 Google Cloud .
roles/memorystore.admin(Memorystore 관리자 역할)roles/owner(소유자 역할)roles/editor(편집자 역할)
인스턴스의 기본 토큰 기반 인증 관리
Memorystore for Valkey는 인스턴스의 기본 토큰 기반 인증을 관리하기 위해 다음 작업을 지원합니다.
- 기본 토큰 기반 인증으로 인스턴스 만들기
- 인스턴스에 기본 토큰 기반 인증 사용 설정
- 인스턴스의 기본 토큰 기반 인증 사용자 만들기
- 인스턴스의 기본 토큰 기반 인증 사용자 나열
- 기본 토큰 기반 인증 사용자 정보 보기
- 인스턴스에서 기본 토큰 기반 인증 사용자 삭제
기본 토큰 기반 인증으로 인스턴스 만들기
기본 토큰 기반 인증으로 인스턴스를 만들면 사용자의 인스턴스 액세스를 제한하는 경량의 널리 지원되는 방법을 사용할 수 있습니다.
gcloud CLI를 사용하여 인스턴스를 만들 수 있습니다.
기본 토큰 기반 인증이 사용 설정된 인스턴스를 만들려면
gcloud beta memorystore instances create
명령어를 사용합니다.
gcloud beta memorystore instances create INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
다음을 바꿉니다.
- INSTANCE_ID: 기본 토큰 기반 인증을 사용하기 위해 만들려는 인스턴스의 ID
- REGION: 인스턴스를 배치할 리전
인스턴스에 기본 토큰 기반 인증 사용 설정
인스턴스에 기본 토큰 기반 인증을 사용 설정하면 사용자의 인스턴스 액세스를 제한하는 경량의 널리 지원되는 방법을 사용할 수 있습니다.
default 사용자는 토큰만 사용하여 인스턴스에 인증할 수 있습니다.
다른 모든 사용자는 표준 사용자 이름과 토큰을 사용하여 인증합니다. 자세한 내용은 기본 토큰 기반 인증에 대한 클라이언트 지원 확인을 참조하세요.
Memorystore for Valkey는 인증된 요청을 요구하므로 기본 토큰 기반 인증을 사용 설정하면 새 연결을 만들려고 하는 애플리케이션에 다운타임이 발생할 수 있습니다. 기존 연결은 영향을 받지 않지만 인스턴스에 대한 후속 연결 시도에 기본 토큰 기반 인증을 활용하려면 애플리케이션을 업데이트해야 합니다. 자세한 내용은 기본 토큰 기반 인증을 사용하여 인스턴스에 연결을 참조하세요.
gcloud CLI를 사용하여 인스턴스에 기본 토큰 기반 인증을 사용 설정할 수 있습니다.
기본 토큰 기반 인증을 사용 설정하려면 gcloud beta memorystore instances update 명령어를 사용합니다.
gcloud beta memorystore instances update INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
다음을 바꿉니다.
- INSTANCE_ID: 기본 토큰 기반 인증을 사용 설정하려는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
인스턴스의 기본 토큰 기반 인증 사용자 만들기
인스턴스의 기본 토큰 기반 인증 사용자를 만들면 다중 사용자 인증을 허용하도록 인스턴스를 구성합니다. 사용자가 처음 로그인한 후 이 인증 모드는 새 연결을 위한 안전하고 취소 가능한 사용자 인증 정보 역할을 합니다. 사용자는 인증 토큰을 삭제하거나 사용자가 삭제될 때까지 계속 사용할 수 있습니다.
gcloud CLI를 사용하여 기본 토큰 기반 인증 사용자를 만들 수 있습니다.
사용자를 만들려면 gcloud beta memorystore instances create-token-auth-user 명령어를 사용합니다.
gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
다음을 바꿉니다.
- INSTANCE_ID: 기본 토큰 기반 인증 사용자를 만들려는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
- USERNAME: 사용자의 사용자 이름
인스턴스의 기본 토큰 기반 인증 사용자 나열
gcloud CLI를 사용하여 인스턴스의 기본 토큰 기반 인증 사용자 목록을 검색할 수 있습니다. gcloud CLI를 사용합니다.
사용자를 나열하려면 gcloud beta memorystore instances token-auth-users list 명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users list \ --instance=INSTANCE_ID \ --location=REGION
다음을 바꿉니다.
- INSTANCE_ID: 기본 토큰 기반 인증 사용자 목록을 검색하려는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
기본 토큰 기반 인증 사용자 정보 보기
gcloud CLI를 사용하여 기본 토큰 기반 인증 사용자 정보를 볼 수 있습니다. gcloud CLI를 사용합니다.
사용자 정보를 보려면 gcloud beta memorystore instances token-auth-users describe 명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users describe USERNAME \ --instance=INSTANCE_ID \ --location=REGION
다음을 바꿉니다.
- USERNAME: 정보를 보려는 기본 토큰 기반 인증 사용자의 사용자 이름
- INSTANCE_ID: 사용자가 인증할 수 있는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
인스턴스에서 기본 토큰 기반 인증 사용자 삭제
인스턴스에서 기본 토큰 기반 인증 사용자를 삭제하면 사용자의 인스턴스 액세스 권한이 취소됩니다.
gcloud CLI를 사용하여 인스턴스에서 기본 토큰 기반 인증 사용자를 삭제할 수 있습니다.
사용자를 삭제하려면 gcloud beta memorystore instances token-auth-users delete 명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users delete USERNAME \ --instance=INSTANCE_ID \ --location=REGION
다음을 바꿉니다.
- USERNAME: 기본 토큰 기반 인증 사용자의 사용자 이름
- INSTANCE_ID: 사용자를 삭제하려는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
삭제 중인 사용자의 경우 Memorystore for Valkey는 기존 연결을 종료하지 않습니다. 이러한 연결을 종료하려면 인스턴스의 모든 노드에서 다음 명령어를 실행합니다.
CLIENT KILL USER USERNAME
사용자의 기본 토큰 기반 인증 관리
Memorystore for Valkey는 사용자의 기본 토큰 기반 인증을 관리하기 위해 다음 작업을 지원합니다.
사용자의 인증 토큰 만들기
사용자의 인증 토큰을 만들면 애플리케이션에 다운타임을 일으키지 않고 사용자의 기존 토큰을 순환 할 수 있습니다.
gcloud CLI를 사용하여 사용자의 인증 토큰을 만들 수 있습니다.
사용자를 만들려면 gcloud beta memorystore instances token-auth-users create-auth-token
명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \ --instance=INSTANCE_ID \ --location=REGION
다음을 바꿉니다.
- USERNAME: 인증 토큰을 만들려는 사용자의 사용자 이름
- INSTANCE_ID: 사용자가 토큰을 사용하여 액세스할 수 있는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
사용자의 인증 토큰 나열
gcloud CLI를 사용하여 사용자의 인증 토큰 목록을 검색할 수 있습니다.
토큰을 나열하려면 gcloud beta memorystore instances token-auth-users auth-tokens list
명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users auth-tokens list \ --token-auth-user=USERNAME \ --instance=INSTANCE_ID \ --location=REGION
다음을 바꿉니다.
- USERNAME: 인증 토큰이 속한 사용자의 사용자 이름
- INSTANCE_ID: 사용자가 인증 토큰을 사용하여 액세스할 수 있는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
사용자의 인증 토큰 정보 보기
gcloud CLI를 사용하여 사용자의 인증 토큰 정보를 볼 수 있습니다.
정보를 보려면 gcloud beta memorystore instances token-auth-users auth-tokens describe
명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
다음을 바꿉니다.
- AUTH_TOKEN: 정보를 보려는 인증 토큰의 이름
- INSTANCE_ID: 사용자가 토큰을 사용하여 액세스할 수 있는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
- USERNAME: 인증 토큰이 속한 사용자의 사용자 이름
사용자에서 인증 토큰 삭제
사용자에서 인증 토큰을 삭제하는 것은 토큰을 무효화하는 중요한 보안 작업입니다.
gcloud CLI를 사용하여 사용자에서 인증 토큰을 삭제할 수 있습니다.
토큰을 삭제하려면 gcloud beta memorystore instances token-auth-users auth-tokens delete
명령어를 사용합니다.
gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
다음을 바꿉니다.
- AUTH_TOKEN: 사용자에서 삭제하려는 인증 토큰의 이름
- INSTANCE_ID: 토큰을 삭제하여 사용자가 액세스하지 못하도록 하려는 인스턴스의 ID
- REGION: 인스턴스가 있는 리전
- USERNAME: 삭제하려는 토큰이 있는 사용자의 사용자 이름
기본 토큰 기반 인증을 사용하여 인스턴스에 연결
기본 토큰 기반 인증을 사용하여 인스턴스에 연결하려면 다음 방법을 사용할 수 있습니다.
- URI (Uniform Resource Identifier) 문자열: 이 단일 형식화된 문자열은 필요한 모든 연결 정보 (예: 사용자의 사용자 이름 및 인증 토큰, 인스턴스의 IP 주소 및 호스트 이름)가 하나의 문자열에 포함되어 있으므로 편리하게 사용할 수 있습니다.
- 플래그: 이 방법은 개별 명령줄 도구 사용, 스크립팅 또는 여러 개의 개별 인수를 사용하여 구성이 별도의 환경 변수로 분류되는 환경에 더 적합합니다.
다음 섹션에서는 각 연결 방법을 설명합니다.
URI 문자열 사용
URI 문자열을 사용하여 Compute Engine VM 또는 지원되는 환경에서 연결하려면 다음 명령어를 사용합니다.
valkey-cli -u redis://USERNAME:TOKEN@IP_ADDRESS:PORT
다음을 바꿉니다.
- USERNAME: 인스턴스에 연결하려는 사용자의 사용자 이름
- TOKEN: 사용자의 인증 토큰
- IP_ADDRESS: 인스턴스의 IP 주소
- PORT: 인스턴스에 예약된 포트 번호
플래그 사용
플래그를 사용하여 Compute Engine VM 또는 지원되는 환경에서 연결하려면 다음 명령어를 사용합니다.
valkey-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT
다음을 바꿉니다.
- USERNAME: 인스턴스에 연결하려는 사용자의 사용자 이름
- TOKEN: 사용자의 인증 토큰
- IP_ADDRESS: 인스턴스의 IP 주소
- PORT: 인스턴스에 예약된 포트 번호
다운타임 없이 사용자 인증 토큰 순환
애플리케이션에 다운타임을 일으키지 않고 사용자 인증 토큰을 순환하려면 다음 단계를 따르세요.
- 사용자의 추가 인증 토큰 만들기: Memorystore for Valkey는 두 번째 유효한 토큰을 생성합니다. 두 토큰 모두 유효합니다.
- 애플리케이션 업데이트: 새 토큰을 사용하도록 애플리케이션을 업데이트합니다.
- **사용자의 인증 토큰 삭제**: Memorystore for Valkey는 첫 번째 토큰을 삭제합니다. 사용자는 두 번째 토큰만 사용하여 애플리케이션에 인증할 수 있습니다.
기본 토큰 기반 인증의 액세스 로그
Memorystore for Valkey는 인증 토큰 및 사용자와 연결된 작업에 대해 관리자 활동 및 데이터 액세스 감사 로그를 생성합니다. 이러한 감사 로그에 대한 자세한 내용은 감사 로그를 사용하여 액세스 모니터링을 참조하세요.