

 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="t_metadata_security"></a>

Amazon Redshift의 행 수준 보안과 마찬가지로 메타데이터 보안을 사용하면 메타데이터를 보다 세밀하게 제어할 수 있습니다. 프로비저닝된 클러스터 또는 서버리스 작업 그룹에 메타데이터 보안이 활성화된 경우 사용자는 보기 액세스 권한이 있는 객체의 메타데이터를 볼 수 있습니다. 메타데이터 보안을 사용하면 필요에 따라 가시성을 구분할 수 있습니다. 예를 들어 단일 데이터 웨어하우스를 사용하여 모든 데이터 스토리지를 중앙 집중화할 수 있습니다. 그러나 여러 섹터에 데이터를 저장하는 경우 보안 관리가 번거로울 수 있습니다. 메타데이터 보안을 활성화하면 가시성을 구성할 수 있습니다. 한 섹터의 사용자는 자신의 객체에 대해 더 큰 가시성을 가지는 동시에 다른 섹터 사용자에게는 보기 액세스를 제한할 수 있습니다. 메타데이터 보안은 스키마, 테이블, 뷰, 구체화된 뷰, 저장 프로시저, 사용자 정의 함수 및 기계 학습 모델과 같은 모든 객체 유형을 지원합니다.

사용자는 다음과 같은 상황에서 객체의 메타데이터를 볼 수 있습니다.
+ 사용자에게 객체 액세스 권한이 부여된 경우
+ 사용자가 속한 그룹 또는 역할에 객체 액세스 권한이 부여된 경우
+ 객체는 공개됩니다(퍼블릭).
+ 사용자는 데이터베이스 객체의 소유자입니다.

메타데이터 보안을 활성화하려면 [ALTER SYSTEM](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_SYSTEM.html) 명령을 사용합니다. 다음은 ALTER SYSTEM 명령을 메타데이터 보안과 함께 사용하는 방법을 나타내는 구문입니다.

```
ALTER SYSTEM SET metadata_security=[true|t|on|false|f|off];
```

메타데이터 보안을 활성화하면 필요한 권한을 가진 모든 사용자가 액세스 권한이 있는 객체의 관련 메타데이터를 볼 수 있습니다. 특정 사용자만 메타데이터 보안을 볼 수 있게 하려면 역할에 `ACCESS CATALOG` 권한을 부여한 다음 사용자에게 역할을 할당하세요. 역할을 사용하여 보안을 강화하는 방법에 대한 자세한 내용은 [역할 기반 액세스 제어](https://docs.aws.amazon.com/redshift/latest/dg/t_Roles.html)를 참조하세요.

다음 예시는 역할에 `ACCESS CATALOG` 권한을 부여한 다음 사용자에게 역할을 할당하는 방법을 보여줍니다. 권한을 부여하는 방법에 대한 자세한 내용은 [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) 명령을 참조하세요

```
CREATE ROLE sample_metadata_viewer;

GRANT ACCESS CATALOG TO ROLE sample_metadata_viewer;

GRANT ROLE sample_metadata_viewer to salesadmin;
```

이미 정의된 역할을 사용하려는 경우 [시스템 정의 역할](https://docs.aws.amazon.com/redshift/latest/dg/r_roles-default.html)인 `operator`, `secadmin`, `dba`, `superuser`가 모두 객체 메타데이터를 보는 데 필요한 권한이 있습니다. 기본적으로 슈퍼 사용자는 전체 카탈로그를 볼 수 있습니다.

```
GRANT ROLE operator to sample_user;
```

역할을 사용하여 메타데이터 보안을 제어하는 경우 역할 기반 액세스 제어와 함께 제공되는 모든 시스템 뷰 및 기능에 액세스할 수 있습니다. 예를 들어, [SVV\_ROLES](https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_ROLES.html) 뷰를 쿼리하여 모든 역할을 확인할 수 있습니다. 사용자가 역할 또는 그룹의 구성원인지 확인하려면 [USER\_IS\_MEMBER\_OF](https://docs.aws.amazon.com/redshift/latest/dg/r_USER_IS_MEMBER_OF.html) 함수를 사용하세요. SVV 뷰의 전체 목록은 [SVV 메타데이터 뷰](https://docs.aws.amazon.com/redshift/latest/dg/svv_views.html)를 참조하세요. 시스템 정보 함수 목록은 [시스템 정보 함수](https://docs.aws.amazon.com/redshift/latest/dg/r_System_information_functions.html)를 참조하세요.