공유 액세스 서명 만들기

완료됨

SAS(공유 액세스 서명)는 Azure Storage 리소스에 대한 제한된 액세스 권한을 부여하는 URI(Uniform Resource Identifier)입니다. SAS는 계정 키를 손상시키지 않고 스토리지 리소스를 공유할 수 있는 보안 방법입니다.

스토리지 계정 키에 대한 액세스 권한이 없는 클라이언트에 SAS를 제공할 수 있습니다. 이러한 클라이언트에 SAS URI를 배포하여 지정된 기간 동안 리소스에 액세스하도록 할 수 있습니다.

일반적으로 사용자가 스토리지 계정에서 자신의 데이터를 읽고 쓰는 서비스에 SAS를 사용합니다. 사용자 데이터를 저장하는 계정에는 다음과 같은 두 가지 일반적인 설계가 있습니다.

  • 클라이언트에서 인증을 수행하는 프런트 엔드 프록시 서비스를 통해 데이터를 업로드하고 다운로드할 수 있습니다. 이 프런트 엔드 프록시 서비스에는 비즈니스 규칙의 유효성 검사를 허용하는 이점이 있습니다. 많은 양의 데이터나 대량의 트랜잭션을 처리하는 경우 이 서비스를 확장하기 어려울 수 있습니다

프런트 엔드 프록시 서비스를 사용하여 Azure Storage에 액세스하는 데이터의 다이어그램.

  • 간단한 서비스에서 필요에 따라 클라이언트를 인증합니다. 그런 다음 SAS를 생성합니다. SAS를 받는 클라이언트는 스토리지 계정 리소스에 직접 액세스할 수 있습니다. SAS는 클라이언트의 권한과 액세스 간격을 정의합니다. SAS를 사용하면 프런트 엔드 프록시 서비스를 통해 모든 데이터를 라우팅할 필요성이 줄어듭니다.

Azure Storage에 대한 액세스를 인증하는 SAS 다이어그램.

공유 액세스 서명에 대해 알아야 할 사항

SAS의 몇 가지 특성을 검토해 보겠습니다.

  • SAS를 사용하면 SAS가 있는 클라이언트에 부여한 액세스 유형을 세부적으로 제어할 수 있습니다.

  • 계정 수준 SAS는 Blob, 파일, 큐 및 테이블과 같은 여러 Azure Storage 서비스에 대한 액세스를 위임할 수 있습니다.

  • 시작 시간 및 만료 시간을 포함하여 SAS가 유효한 시간 간격을 지정할 수 있습니다.

  • SAS에 의해 부여되는 권한을 지정합니다. Blob의 SAS는 해당 Blob에 읽기 및 쓰기 권한을 부여할 수 있지만 삭제 권한은 부여하지 않습니다.

  • SAS는 계정 수준 및 서비스 수준 컨트롤을 제공합니다.

    • 계정 수준. 계정 수준 SAS를 사용하여 서비스 수준 SAS를 통해 허용할 수 있는 모든 항목과 추가 리소스 및 기능에 대한 액세스를 허용할 수 있습니다. 예를 들어 계정 수준 SAS를 사용하여 파일 시스템을 만들 수 있습니다.

    • 서비스 수준. 서비스 수준 SAS를 사용하여 스토리지 계정의 특정 리소스에 대한 액세스를 허용할 수 있습니다. 예를 들어 앱에서 파일 시스템의 파일 목록을 검색하거나 파일을 다운로드할 수 있도록 허용하려면 이 유형의 SAS를 사용합니다.

    참고 항목

    저장된 액세스 정책은 서버 쪽의 서비스 수준 SAS를 사용할 때 다른 수준의 제어를 제공할 수 있습니다. 저장된 액세스 정책을 사용하여 SAS를 그룹화하고 다른 제한을 제공할 수 있습니다.

  • 선택 사항으로 다음과 같은 SAS 구성 설정이 있습니다.

    • IP 주소. Azure Storage가 SAS를 수락하는 선택적 IP 주소 또는 IP 주소 범위를 식별할 수 있습니다. 조직에 속한 IP 주소 범위를 지정하도록 이 옵션을 구성합니다.

    • 프로토콜. Azure Storage에서 SAS를 수락하는 프로토콜을 지정할 수 있습니다. HTTPS를 사용하여 클라이언트에 대한 액세스를 제한하도록 이 옵션을 구성합니다.

공유 액세스 서명 구성

Azure Portal에서 SAS를 만들도록 여러 설정을 구성합니다. 이러한 세부 정보를 검토할 때 스토리지 보안 솔루션에서 공유 액세스 서명을 구현할 수 있는 방법을 고려합니다.

공유 액세스 서명 키 만들기 페이지의 스크린샷.

  • 서명 방법: 계정 키와 사용자 위임 키 중에서 서명 방법을 선택합니다.
  • 서명 키: 키 목록에서 서명 키를 선택합니다.
  • 사용 권한: SAS에서 부여한 권한(예: 읽기 또는 쓰기)을 선택합니다.
  • 시작 및 만료 날짜/시간: SAS가 유효한 시간 간격을 지정합니다. 시작 시간과 만료 시간을 설정합니다.
  • Allowed IP addresses: (선택 사항) Azure Storage가 SAS를 수락하는 IP 주소 또는 IP 주소 범위를 식별합니다.
  • 허용되는 프로토콜: (선택 사항) Azure Storage에서 SAS를 수락하는 프로토콜을 선택합니다.