다음을 통해 공유


OneLake SAS(공유 액세스 서명)란? (미리 보기)

OneLake SAS(공유 액세스 서명)는 OneLake의 리소스에 대한 안전하고 단기적이고 위임된 액세스를 제공합니다. OneLake SAS를 사용하면 클라이언트가 데이터에 액세스하는 방법을 세부적으로 제어할 수 있습니다. 예시:

  • 클라이언트가 액세스할 수 있는 리소스입니다.
  • 리소스에 대한 사용 권한입니다.
  • SAS 유효 기간.

모든 OneLake SAS(및 사용자 위임 키)는 항상 Microsoft Entra Identity에서 지원되며, 최대 수명은 1시간이며, 레이크하우스와 같은 데이터 항목 내의 폴더 및 파일에만 액세스 권한을 부여할 수 있습니다.

Important

이 기능은 프리뷰로 제공됩니다.

공유 액세스 서명 사용 방법

공유 액세스 서명은 OneLake 리소스의 URI에 추가된 토큰입니다. 토큰에는 클라이언트가 리소스에 액세스하는 방법을 나타내는 특수한 쿼리 매개 변수 집합이 포함되어 있습니다. 쿼리 매개 변수 중 하나는 서명입니다. SAS 매개 변수에서 생성되고 SAS를 만드는 데 사용된 키로 서명되었습니다. OneLake는 이 서명을 사용하여 OneLake의 폴더 또는 파일에 대한 액세스 권한을 부여합니다. OneLake SAS는 Azure Storage 사용자가 위임한 SAS와 동일한 형식 및 속성을 사용하지만 수명 및 범위에 더 많은 보안 제한이 있습니다.

OneLake SAS는 Microsoft Entra 자격 증명으로 지원되는 UDK(사용자 위임 키)로 서명됩니다. 사용자 위임 키 가져오기 작업을 사용하여 사용자 위임 키를 요청할 수 있습니다. 그런 다음 이 키를 사용하여(여전히 유효하지만) OneLake SAS를 빌드합니다. SAS에 명시적으로 부여된 사용 권한과 함께 해당 Microsoft Entra 계정의 권한은 리소스에 대한 클라이언트의 액세스를 결정합니다.

OneLake SAS 권한 부여

클라이언트 또는 애플리케이션이 OneLake SAS를 사용하여 OneLake에 액세스하는 경우 요청은 SAS를 만드는 데 사용되는 UDK를 요청한 Microsoft Entra 자격 증명을 사용하여 권한이 부여됩니다. 따라서 해당 Microsoft Entra ID에 부여된 모든 OneLake 권한이 SAS에 적용됩니다. 즉, SAS는 SAS를 만드는 사용자의 사용 권한을 초과할 수 없습니다. 또한 SAS를 만들 때 명시적으로 권한을 부여하여 SAS에 더 많은 범위가 지정된 권한을 제공할 수 있습니다. Microsoft Entra ID, 명시적으로 부여된 권한 및 짧은 수명 사이에 OneLake는 데이터에 대한 위임된 액세스를 제공하기 위한 보안 모범 사례를 따릅니다.

OneLake SAS를 사용하는 경우

OneLake SASs는 Microsoft Entra ID를 통해 지원되는 OneLake에 대한 보안 및 임시 액세스를 위임합니다. 네이티브 Microsoft Entra 지원이 없는 애플리케이션은 OneLake SAS를 사용하여 복잡한 설정 및 통합 작업 없이 데이터를 로드하는 임시 액세스 권한을 얻을 수 있습니다.

또한 OneLake SAS는 사용자와 해당 데이터 간의 프록시 역할을 하는 애플리케이션을 지원합니다. 예를 들어 일부 ISV(Independent Software Vendor)는 사용자와 패브릭 작업 영역 간에 실행되어 추가 기능과 다른 인증 모델을 제공합니다. 이러한 ISV는 OneLake SAS를 사용하여 액세스를 위임함으로써 기본 데이터에 대한 액세스를 관리하고 사용자에게 Microsoft Entra ID가 없는 경우에도 데이터에 대한 직접 액세스를 제공할 수 있습니다.

OneLake SAS 관리

패브릭 테넌트에서 두 설정은 OneLake SAS의 사용을 관리합니다. 첫 번째는 테넌트 수준 설정 입니다. 단명한 사용자 위임 SAS 토큰을 사용하여 사용자 위임 키 생성을 관리합니다. 사용자 위임 키는 테넌트 수준에서 생성되므로 테넌트 설정에 의해 제어됩니다. 이 설정은 기본적으로 설정되어 있습니다. 이러한 사용자 위임 키는 요청하는 Microsoft Entra ID와 동일한 권한을 가지며 항상 수명이 짧기 때문에 설정됩니다.

참고 항목

이 기능을 해제하면 모든 사용자가 사용자 위임 키를 생성할 수 없으므로 모든 작업 영역에서 OneLake SAS를 사용할 수 없습니다.

두 번째 설정은 작업 영역에서 OneLake SAS를 허용하는지 여부를 제어하는 위임된 작업 영역 설정 인 OneLake 사용자가 위임한 SAS 토큰으로 인증하는 것입니다. 이 설정은 기본적으로 꺼져 있으며 작업 영역에서 OneLake SAS로 인증을 허용하려는 작업 영역 관리자가 설정할 수 있습니다. 테넌트 관리자는 테넌트 설정을 통해 모든 작업 영역에 대해 이 설정을 켜거나 작업 영역 관리자에게 맡기고 켤 수 있습니다.

Microsoft Purview 규정 준수 포털 통해 사용자 위임 키 만들기를 모니터링할 수도 있습니다. 작업 이름 generateonelakeudk 를 검색하여 테넌트에서 생성된 모든 키를 볼 수 있습니다. SAS를 만드는 것은 클라이언트 쪽 작업이므로 OneLake SAS 생성을 모니터링하거나 제한할 수 없으며 UDK 생성만 가능합니다.

OneLake SAS의 모범 사례

  • 항상 HTTPS를 사용하여 SAS를 차단하려는 중간자 공격으로부터 보호하기 위해 SAS를 만들거나 배포합니다.
  • 토큰, 키 및 SAS 토큰 만료 시간을 추적합니다. OneLake 사용자 위임 키 및 SAS의 최대 수명은 1시간입니다. UDK를 요청하거나 수명이 1시간보다 긴 SAS를 빌드하려고 하면 요청이 실패합니다. SAS를 사용하여 만료되는 OAuth 토큰의 수명을 연장하지 않도록 하려면 토큰의 수명도 사용자 위임 키 및 SAS의 만료 시간보다 길어야 합니다.
  • SAS의 시작 시간에 주의하세요. SAS의 시작 시간을 현재 시간으로 설정하면 컴퓨터 간의 시작 시간(클록 기울이기)이 다르기 때문에 처음 몇 분 동안 오류가 발생할 수 있습니다. 시작 시간을 과거에 몇 분으로 설정하면 이러한 오류로부터 보호하는 데 도움이 됩니다.
  • SAS에 가능한 최소 권한을 부여합니다. 가능한 최소 리소스에 필요한 최소 권한을 제공하는 것은 보안 모범 사례이며 SAS가 손상된 경우 영향을 줄입니다.
  • 사용자 위임 키 생성을 모니터링합니다. Microsoft Purview 규정 준수 포털 사용자 위임 키 만들기를 감사할 수 있습니다. 작업 이름 'generateonelakeudk'를 검색하여 테넌트에서 생성된 키를 봅니다.
  • OneLake SAS의 제한 사항을 이해합니다. OneLake SAS는 작업 영역 수준 권한을 가질 수 없으므로 Azure Storage Explorer와 같이 데이터를 트래버스할 컨테이너 수준 권한이 예상되는 일부 Azure Storage 도구와 호환되지 않습니다.