본문 바로가기

인공지능,프로그래밍/MS Azure

공유 접근 시그니처(SAS, Shared Access Signature)

반응형

https://communities.sas.com/

공유 접근 시그니처(SAS, Shared Access Signature)는

Azure Storage 리소스에 대한 제한적이고 시간 제한된 액세스를 안전하게 부여하는 메커니즘입니다.

이를 통해 전체 계정 키를 노출하지 않고도 특정 리소스에 대한 세분화된 권한을 설정할 수 있습니다.


🔐 SAS의 주요 유형

  1. 계정 SAS (Account SAS)
    스토리지 계정 전체에 대한 액세스를 부여합니다. Blob, 파일, 큐, 테이블 등 다양한 서비스에 대한 권한을 설정할 수 있습니다.
  2. 서비스 SAS (Service SAS)
    특정 서비스(예: Blob 컨테이너, 파일 공유 등)에 대한 액세스를 제공합니다. 예를 들어, 특정 컨테이너 내의 파일에만 접근하도록 제한할 수 있습니다.
  3. 사용자 위임 SAS (User Delegation SAS)
    Azure Active Directory(AAD) 자격 증명을 기반으로 생성되며, 보안성이 가장 높습니다. AAD 토큰을 사용하여 SAS를 생성하므로, 계정 키를 사용하지 않아도 됩니다.

⚙️ SAS 토큰 구성 요소

  • 리소스 URI: 액세스 대상 리소스의 경로
  • 권한: 읽기, 쓰기, 삭제 등 허용할 작업
  • 시작 및 만료 시간: 토큰의 유효 기간
  • IP 주소 범위: 허용할 클라이언트 IP 범위
  • 프로토콜 제한: HTTP 또는 HTTPS로 제한 가능
  • 서명: 지정된 매개변수를 기반으로 생성된 해시값

🛡️ 보안 모범 사례

  • 최소 권한 원칙 적용 필요한 최소한의 권한만 부여
  • 짧은 만료 시간 설정 토큰 유효 기간을 가능한 짧게 설정
  • IP 및 프로토콜 제한 사용 특정 IP 범위와 HTTPS 프로토콜로 제한
  • 사용자 위임 SAS 권장 가능한 경우 AAD 기반의 사용자 위임 SAS 사용

🧪 SAS 생성 예시 (Azure CLI)

az storage blob generate-sas \
  --account-name <계정명> \
  --container-name <컨테이너명> \
  --name <파일명> \
  --permissions r \
  --expiry 2025-04-14T00:00Z \
  --https-only \
  --output tsv

이 명령은 지정된 Blob 파일에 대해 읽기 권한을 부여하는 SAS 토큰을 생성합다.


🧩 활용 사례

  • *일시적인 파일 공유: 특정 사용자에게 일정 기간 동안 파일 다운로드 권한 부여
  • *제한된 업로드 권한 제공: 외부 사용자에게 특정 컨테이너에 대한 업로드 권한 부여
  • *자동화된 백업 및 복원: 스크립트나 애플리케이션에서 SAS를 사용하여 스토리지 리소스 접근

 

관련 문제 예시

 

Question :

여러분의 스토리지 계정 키를 주지 않고 누군가에게

여러분의 Azure 스토리지 계정 내 한 컨테이너의 접근 권한을 주려면 어떻게 해야 할까요?

반응형

'인공지능,프로그래밍 > MS Azure' 카테고리의 다른 글

Azure 104 연습 문제 8  (0) 2025.04.14
Azure 104 연습 문제 7  (1) 2025.04.14
Azure 104 연습 문제 6  (0) 2025.04.13
Azure 104 연습 문제 5  (0) 2025.04.13
Azure 104 연습 문제 4  (2) 2025.04.12