공유 액세스 서명(SAS)

개발자를 위한 Azure 보안 구현

Anushika Agarwal

Cloud Data Engineer

공유 액세스 서명이란?

  • 스토리지 리소스제한적 액세스 부여
  • 스토리지 계정 키노출하지 않음

SAS

개발자를 위한 Azure 보안 구현

비유: 자판기 토큰으로서의 SAS

  • 토큰은 제한된 시간 동안만 유효(예: 30초)

  • 토큰은 특정 작업만 허용(예: 코카콜라 1개)

SAS 자판기 비유

개발자를 위한 Azure 보안 구현

SAS는 어떻게 보호되나요?

  • 스토리지 계정 키로 서명

스토리지 계정 키

  • 또는 Microsoft Entra ID 사용

Microsoft Entra ID

개발자를 위한 Azure 보안 구현

SAS 유형

  • 사용자 위임 SAS
    • Microsoft Entra 자격 증명 사용
    • BlobData Lake Storage에서 동작

SAS 토큰

  • 서비스 SAS
    • 스토리지 계정 키 사용
    • 하나의 서비스에 액세스: Blob, Queue, Table, 또는 File
  • 계정 SAS
    • 스토리지 계정 키 사용
    • 여러 서비스에 액세스
    • 서비스 수준 작업
개발자를 위한 Azure 보안 구현

현업 시나리오

  • 시나리오:

    • PeopleSphere가 외부 감사인과 급여 보고서를 공유함
  • SAS 유형: 사용자 위임 SAS

  • 범위 제한 액세스:

    • 감사인은 필요한 보고서만 조회
  • 시간 제한:

    • 액세스가 자동으로 만료됨
  • 안전한 인증:

    • PeopleSphere의 Azure 자격 증명 사용

사용자 위임 SAS

개발자를 위한 Azure 보안 구현

SAS 구조 이해

SAS 구성 요소

  1. URI - 리소스 경로
  2. 토큰 - 액세스 규칙 및 서명

SAS 토큰

개발자를 위한 Azure 보안 구현

토큰 구성 요소

SAS 토큰

  • sp: 권한(예: r = 읽기, w = 쓰기)
  • st / se: 시작/만료 시간
  • spr: 프로토콜(예: https 전용)
  • sr: 리소스 유형(b = blob, f = file)
  • sv: Storage API 버전
  • sig: 검증용 서명
개발자를 위한 Azure 보안 구현

SAS 모범 사례

  • 항상 HTTPS 사용

  • 사용자 위임 SAS 권장
  • 만료 시간을 짧게 설정

짧은 만료

  • 최소 권한만 부여

최소 권한 부여

  • 고위험 액세스에는 SAS 사용 지양

매우 민감한 데이터

개발자를 위한 Azure 보안 구현

연습해 봅시다!

개발자를 위한 Azure 보안 구현

Preparing Video For Download...