

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# CREATE RLS POLICY
<a name="r_CREATE_RLS_POLICY"></a>

데이터베이스 객체에 대한 세분화된 액세스를 제공하는 새 행 수준 보안 정책을 생성합니다.

sys:secadmin 역할이 부여된 수퍼유저와 사용자 또는 역할은 정책을 생성할 수 있습니다.

## 구문
<a name="r_CREATE_RLS_POLICY-synopsis"></a>

```
CREATE RLS POLICY { policy_name | database_name.policy_name }
[ WITH (column_name data_type [, ...]) [ [AS] relation_alias ] ]
USING ( using_predicate_exp )
```

## 파라미터
<a name="r_CREATE_RLS_POLICY-parameters"></a>

 *policy\$1name*   
정책의 이름입니다.

database\$1name  
정책이 생성되는 데이터베이스 이름입니다. 정책은 연결된 데이터베이스 또는 데이터베이스에서 생성되거나 Amazon Redshift 페더레이션 권한을 지원하는 데이터베이스일 수 있습니다.

WITH (*column\$1name data\$1type [, ...]*)   
정책이 연결된 테이블의 열에 참조되는 *column\$1name*과 *data\$1type*을 지정합니다.  
연결된 테이블 열을 RLS 정책에서 참조하지 않는 경우에만 WITH 절을 생략할 수 있습니다.

AS *relation\$1alias*  
RLS 정책이 연결될 테이블의 별칭을 선택적으로 지정합니다.

USING (* using\$1predicate\$1exp *)  
쿼리의 WHERE 절에 적용되는 필터를 지정합니다. Amazon Redshift는 쿼리 수준 사용자 조건자를 지정하기 전에 정책 조건자를 적용합니다. 예를 들어 **current\$1user = ‘joe’ and price > 10**은 가격이 10 USD보다 큰 레코드만 Joe에게 표시하도록 제한합니다.

Amazon Redshift 페더레이션 권한 카탈로그에서 CREATE RLS POLICY를 사용하려면 [Amazon Redshift 페더레이션 권한을 사용하여 액세스 제어 관리](https://docs.aws.amazon.com/redshift/latest/dg/federated-permissions-managing-access.html)를 참조하세요.

## 사용 노트
<a name="r_CREATE_RLS_POLICY-usage"></a>

CREATE RLS POLICY 문과 관련한 작업을 수행할 때는 다음을 준수하세요.
+ Amazon Redshift는 쿼리의 WHERE 절에 포함될 수 있는 필터를 지원합니다.
+ 테이블에 연결되는 모든 정책은 동일한 테이블 별칭을 사용하여 생성되어야 합니다.
+ GRANT 및 REVOKE 문을 사용하여 조회 테이블을 참조하는 RLS 정책에 SELECT 권한을 명시적으로 부여하고 취소해야 합니다. 조회 테이블은 정책 정의 내에 사용되는 테이블 객체입니다. 자세한 내용은 [GRANT](r_GRANT.md) 및 [REVOKE](r_REVOKE.md)(을)를 참조하세요.
+ Amazon Redshift 행 수준 보안은 정책 정의 내에서 카탈로그 테이블, 교차 데이터베이스 관계, 외부 테이블, 일반 보기, 늦은 바인딩 보기, RLS 정책이 설정된 테이블, 임시 테이블 등의 객체 유형을 지원하지 않습니다.

## 예제
<a name="r_CREATE_RLS_POLICY-examples"></a>

다음 예제에서는 policy\$1concerts라는 RLS 정책을 만듭니다. 이 정책은 catgroup이라는 VARCHAR(10) 열에 적용되며 USING 필터를 설정하여 catgroup 값이 `'Concerts'`인 행만 반환합니다.

```
CREATE RLS POLICY policy_concerts
WITH (catgroup VARCHAR(10))
USING (catgroup = 'Concerts');
```

RLS 정책을 사용하는 엔드 투 엔드 예제는 [행 수준 보안 엔드 투 엔드 예제](t_rls-example.md) 섹션을 참조하세요.