다음을 통해 공유


사용자 지정 데이터 액세스 정책 구성

Azure Redis 캐시 인스턴스에 대한 액세스를 관리하는 것은 올바른 사용자가 올바른 데이터 및 명령 집합에 액세스할 수 있도록 하는 데 중요합니다. Redis 버전 6에는 특정 사용자가 액세스할 수 있는 키와 실행할 수 있는 명령이 나열된 ACL( 액세스 제어 목록 )이 도입되었습니다. 예를 들어 특정 사용자가 DEL 명령을 사용하여 캐시의 키를 삭제하는 것을 금지할 수 있습니다.

Azure Cache for Redis는 이 ACL 기능을 Microsoft Entra와 통합하여 애플리케이션의 사용자, 서비스 주체 및 관리 ID에 대한 데이터 액세스 정책을 구성하고 할당할 수 있도록 합니다. Azure Cache for Redis는 RBAC(역할 기반 액세스 제어)를 통해 할당할 수 있는 세 가지 기본 제공 액세스 정책인 데이터 소유자, 데이터 기여자데이터 읽기 프로그램을 제공합니다.

기본 제공 액세스 정책이 데이터 보호 및 격리 요구 사항을 충족하지 않는 경우 사용자 고유의 사용자 지정 데이터 액세스 정책을 만들고 사용할 수 있습니다. 이 문서에서는 Azure Cache for Redis에 대한 사용자 지정 데이터 액세스 정책을 구성하고 Microsoft Entra 인증을 통해 RBAC를 사용하도록 설정하는 방법을 설명합니다.

가용성 범위

계층 기본, 표준, 프리미엄 엔터프라이즈, 엔터프라이즈 플래시.
가용성 아니요

제한점

  • 엔터프라이즈 및 엔터프라이즈 플래시 계층에서는 데이터 액세스 정책 구성이 지원되지 않습니다.
  • Redis ACL 및 데이터 액세스 정책은 Redis 버전 4를 실행하는 Azure Redis 인스턴스에서 지원되지 않습니다.
  • Microsoft Entra 인증 및 권한 부여는 SSL(Secure Socket Layer) 연결에 대해서만 지원됩니다.
  • 일부 Redis 명령은 Azure Cache for Redis에서 차단됩니다. 자세한 내용은 Azure Cache for Redis에서 지원되지 않는 Redis 명령을 참조하세요.

Redis ACL 권한

Redis 버전 6.0의 Redis ACL을 사용하면 명령 범주, 명령 및 키의 세 가지 영역에 대한 액세스 권한을 구성할 수 있습니다.

명령 범주

Redis는 명령 그룹에 대한 사용 권한을 더 쉽게 설정하기 위해 관리 명령 및 위험한 명령과 같은 명령 범주를 만들었습니다. 사용 권한 문자열에서 명령 범주를 허용하려면 +@<category>를 사용하고, 명령 범주를 허용하지 않으려면 -@<category>를 사용하세요.

Redis는 다음과 같은 유용한 명령 범주를 지원합니다. 자세한 내용과 전체 목록은 Redis ACL 설명서명령 범주 제목을 참조하세요.

카테고리 설명
admin 관리 명령(예: MONITORSHUTDOWN. 일반 애플리케이션은 이러한 명령을 사용할 필요가 없습니다.
dangerous FLUSHALL, RESTORE, SORT, KEYS, CLIENT, DEBUG, INFOCONFIG을(를) 포함한 잠재적으로 위험한 명령어. 각각을 신중하게 고려하십시오, 여러 가지 이유로.
keyspace 포함 DEL, RESTORE, DUMP, RENAME, EXISTS, DBSIZE, KEYS, EXPIRE, TTLFLUSHALL. 키, 데이터베이스 또는 해당 메타데이터를 형식에 관계없이 쓰거나 읽습니다. 키스페이스, 키 또는 메타데이터만 읽는 명령에는 범주가 있습니다 read . 키스페이스, 키 또는 메타데이터를 수정할 수 있는 명령에도 범주가 있습니다 write .
pubsub PubSub 관련 명령.
read 키, 값 또는 메타데이터에서 읽습니다. 키와 상호 작용하지 않는 명령에는 read 또는 write 중 하나도 없습니다.
set 데이터 형식: 집합 관련.
sortedset 데이터 형식: 정렬된 집합에 관련된.
stream 데이터 형식: 스트림 관련.
string 데이터 형식: 문자열 관련.
write 키에 값 또는 메타데이터를 작성합니다.

비고

Azure Redis에 대해 차단된 명령은 범주 내에서 차단된 상태로 유지됩니다.

명령

명령을 사용하면 특정 Redis 사용자가 실행할 수 있는 특정 명령을 제어할 수 있습니다. 명령을 허용하려면 +<command>를 사용하고, 명령을 허용하지 않으려면 -<command>를 사용하세요.

구성

키를 사용하면 캐시에 저장된 특정 키 또는 키 그룹에 대한 액세스를 제어할 수 있습니다. 권한 문자열에서 키에 대한 패턴을 제공하는 데 사용합니다 ~<pattern> . ~* 사용하거나 allkeys 사용 권한이 캐시의 모든 키에 적용되도록 지정합니다.

애플리케이션에 대한 사용자 지정 데이터 액세스 정책 구성

사용자 지정 데이터 액세스 정책을 구성하려면 사용자 지정 액세스 정책으로 사용할 사용 권한 문자열을 만들고 캐시에 대해 Microsoft Entra 인증을 사용하도록 설정합니다.

권한 지정

요구 사항에 따라 권한 문자열을 구성합니다. 다음 예제에서는 다양한 시나리오에 대한 사용 권한 문자열을 보여 줍니다.

사용 권한 문자열 설명
+@all allkeys 애플리케이션이 모든 키에서 모든 명령을 실행할 수 있도록 허용합니다.
+@read ~* 애플리케이션이 명령 범주만 read 실행할 수 있도록 허용합니다.
+@read +set ~Az* 애플리케이션이 명령 범주를 실행하고 read 접두사를 사용하여 키에 명령을 설정할 수 있도록 허용합니다 Az.

사용자 지정 데이터 액세스 정책 만들기

  1. Azure Portal에서 데이터 액세스 정책을 만들려는 Azure Redis 캐시를 선택합니다.

  2. 왼쪽 탐색 메뉴의 설정에서 데이터 액세스 구성을 선택합니다.

    리소스 메뉴에서 강조 표시된 데이터 액세스 구성을 보여 주는 스크린샷.

  3. 데이터 액세스 구성 페이지에서새 액세스 정책>를 선택합니다.

  4. 사용자 지정 액세스 정책 추가/편집 화면에서 액세스 정책의 이름을 입력합니다.

  5. 사용 권한에서 사용자 지정 사용 권한 문자열을 추가한 다음 적용을 선택합니다.

    사용자 지정 액세스 정책을 추가하는 양식을 보여 주는 스크린샷.

이제 사용자 지정 정책이 세 가지 기본 제공 Azure Redis 정책과 함께 데이터 액세스 구성 페이지의 액세스 정책 탭에 표시됩니다.

Microsoft Entra 인증 사용

Microsoft Entra를 사용하여 액세스 정책에 사용자를 할당하려면, 캐시에서 액세스 키 인증이 아닌 Microsoft Entra 인증이 활성화되어 있어야 합니다. 인증 방법을 확인하려면 캐시에 대한 왼쪽 탐색 메뉴의 설정에서 인증을 선택합니다.

인증 화면에서 액세스 키 인증 사용 안 함을 선택하고 화면에 액세스 키가 표시되지 않으면 캐시에서 이미 Microsoft Entra 인증을 사용합니다. 그렇지 않은 경우 액세스 키 인증을 사용하지 않도록 설정 옆의 확인란을 선택한 다음 저장을 선택합니다.

액세스 키 인증을 사용하지 않도록 설정하는 스크린샷

액세스 키 인증을 사용하지 않도록 설정할지 묻는 팝업 대화 상자에 라고 응답합니다.

중요함

Microsoft Entra 사용 작업이 완료되면 캐시 인스턴스의 노드가 다시 부팅되어 새 구성을 로드합니다. 이 작업은 최대 30분이 걸릴 수 있습니다. 유지 관리 기간 동안 또는 사용량이 많은 업무 시간 외에 이 작업을 수행하는 것이 가장 좋습니다.

Microsoft Entra ID를 사용하도록 Redis 클라이언트 구성

대부분의 Azure Cache for Redis 클라이언트는 암호 및 액세스 키가 인증에 사용된다고 가정합니다. 특정 Microsoft Entra 사용자 이름 및 암호를 사용하여 인증 및 권한 부여를 지원하도록 클라이언트 워크플로를 업데이트해야 할 수 있습니다. 특정 Redis 사용자로 캐시 인스턴스에 연결하도록 클라이언트 애플리케이션을 구성하는 방법을 알아보려면 Microsoft Entra ID를 사용하도록 Redis 클라이언트 구성을 참조하세요.