Memorystore는 Identity and Access Management(IAM)와 통합되는 IAM 인증 기능을 제공하여 사용자 및 서비스 계정의 로그인 액세스를 보다 효과적으로 관리하는 데 도움이 됩니다.
인증은 IAM을 사용하여 클러스터에 액세스하려고 하는 사용자의 ID를 확인하는 프로세스입니다. Memorystore는 Redis AUTH 명령어와 IAM 액세스 토큰을 사용하여 인증을 수행합니다.
Memorystore 클러스터의 IAM 인증을 설정하는 방법은 IAM 인증 관리를 참조하세요.
Redis용 IAM 인증
IAM 인증을 사용하는 경우 Memorystore 클러스터에 액세스할 수 있는 권한이 최종 사용자에게 직접 부여되지는 않습니다. 대신 권한이 역할로 그룹화되고 역할은 주 구성원에게 부여됩니다. 자세한 내용은 IAM 개요를 참조하세요.
IAM으로 인증하는 관리자는 Memorystore IAM 인증을 사용하여 IAM 정책을 통해 인스턴스에 대한 액세스 제어를 중앙에서 관리할 수 있습니다. IAM 정책에는 다음 항목이 포함됩니다.
주 구성원. Memorystore에서는 사용자 계정과 서비스 계정(애플리케이션용) 등 두 가지 유형의 주 구성원을 사용할 수 있습니다. Google 그룹스, Google Workspace 도메인 또는 Cloud ID 도메인과 같은 다른 주 구성원 유형은 아직 IAM 인증에서 지원되지 않습니다. 자세한 내용은 ID와 관련된 개념을 참조하세요.
역할. Memorystore IAM 인증의 경우 클러스터에 인증하려면 사용자에게 redis.clusters.connect 권한이 필요합니다. 이 권한을 얻으려면 사용자 또는 서비스 계정을 사전 정의된 Redis 클러스터 DB 연결 사용자(roles/rediscluster.dbConnectionUser) 역할에 바인딩합니다. IAM 역할에 대한 자세한 내용은 역할을 참조하세요.
리소스. 주 구성원이 액세스하는 리소스는 Memorystore 클러스터입니다. 기본적으로 IAM 정책 바인딩은 프로젝트 수준에서 적용되므로 주 구성원이 프로젝트의 모든 Memorystore 인스턴스에 대한 역할 권한을 받습니다. 하지만 IAM 정책 바인딩을 특정 클러스터로 제한할 수 있습니다. 자세한 내용은 IAM 인증 권한 관리를 참조하세요.
Redis AUTH 명령어
IAM 인증 기능은 Redis AUTH 명령어를 사용하여 IAM과 통합됩니다. 이를 통해 데이터에 대한 액세스를 허용하기 전에 클라이언트가 Memorystore 클러스터에서 확인할 IAM 액세스 토큰을 제공할 수 있습니다.
모든 명령어와 마찬가지로 전송 중인 데이터 암호화가 사용 설정되어 있지 않는 한 AUTH 명령어는 암호화되지 않은 상태로 전송됩니다.
AUTH 명령어의 예시는 IAM 인증을 사용하는 Redis 클러스터에 연결을 참조하세요.
IAM 액세스 토큰 기간
인증의 일부로 가져오는 IAM 액세스 토큰은 기본적으로 가져오고 1시간 후에 만료됩니다. 또는 액세스 토큰을 생성할 때 액세스 토큰 만료 시간을 정의할 수 있습니다. 새 Redis 연결을 설정할 때 AUTH 명령어를 통해 유효한 토큰을 제공해야 합니다. 토큰이 만료된 경우 새 연결을 설정하려면 새 액세스 토큰을 가져와야 합니다.
인증된 연결 종료
Redis CLIENT KILL
명령어를 사용하면 연결을 종료할 수 있습니다. 종료하려는 연결을 찾으려면 먼저 CLIENT LIST
를 실행합니다. 그러면 클라이언트 연결이 기간에 따라 반환됩니다. 그런 다음 CLIENT KILL
을 실행하여 원하는 연결을 종료할 수 있습니다.
보안 및 개인 정보 보호
IAM 인증을 사용하면 승인된 IAM 주 구성원만 Redis 클러스터에 액세스하도록 할 수 있습니다. 전송 중인 데이터 암호화가 사용 설정되지 않으면 TLS 암호화가 제공되지 않습니다. 이러한 이유로 IAM 인증을 사용할 때 전송 중인 데이터 암호화를 사용 설정하는 것이 좋습니다.