Streamlit in Snowflake 의 행 액세스 정책¶
이 항목에서는 Streamlit in Snowflake Warehouse Runtime에서 컨텍스트 함수와 행 액세스 정책을 사용하는 방법에 대해 설명합니다.
In container runtimes, context functions on owner’s rights connections will return values from the owner role’s context and so are not appropriate for user-targeted row access policies. However, restricted caller’s rights connections return the viewer’s context. For more information, see 제한된 호출자의 권한 및 Streamlit in Snowflake.
Streamlit in Snowflake 의 컨텍스트 함수 및 행 액세스 정책¶
Streamlit in Snowflake 앱에서 CURRENT_USER 와 같은 컨텍스트 함수 와 행 액세스 정책 이 적용된 테이블의 데이터를 사용하려면 다음 예제와 같이 ACCOUNTADMIN 역할이 있는 사용자가 Streamlit 앱 소유자 역할에 전역 READ SESSION 권한을 부여해야 합니다.
참고
Streamlit in Snowflake 앱에서는 CURRENT_ROLE을 사용하는 행 액세스 정책을 사용할 수 없습니다. Streamlit in Snowflake 앱은 소유자 권한으로 실행되므로 Streamlit 앱 내에서 CURRENT_ROLE을 사용하면 항상 앱 소유자 역할이 반환됩니다. 자세한 내용은 소유자 권리 및 Streamlit in Snowflake 앱 이해하기 섹션을 참조하십시오.
예제: 행 액세스 정책이 적용된 테이블의 데이터에 CURRENT_USER를 사용하여 액세스하기¶
행 액세스 정책으로 보호되는 테이블의 행에 대한 액세스를 관리하기 위해 Streamlit in Snowflake 앱을 사용할 수 있습니다. 행 액세스 정책 본문에 CURRENT_USER 함수를 지정하고 행 액세스 정책을 테이블에 추가합니다.
다음 예제는 Streamlit in Snowflake 앱에서 행 액세스 정책으로 보호되는 테이블에 대한 액세스를 제어하는 방법을 보여줍니다.
테이블을 만들고 데이터를 삽입합니다.
행 액세스 정책을 생성합니다.
테이블에 행 액세스 정책을 추가합니다.
Streamlit 앱을 만듭니다.
Streamlit 앱 소유자 역할에 전역 READ SESSION 권한을 부여합니다.
Streamlit 앱에 다음 코드를 추가합니다.