로컬 애플리케이션에 대한 인증: Snowflake OAuth를 위한 기본 제공 보안 통합

:doc:`Snowflake OAuth </user-guide/oauth-snowflake-overview>`를 사용하여 인증을 하는 애플리케이션에는 Snowflake와 애플리케이션 간의 인터페이스를 정의하는 보안 통합이 필요합니다. 이 변경에는 로컬 데스크톱 애플리케이션이 Snowflake OAuth로 인증하는 방법을 간소화하는 기본 제공 시스템 소유 보안 통합이 도입되었습니다.

참고

이 동작 변경이 활성화되면 기본 제공 보안 통합이 계정에 천천히 롤아웃되며 즉시 사용하지 못할 수도 있습니다.

변경 전:

애플리케이션이 Snowflake OAuth를 사용하여 Snowflake에서 인증을 받게 하려면 항상 보안 통합을 만들고 구성해야 합니다.

변경 후:

Snowflake OAuth로 인증하려는 로컬, 데스크톱 애플리케이션은 보안 통합을 만들 필요가 없습니다. 기본 제공 보안 통합 SNOWFLAKE$LOCAL_APPLICATION 은 모든 계정에 존재합니다. OAUTH 유형의 보안 통합입니다.

보안 통합을 만들 필요가 없으므로 애플리케이션 개발자는 Snowflake 관리자의 도움 없이 Snowflake OAuth를 구현할 수 있습니다. 그러나 보안 관리자는 기본 제공 보안 통합을 구성하여 액세스 토큰의 유효 기간 및 일회용 새로 고침 토큰 사용 여부와 같은 사항을 제어할 수 있습니다.

로컬, 데스크톱 애플리케이션만 기본 제공 보안 통합을 사용하여 인증할 수 있습니다. 다른 유형의 애플리케이션(예: 서드 파티 웹 애플리케이션)은 Snowflake OAuth로 인증하려는 경우에도 보안 통합을 만들고 구성해야 합니다.

기본 제공 통합의 이점

SNOWFLAKE$LOCAL_APPLICATION 보안 통합을 사용하여 로컬 애플리케이션을 인증하는 경우 다음과 같은 이점이 있습니다.

  • 비밀번호 인증의 대안으로 간단한 인증 방법을 제공하여, 사용자가 비밀번호로 인증을 하는 경우 MFA(다단계 인증)를 사용하도록 하는 예정된 Snowflake 요구 사항을 준수하도록 합니다.

  • 관리상의 번거로움을 줄입니다. 즉, Snowflake OAuth를 사용하기 위해 초기 관리자 작업이 필요하지 않습니다.

  • 개발자, 특히 Snowflake CLI를 사용하는 개발자를 위한 사용자 환경이 개선됩니다.

  • 로컬 애플리케이션이 OAuth를 단일 인증 방법으로 사용할 수 있으므로 복잡한 구성이 필요하지 않으며 애플리케이션에서는 인증 프로세스가 투명하지 않습니다.

  • 다른 인증 방법과 마찬가지로 역할 내 세션 전환을 지원합니다. 사용자 정의 Snowflake OAuth 보안 통합은 역할 내 세션 전환을 지원하지 않습니다.

  • 사용자 자격 증명에서 로컬 애플리케이션을 분리합니다. 이렇게 하면 디스크에 오래 보관된 자격 증명이 제거되므로 비밀번호나 개인 액세스 토큰과 같은 민감한 인증 데이터가 안전하지 않은 방식으로 보관되지 않습니다.

기본 제공 보안 통합을 사용하면 계정의 보안 태세가 약화되는 것이 아니라 사용자 경험이 향상되고 가장 안전한 형태의 로컬 인증이 사용되는 것입니다. OAuth 새로 고침 토큰 유효성을 위해 윈도우 내에서 새 세션을 만드는 것은 저장된 사용자 자격 증명을 사용하여 새 세션을 만드는 기존 패턴과 동일합니다. 또한 관리자는 인증 정책 을 통해 사용자에게 허용되는 자격 증명을 지정하여 인증을 계속 제어할 수 있습니다.

변경 사항 옵트아웃

계정 관리자는 계정에 대한 SNOWFLAKE$LOCAL_APPLICATION 보안 통합을 비활성화할 수 있습니다. 이 작업은 관리자가 자체 보안 통합을 생성하지 않는 한, 로컬 애플리케이션이 Snowflake OAuth를 사용하여 인증하지 못하게 합니다.

보안 관리자가 SNOWFLAKE$LOCAL_APPLICATION 보안 통합을 활성화할 수 없도록 이 변경 사항을 옵트아웃하려면 다음 명령을 실행합니다.

USE ROLE ACCOUNTADMIN;

ALTER ACCOUNT SET DISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATION = TRUE;
Copy

DISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATION 매개 변수를 사용하여 옵트아웃해도 SNOWFLAKE$LOCAL_APPLICATION 통합이 생성되는 것이 방지되지 않습니다. 통합은 계정에 계속 존재하지만, 해당 ENABLED 속성은 FALSE이고, 보안 관리자는 속성을 TRUE로 변경할 수 없습니다.

계정 관리자는 통합이 활성화되지 않도록 계정에 SNOWFLAKE$LOCAL_APPLICATION 통합이 생성되기 전에 DISABLE_SNOWFLAKE_LOCAL_APPLICATION_INTEGRATION 매개 변수를 설정할 수 있습니다.

계정 관리자가 계정 매개 변수를 사용하여 옵트아웃하지 않는 경우에도 보안 관리자는 만들어진 SNOWFLAKE$LOCAL_APPLICATION 통합을 비활성화할 수 있습니다. 계정에 이미 존재하는 기본 제공 보안 통합을 비활성화하려면 다음 명령을 실행합니다.

USE ROLE SECURITYADMIN;

ALTER SECURITY INTEGRATION SNOWFLAKE$LOCAL_APPLICATION SET ENABLED = FALSE;
Copy

참조: 2056