Azure 자격증 SC-200 | Azure Storage 상세 설명 (06/25)
작성자: azure | 작성일: 2026년 06월 25일 | 조회: 0 | 좋아요: 0
Microsoft Security Operations Analyst Associate (SC-200)
스토리지 핵심 이론 강의
Shared Access Signatures (SAS)와 저장된 액세스 정책 (Stored Access Policies)을 이용한 Azure Storage 보안 강화
Azure 스토리지 리소스에 대한 안전하고 세분화된 접근 제어 구현
클라우드 환경에서 데이터 스토리지의 보안은 핵심적인 요소입니다. 특히 Azure Storage는 다양한 유형의 데이터를 저장하지만, 모든 애플리케이션이나 사용자에게 전체 스토리지 계정 접근 권한을 부여하는 것은 보안상 위험합니다. Shared Access Signatures (SAS)와 저장된 액세스 정책 (Stored Access Policies)은 이러한 문제를 해결하고, 특정 리소스에 대해 제한된 시간 동안, 제한된 권한으로 접근할 수 있도록 하는 강력한 메커니즘을 제공하여, 데이터 노출 위험을 최소화하고 규정 준수를 지원합니다. SC-200 응시자는 이 기술을 통해 스토리지 접근 제어의 모범 사례를 이해하고 적용할 수 있어야 합니다.
1 공유 액세스 서명 (Shared Access Signatures, SAS)
SAS는 Azure Storage 리소스(컨테이너, Blob, 파일 공유, 큐, 테이블 등)에 대한 위임된 접근 권한을 부여하는 URI입니다. 이 URI는 리소스에 접근할 수 있는 권한, 허용되는 작업, 유효 기간을 지정하는 매개변수를 포함합니다. SAS를 사용하면 스토리지 계정 키를 공유하지 않고도 클라이언트에게 특정 리소스에 대한 제한된 접근 권한을 안전하게 부여할 수 있습니다. 예를 들어, 웹 애플리케이션이 사용자에게 특정 Blob을 다운로드할 권한만 부여하거나, 특정 컨테이너에 파일 업로드 권한만 부여하는 데 활용됩니다.
2 저장된 액세스 정책 (Stored Access Policies)
저장된 액세스 정책은 컨테이너 (Container), 파일 공유 (File Share), 큐 (Queue), 테이블 (Table)과 같은 스토리지 리소스에 대해 서버 측에서 관리되는 SAS를 정의하는 방법입니다. 이 정책은 SAS가 허용하는 권한, 시작 시간, 만료 시간 등의 매개변수를 지정합니다. 여러 SAS 토큰이 동일한 저장된 액세스 정책을 참조하도록 만들 수 있으며, 이를 통해 모든 관련 SAS의 권한이나 만료 시간을 중앙에서 쉽게 업데이트하거나 즉시 취소할 수 있어 보안 관리의 유연성과 효율성을 크게 높입니다.
3 SAS 유형 및 보안 고려 사항
SAS는 크게 세 가지 유형으로 나뉩니다: 사용자 위임 SAS (User Delegation SAS), 서비스 SAS (Service SAS), 계정 SAS (Account SAS). 사용자 위임 SAS는 Azure AD 자격 증명으로 보호되며, 가장 권장되는 유형입니다. 서비스 SAS는 특정 서비스(예: Blob) 리소스에 대한 접근을 제어하며, 계정 SAS는 스토리지 계정 수준의 접근을 허용하여 가장 광범위한 권한을 가집니다. SC-200 시험에서는 각 유형의 특징과 더불어, SAS의 오용을 방지하기 위한 짧은 유효 기간 설정, 최소 권한 원칙 적용, HTTPS 강제 적용, SAS 취소 메커니즘 이해 등 보안 모범 사례가 중요하게 다루어집니다.
어떤 기업이 사용자에게 웹 애플리케이션을 통해 이미지를 업로드하고, 업로드된 이미지를 특정 기간 동안만 다른 사용자에게 공유할 수 있도록 하는 서비스를 운영한다고 가정해 봅시다. 스토리지 계정 키를 직접 노출하지 않고 안전하게 이 기능을 구현해야 합니다.
1. **이미지 업로드**: 사용자가 웹 애플리케이션에 로그인하면, 백엔드 서비스 (예: Azure Functions 또는 Web App)가 인증된 사용자에게 특정 Blob 컨테이너에 파일을 업로드할 수 있는 **서비스 SAS (Service SAS)**를 동적으로 생성하여 반환합니다. 이 SAS는 `write` 권한과 짧은 유효 기간 (예: 15분)을 가집니다. 클라이언트 브라우저는 이 SAS를 사용하여 Azure Blob Storage에 직접 이미지를 업로드합니다. 백엔드 서비스는 스토리지 계정 키를 클라이언트에 노출하지 않습니다. **Best Practice**: 업로드 SAS는 `https`를 통해서만 접근 가능하도록 강제하고, 만료 시간을 최소화하여 만약 SAS가 유출되더라도 악용될 위험을 줄입니다.
2. **이미지 임시 공유**: 사용자가 업로드된 이미지를 공유하고자 할 때, 백엔드 서비스는 해당 이미지 Blob에 대한 읽기 (read) 전용 **서비스 SAS**를 생성합니다. 이때, 보안 강화를 위해 **저장된 액세스 정책 (Stored Access Policy)**을 활용합니다. 예를 들어, "TemporaryReadPolicy"라는 저장된 액세스 정책을 해당 Blob 컨테이너에 생성하고, `read` 권한과 1시간의 유효 기간을 정의합니다. 백엔드 서비스는 이 정책을 참조하는 SAS 토큰을 생성하여 공유 링크에 포함합니다. 공유 링크를 받은 다른 사용자는 이 SAS를 사용하여 1시간 동안만 해당 이미지를 열람할 수 있습니다. **Best Practice**: 만약 악의적인 사용자에 의해 공유된 SAS가 오용되는 것이 감지되면, "TemporaryReadPolicy"의 만료 시간을 즉시 과거로 변경하거나 삭제하여, 해당 정책을 참조하는 모든 SAS 토큰을 즉시 취소할 수 있습니다. 이는 중앙 집중식으로 SAS를 관리하고 취소하는 강력한 보안 메커니즘을 제공합니다. 또한, 공유되는 SAS는 최소한의 권한 (읽기만 가능)을 가지도록 합니다.
SAS 유형별 특징 및 사용 사례 비교: 사용자 위임 SAS (Azure AD 통합), 서비스 SAS (특정 리소스), 계정 SAS (스토리지 계정 전체)의 권한 범위, 보안 주체, 생성 방법의 차이를 명확히 이해하고 각각 어떤 시나리오에 적합한지 숙지하세요.
저장된 액세스 정책의 역할과 이점: 저장된 액세스 정책이 SAS 관리를 어떻게 중앙 집중화하고, SAS의 취소 및 업데이트를 용이하게 하는지 그 보안적 이점을 반드시 파악해야 합니다. SAS 만료 시간 변경 시 정책 변경이 모든 관련 SAS에 미치는 영향을 묻는 문제가 자주 출제됩니다.
SAS 보안 모범 사례: SAS 생성 시 최소 권한 (Least Privilege) 원칙 적용, 짧은 유효 기간 설정, HTTPS 강제 사용, SAS 모니터링 (Azure Monitor를 통한 스토리지 로그 분석) 등 실질적인 보안 강화 방안에 대한 문제가 출제됩니다.
🏷️ 관련 Azure 서비스
📚 Azure 자격증 합격을 위한 데일리 이론 강의
매일 새로운 강의 노트가 업데이트됩니다 | 더 많은 자료 보기 →