

 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/)을 참조하세요.

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

다음 예에서는 GUESTS 사용자 그룹에서 SALES 테이블에 대한 INSERT 권한을 취소합니다. 이 명령을 실행하면 GUESTS의 구성원이 INSERT 명령을 사용하여 SALES 테이블로 데이터를 로드할 수 없게 됩니다.

```
revoke insert on table sales from group guests;
```

다음 예에서는 사용자 `fred`에게서 QA\$1TICKIT 스키마에 있는 모든 테이블에 대한 SELECT 권한을 취소합니다.

```
revoke select on all tables in schema qa_tickit from fred;
```

다음 예에서는 사용자 `bobr`에 대한 뷰에서 선택할 권한을 취소합니다.

```
revoke select on table eventview from bobr;
```

다음 예에서는 모든 사용자에게서 TICKIT 데이터베이스에 임시 테이블을 만들 권한을 취소합니다.

```
revoke temporary on database tickit from public;
```

다음 예에서는 사용자 `cust_name`에게서 `cust_phone` 테이블의 `cust_profile` 및 `user1` 열에 대한 SELECT 권한을 취소합니다.

```
revoke select(cust_name, cust_phone) on cust_profile from user1;
```

다음 예에서는 `cust_name` 그룹에서 `cust_phone` 테이블의 `cust_contact_preference` 및 `cust_profile` 열에 대한 SELECT 권한과 `sales_group` 열에 대한 UPDATE 권한을 취소합니다.

```
revoke select(cust_name, cust_phone), update(cust_contact_preference) on cust_profile from group sales_group;
```

다음 예에서는 ALL 키워드를 사용하여 `cust_profile` 그룹에서 `sales_admin` 테이블의 세 열에 대한 SELECT 및 UPDATE 권한을 모두 취소하는 것을 보여 줍니다.

```
revoke ALL(cust_name, cust_phone,cust_contact_preference) on cust_profile from group sales_admin;
```

다음 예에서는 `cust_name` 사용자에게서 `cust_profile_vw` 뷰의 `user2` 열에 대한 SELECT 권한을 취소합니다.

```
revoke select(cust_name) on cust_profile_vw from user2;
```

## 데이터 공유에서 생성된 데이터베이스에서 USAGE 권한 취소의 예
<a name="r_REVOKE-examples-datashare"></a>

다음 예시에서는 `13b8833d-17c6-4f16-8fe4-1a018f5ed00d` 네임스페이스에서 `salesshare` 데이터 공유에 대한 액세스 권한을 취소합니다.

```
REVOKE USAGE ON DATASHARE salesshare FROM NAMESPACE '13b8833d-17c6-4f16-8fe4-1a018f5ed00d';
```

다음 예시에서는 `Bob`에게서 `sales_db`에 대한 USAGE 권한을 취소합니다.

```
REVOKE USAGE ON DATABASE sales_db FROM Bob;
```

다음 예시에서는 `Analyst_role`에게서 `sales_schema`에 대한 USAGE 권한을 취소합니다.

```
REVOKE USAGE ON SCHEMA sales_schema FROM ROLE Analyst_role;
```

## 범위가 지정된 권한 취소의 예
<a name="r_REVOKE-examples-scoped"></a>

다음 예시에서는 `Sales_db` 데이터베이스의 모든 현재 및 미래 스키마에 대한 사용 권한을 `Sales` 역할에게서 취소합니다.

```
REVOKE USAGE FOR SCHEMAS IN DATABASE Sales_db FROM ROLE Sales;
```

다음 예시에서는 `Sales_db` 데이터베이스의 모든 현재 및 미래 테이블에 대한 SELECT 권한을 부여하는 권한을 `alice`라는 사용자에게서 취소합니다. `alice`는 `Sales_db`의 모든 테이블에 대한 액세스 권한을 유지합니다.

```
REVOKE GRANT OPTION SELECT FOR TABLES IN DATABASE Sales_db FROM alice;
```

다음 예시에서는 `Sales_schema` 스키마의 함수에 대한 EXECUTE 권한을 `bob`이라는 사용자에게서 취소합니다.

```
REVOKE EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema FROM bob;
```

다음 예시에서는 `ShareDb` 데이터베이스의 `ShareSchema` 스키마에 있는 모든 테이블에 대한 모든 권한을 `Sales` 역할에게서 취소합니다. 스키마를 지정할 때 두 부분으로 구성된 `database.schema` 형식을 사용하여 스키마의 데이터베이스를 지정할 수도 있습니다.

```
REVOKE ALL FOR TABLES IN SCHEMA ShareDb.ShareSchema FROM ROLE Sales;
```

다음 예시는 이전 예시와 동일합니다. 두 부분으로 구성된 형식을 사용하는 대신 `DATABASE` 키워드를 사용하여 스키마의 데이터베이스를 지정할 수 있습니다.

```
REVOKE ALL FOR TABLES IN SCHEMA ShareSchema DATABASE ShareDb FROM ROLE Sales;
```

## ASSUMEROLE 권한 취소의 예
<a name="r_REVOKE-examples-assumerole"></a>

다음은 ASSUMEROLE 권한을 취소하는 예입니다.

슈퍼 사용자는 클러스터에서 다음 문을 한 번 실행하여 사용자와 그룹에 ASSUMEROLE 권한을 사용하도록 설정해야 합니다.

```
revoke assumerole on all from public for all;
```

다음 문은 모든 작업에 대한 모든 역할에 대한 사용자 reg\$1user1의 ASSUMEROLE 권한을 취소합니다.

```
revoke assumerole on all from reg_user1 for all;
```

## ROLE 권한 취소의 예
<a name="r_REVOKE-examples-role"></a>

다음은 sample\$1role1을 sample\$1role2에서 취소하는 예입니다.

```
CREATE ROLE sample_role2;
GRANT ROLE sample_role1 TO ROLE sample_role2;
REVOKE ROLE sample_role1 FROM ROLE sample_role2;
```

다음은 user1에서 시스템 권한을 취소하는 예입니다.

```
GRANT ROLE sys:DBA TO user1;
REVOKE ROLE sys:DBA FROM user1;
```

다음은 sample\$1role1 및 sample\$1role2를 user1에서 취소하는 예입니다.

```
CREATE ROLE sample_role1;
CREATE ROLE sample_role2;
GRANT ROLE sample_role1, ROLE sample_role2 TO user1;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM user1;
```

다음은 user1에서 ADMIN OPTION을 사용하여 sample\$1role2를 취소하는 예입니다.

```
GRANT ROLE sample_role2 TO user1 WITH ADMIN OPTION;
REVOKE ADMIN OPTION FOR ROLE sample_role2 FROM user1;
REVOKE ROLE sample_role2 FROM user1;
```

다음은 sample\$1role1 및 sample\$1role2를 sample\$1role5에서 취소하는 예입니다.

```
CREATE ROLE sample_role5;
GRANT ROLE sample_role1, ROLE sample_role2 TO ROLE sample_role5;
REVOKE ROLE sample_role1, ROLE sample_role2 FROM ROLE sample_role5;
```

다음은 sample\$1role1에 대한 CREATE SCHEMA 및 DROP SCHEMA 시스템 권한을 취소하는 예입니다.

```
GRANT CREATE SCHEMA, DROP SCHEMA TO ROLE sample_role1;
REVOKE CREATE SCHEMA, DROP SCHEMA FROM ROLE sample_role1;
```