액세스 제어 및 권한

이 페이지에서는 ID 및 액세스 관리(IAM)를 사용하여 Memorystore for Redis 프로젝트 액세스와 권한을 제어하는 방법을 설명합니다.

개요

Google Cloud는 사용자가 특정 Google Cloud 리소스에 대한 세부적인 액세스 권한을 부여하고 다른 리소스에 대한 무단 액세스를 방지할 수 있는 IAM을 제공합니다. 이 페이지에서는 Memorystore for Redis IAM 역할 및 권한을 설명합니다. 역할 및 권한에 관한 자세한 내용은 IAM 문서를 참조하세요.

Memorystore for Redis는 Redis 리소스에 대한 액세스를 쉽게 제어할 수 있도록 사전 정의된 역할 모음을 제공합니다. 사전 정의된 역할이 요구 사항을 충족하지 못하는 경우 커스텀 역할을 만들 수도 있습니다. 또한 기존의 기본 역할(편집자, 뷰어, 소유자)도 계속 제공되지만, Memorystore for Redis 역할처럼 세부적인 제어 기능을 제공하지는 않습니다. 특히 기본 역할은 Memorystore for Redis뿐 아니라 Google Cloud 전반의 리소스에 대한 액세스를 제공합니다. 기본 역할에 대한 자세한 내용은 기본 역할을 참조하세요.

권한 및 역할

이 섹션에서는 Memorystore for Redis에서 지원하는 권한과 역할을 요약합니다.

사전 정의된 역할

Memorystore for Redis는 프로젝트 구성원에게 보다 세분화된 권한을 제공하는 데 사용할 수 있는 사전 정의된 역할을 제공합니다. 프로젝트 구성원에게 부여하는 역할은 해당 구성원이 실행할 수 있는 작업을 제어합니다. 프로젝트 구성원은 개인, 그룹 또는 서비스 계정이 될 수 있습니다.

동일한 프로젝트 구성원에게 여러 역할을 부여할 수 있으며, 이런 권한이 있는 경우 언제든지 프로젝트 구성원에게 부여된 역할을 변경할 수 있습니다.

더 폭넓은 역할일수록 더 세부적으로 정의된 역할을 포함합니다. 예를 들어, Redis 편집자 역할에는 Redis 뷰어 역할의 모든 권한에 추가로 Redis 편집자 역할의 권한까지 포함됩니다. 마찬가지로 Redis 관리자 역할에는 Redis 편집자 역할의 모든 권한에 추가로 관리자 권한까지 포함됩니다.

기본 역할(소유자, 편집자, 뷰어)은 Google Cloud 전반에 대한 권한을 제공합니다. Memorystore for Redis와 관련된 역할은 일반적인 Google Cloud 사용에 필요한 다음 Google Cloud 권한을 제외하고 Memorystore for Redis 권한만 제공합니다.

resourcemanager.projects.get
resourcemanager.projects.list

다음 표에는 Memorystore for Redis에 사용할 수 있는 사전 정의된 역할과 Memorystore for Redis 권한이 나와 있습니다.

역할 이름 Redis 권한 설명

roles/owner

소유자

redis.*

Google Cloud의 모든 리소스에 대한 전체 액세스 및 제어, 사용자 액세스 관리

roles/editor

편집자 *.getIamPolicy.setIamPolicy를 제외한 모든 redis 권한 모든 Google Cloud 및 Redis 리소스에 대한 읽기-쓰기 액세스 권한(권한 수정 기능을 제외한 전체 제어 권한)

roles/viewer

뷰어

redis.*.get redis.*.list

Redis 리소스를 포함한 모든 Google Cloud 리소스에 대한 읽기 전용 액세스 권한

roles/redis.admin

Redis 관리자

redis.*

모든 Memorystore for Redis 리소스에 대한 전체 제어 권한

roles/redis.editor

Redis 편집자 다음을 제외한 모든 redis 권한

redis.instances.create redis.instances.delete redis.instances.upgrade redis.instances.import redis.instances.export redis.instances.updateAuth redis.instances.getAuthString redis.operations.delete

Memorystore for Redis 인스턴스 관리 인스턴스를 만들거나 삭제할 수 없습니다.

roles/redis.viewer

Redis 뷰어 다음을 제외한 모든 redis 권한

redis.instances.create redis.instances.delete redis.instances.update redis.instances.upgrade redis.instances.import redis.instances.export redis.instances.updateAuth redis.instances.getAuthString redis.operations.delete

모든 Memorystore for Redis 리소스에 대한 읽기 전용 액세스 권한

권한과 권한의 역할

다음 표는 Memorystore for Redis가 지원하는 각 권한과 그 권한을 포함하는 Memorystore for Redis 역할을 나열합니다.

권한 Redis 역할 기본 역할

redis.instances.list

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.instances.get

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.instances.create

Redis 관리자 작성자

redis.instances.update

Redis 관리자
Redis 편집자
작성자

redis.instances.updateAuth

Redis 관리자 작성자

redis.instances.getAuthString

Redis 관리자 작성자

redis.instances.delete

Redis 관리자 작성자

redis.instances.upgrade

Redis 관리자 작성자

redis.instances.import

Redis 관리자 작성자

redis.instances.export

Redis 관리자 작성자

redis.locations.list

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.locations.get

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.operations.list

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.operations.get

Redis 관리자
Redis 편집자
Redis 뷰어
리더

redis.operations.delete

Redis 관리자 작성자

커스텀 역할

사전 정의된 역할로 사용자의 고유한 비즈니스 요구 사항이 해결되지 않을 경우, 권한을 지정하여 자신의 커스텀 역할을 정의할 수 있습니다. 이를 지원하기 위해 IAM은 커스텀 역할을 제공합니다. Memorystore for Redis의 커스텀 역할을 만들 때 resourcemanager.projects.getresourcemanager.projects.list를 모두 포함해야 합니다. 그렇지 않으면 Google Cloud Console이 Memorystore for Redis에 맞게 작동하지 않습니다. 자세한 내용은 권한 종속 항목을 참조하세요.

Cloud Console에서 일반적인 작업에 필요한 권한

사용자가 Cloud Console을 사용하여 Memorystore for Redis를 사용하도록 설정하려면 사용자 역할에 resourcemanager.projects.getresourcemanager.projects.list 권한이 포함되어야 합니다.

다음 표에서는 Cloud Console에서 일반적인 작업에 필요한 다른 권한을 제공합니다.

작업 필요한 추가 권한
인스턴스 목록 페이지 표시

redis.instances.get
redis.instances.list

인스턴스 만들기 및 편집

redis.instances.create
redis.instances.get
redis.instances.list
compute.networks.list

인스턴스 삭제

redis.instances.delete
redis.instances.get
redis.instances.list

Cloud Shell에서 인스턴스에 연결

redis.instances.get
redis.instances.list
redis.instances.update

인스턴스 정보 보기

redis.instances.get
monitoring.timeSeries.list

RDB 백업 파일 가져오기 및 내보내기

redis.instances.import
redis.instances.export

인스턴스의 Redis 버전 업그레이드

redis.instances.upgrade

gcloud 명령어에 필요한 권한

사용자가 gcloud 명령어를 사용하여 Memorystore for Redis를 사용하도록 하려면 사용자 역할에 resourcemanager.projects.getresourcemanager.projects.list 권한이 포함되어 있어야 합니다.

다음 표에는 gcloud 명령어를 호출하는 사용자가 각 gcloud redis 하위 명령어에 대해 갖고 있어야 하는 권한 목록을 확인할 수 있습니다.

명령 필수 권한
gcloud redis instances auth

redis.instances.updateAuth
redis.instances.getAuthString

gcloud redis instances create

redis.instances.get
redis.instances.create

gcloud redis instances delete

redis.instances.delete

gcloud redis instances update

redis.instances.get
redis.instances.update

gcloud redis instances list

redis.instances.list

gcloud redis instances describe

redis.instances.get

gcloud redis instances import

redis.instances.import

gcloud redis instances export

redis.instances.export

gcloud redis instances upgrade

redis.instances.upgrade

gcloud redis operations list

redis.operations.list

gcloud redis operations describe

redis.operations.get

gcloud redis regions list

redis.locations.list

gcloud redis regions describe

redis.locations.get

gcloud redis zones list

redis.locations.list

API 메서드에 필요한 권한

다음 표에는 호출자가 Memorystore for Redis API에서 각 메서드를 호출하거나 이 API를 사용하는 Google Cloud 도구(예: Cloud Console 또는 gcloud 명령줄 도구)를 사용하여 태스크를 수행해야 하는 권한이 나와 있습니다.

메소드 필수 권한

locations.get

redis.locations.get

locations.list

redis.locations.list

instances.create

redis.instances.create

instances.delete

redis.instances.delete

instances.get

redis.instances.get

instances.list

redis.instances.list

instances.patch

redis.instances.update

instances.import

redis.instances.import

instances.export

redis.instances.export

instances.upgrade

redis.instances.upgrade

operations.get

redis.operations.get

operations.list

redis.operations.list

Redis AUTH 권한

다음 표에서는 사용자가 Redis용 기본 Memorystore AUTH 작업을 수행하기 위해 필요한 최소 권한을 보여줍니다.

권한 필요 Redis AUTH가 사용 설정된 Memorystore 인스턴스 만들기 기존 Redis 인스턴스에서 AUTH 사용 설정/사용 중지 AUTH 문자열 보기 Redis 인스턴스의 AUTH 사용 설정 /사용 중지 여부 확인
redis.instances.create X X X
redis.instances.update X X X
redis.instances.get X X X
redis.instances.updateAuth X X
redis.instances.getAuthString X X X

전송 중인 데이터 암호화 권한

다음 표에서는 Redis용 Memorystore의 전송 중인 데이터 암호화를 사용 설정하고 관리하는 데 필요한 권한을 보여줍니다.

권한 필요 전송 중인 데이터 암호화로 Memorystore 인스턴스를 만듭니다. 인증 기관 다운로드
redis.instances.create X
redis.instances.get X

다음 단계