계정 SAS 만들기

버전 2015-04-05를 기준으로 Azure Storage는 스토리지 계정 수준에서 새 유형의 SAS(공유 액세스 서명)를 만들 수 있도록 지원합니다. 계정 SAS를 만들어 다음을 수행할 수 있습니다.

  • 및 작업과 Get Service Stats 같은 Get/Set Service Properties 서비스별 SAS에서 현재 사용할 수 없는 서비스 수준 작업에 대한 액세스를 위임합니다.

  • 스토리지 계정에서 한 번에 둘 이상의 서비스에 대한 액세스를 위임합니다. 예를 들어 계정 SAS를 사용하여 Azure Blob Storage 및 Azure Files의 리소스에 대한 액세스 권한을 위임할 수 있습니다.

  • 개체별 SAS에서 사용할 수 없는 컨테이너, 큐, 테이블 및 파일 공유에 대한 쓰기 및 삭제 작업에 대한 액세스를 위임합니다.

  • 요청을 수락할 IP 주소 또는 IP 주소 범위를 지정합니다.

  • 요청을 수락할 HTTP 프로토콜(HTTPS 또는 HTTP/HTTPS)을 지정합니다.

저장된 액세스 정책은 현재 계정 SAS에 대해 지원되지 않습니다.

주의

공유 액세스 서명은 스토리지 리소스에 권한을 부여하는 키이며 계정 키를 보호하는 것처럼 보호해야 합니다. 악의적이거나 의도하지 않은 사용으로부터 SAS를 보호하는 것이 중요합니다. SAS 배포는 신중해야 하고, 손상된 SAS를 철회하는 계획을 세워야 합니다. 공유 액세스 서명을 사용하는 작업은 HTTPS 연결을 통해서만 수행되어야 하며 SAS URI는 HTTPS와 같은 보안 연결에서만 배포되어야 합니다.

계정 SAS 권한 부여

스토리지 계정 키를 사용하여 계정 SAS를 보호합니다. 계정 SAS를 만들 때 클라이언트 애플리케이션에 계정 키가 있어야 합니다.

Microsoft Entra 자격 증명을 사용하여 컨테이너 또는 Blob에 대한 SAS를 보호하려면 사용자 위임 SAS를 만듭니다.

계정 SAS URI 생성

계정 SAS URI는 SAS가 액세스를 위임할 리소스에 대한 URI와 SAS 토큰으로 구성됩니다. SAS 토큰은 리소스에 대한 요청에 권한을 부여하는 데 필요한 모든 정보를 포함하는 쿼리 문자열입니다. 액세스에 사용할 수 있는 서비스, 리소스 및 권한과 서명이 유효한 기간을 지정합니다.

계정 SAS 매개 변수 지정

SAS 토큰에 대한 필수 및 선택적 매개 변수는 다음 표에 설명되어 있습니다.

SAS 쿼리 매개 변수 Description
api-version 선택 사항입니다. 계정 SAS URI를 사용하여 만든 요청을 실행하는 데 사용할 스토리지 서비스 버전을 지정합니다. 자세한 내용은 공유 액세스 서명을 사용하여 요청 권한 부여를 참조하세요.
SignedVersion (sv) 필수 사항입니다. 이 계정 SAS로 수행된 요청에 권한을 부여하는 데 사용할 서명된 스토리지 서비스 버전을 지정합니다. 버전 2015-04-05 이상으로 설정해야 합니다. 자세한 내용은 공유 액세스 서명을 사용하여 요청 권한 부여를 참조하세요.
SignedServices (ss) 필수 사항입니다. 계정 SAS를 사용하여 액세스할 수 있는 서명된 서비스를 지정합니다. 가능한 값은 다음과 같습니다.

- Blob(b)
- 큐(q)
- 테이블(t)
- 파일(f)

값을 결합하여 둘 이상의 서비스에 대한 액세스를 제공할 수 있습니다. 예를 들어 는 ss=bf Blob Storage 및 Azure Files 엔드포인트에 대한 액세스를 지정합니다.
SignedResourceTypes (srt) 필수 요소. 계정 SAS를 사용하여 액세스할 수 있는 서명된 리소스 유형을 지정합니다.

- 서비스(s): 서비스 수준 API에 대한 액세스(예: 서비스 속성 가져오기/설정, 서비스 통계 가져오기, 컨테이너/큐/테이블/공유 나열).
- 컨테이너(c): 컨테이너 수준 API에 대한 액세스(예: 컨테이너 만들기/삭제, 큐 만들기/삭제, 테이블 만들기/삭제, 공유 만들기/삭제, Blob/파일 및 디렉터리 나열).
- 개체(o): Blob, 큐 메시지, 테이블 엔터티 및 파일(예: Blob 배치, 쿼리 엔터티, 메시지 가져오기, 파일 만들기)에 대한 개체 수준 API에 액세스합니다.

값을 결합하여 둘 이상의 리소스 종류에 대한 액세스를 제공할 수 있습니다. 예를 들어 srt=sc는 서비스 및 컨테이너 리소스에 대한 액세스를 지정합니다.
SignedPermissions (sp) 필수 요소. 계정 SAS에 대한 서명된 권한을 지정합니다. 사용 권한은 지정된 서명된 리소스 유형과 일치하는 경우에만 유효합니다. 일치하지 않으면 무시됩니다.

- 읽기(r): 서명된 모든 리소스 유형(서비스, 컨테이너 및 개체)에 대해 유효합니다. 지정된 리소스 종류에 대한 읽기 권한을 허용합니다.
- 쓰기(w): 서명된 모든 리소스 유형(서비스, 컨테이너 및 개체)에 대해 유효합니다. 사용자가 리소스를 만들고 업데이트할 수 있도록 지정된 리소스 종류에 대한 쓰기 액세스를 허용합니다.
- 삭제(d): 큐 메시지를 제외하고 컨테이너 및 개체 리소스 종류에 유효합니다.
- 영구 삭제(y): Blob의 개체 리소스 유형에만 유효합니다.
- 목록(l): 서비스 및 컨테이너 리소스 종류에만 유효합니다.
- 추가(a): 큐 메시지, 테이블 엔터티 및 추가 Blob과 같은 개체 리소스 유형에만 유효합니다.
- 만들기(c): 컨테이너 리소스 종류 및 개체 리소스 유형에 대해 유효합니다. Blob 및 파일. 사용자는 새 리소스를 만들 수 있지만 기존 리소스를 덮어쓰지 않을 수 있습니다.
- 업데이트(u): 다음 개체 리소스 유형에 대해서만 유효합니다. 큐 메시지 및 테이블 엔터티.
- 프로세스(p): 다음 개체 리소스 유형에 대해서만 유효합니다. 큐 메시지.
- 태그(t): 다음 개체 리소스 유형에 대해서만 유효합니다. blob. Blob 태그 작업을 허용합니다.
- 필터(f): 다음 개체 리소스 유형에 대해서만 유효합니다. blob. Blob 태그로 필터링을 허용합니다.
- 불변성 정책 설정(i): 다음 개체 리소스 유형에 대해서만 유효합니다. blob. Blob에 대한 불변성 정책 및 법적 보존 설정/삭제를 허용합니다.
SignedStart (st) 선택 사항입니다. 허용된 ISO 8601 UTC 형식 중 하나로 표현된 SAS가 유효해지는 시간입니다. 생략하면 시작 시간은 스토리지 서비스가 요청을 수신하는 시간으로 간주됩니다. 허용되는 UTC 형식에 대한 자세한 내용은 DateTime 값 서식 지정을 참조하세요.
SignedExpiry (se) 필수 사항입니다. 공유 액세스 서명이 유효하지 않은 경우 허용되는 ISO 8601 UTC 형식 중 하나로 표현되는 시간입니다. 허용되는 UTC 형식에 대한 자세한 내용은 DateTime 값 서식 지정을 참조하세요.
SignedIP (sip) 선택 사항입니다. 요청을 수락할 IP 주소 또는 IP 주소 범위를 지정합니다. 범위를 지정할 때는 범위가 포함됩니다. IPv4 주소만 지원됩니다.

예를 들어 sip=168.1.5.65 또는 sip=168.1.5.60-168.1.5.70입니다.
SignedProtocol (spr) 선택 사항입니다. 계정 SAS를 사용하여 수행한 요청에 허용되는 프로토콜을 지정합니다. 가능한 값은 HTTPS와 HTTP(https,http) 또는 HTTPS만(https)입니다. 기본값은 https,http입니다.

HTTP만은 허용되는 값이 아닙니다.
SignedEncryptionScope (ses) 선택 사항입니다. 요청 내용을 암호화하는 데 사용할 암호화 scope 나타냅니다. 이 필드는 버전 2020-12-06 이상에서 지원됩니다.
Signature (sig) 필수 사항입니다. URI의 서명 부분은 공유 액세스 서명을 사용하여 만든 요청에 권한을 부여하는 데 사용됩니다.

문자열-서명은 요청에 권한을 부여하기 위해 확인해야 하는 필드에서 생성된 고유한 문자열입니다. 서명은 SHA256 알고리즘을 사용하여 문자열 간 및 키를 통해 계산된 다음 Base64 인코딩을 사용하여 인코딩되는 해시 기반 HMAC(메시지 인증 코드)입니다.

signedVersion 필드 지정

(sv) 필드에는 signedVersion 공유 액세스 서명의 서비스 버전이 포함됩니다. 이 값은 이 공유 액세스 서명(필드)에서 signature 사용하는 공유 키 권한 부여 버전을 지정합니다. 이 값은 이 공유 액세스 서명을 사용하여 수행되는 요청에 대한 서비스 버전도 지정합니다.

공유 액세스 서명을 통해 요청을 실행할 때 사용되는 버전에 대한 자세한 내용은 Azure Storage 서비스 버전 관리를 참조하세요.

이 매개 변수가 공유 액세스 서명을 사용하여 수행된 요청의 권한 부여에 미치는 영향에 대한 자세한 내용은 공유 액세스 서명을 사용하여 액세스 위임을 참조하세요.

필드 이름 쿼리 매개 변수 Description
signedVersion sv 필수 사항입니다. 버전 2015-04-05 이상에서 지원됩니다. 이 공유 액세스 서명으로 만드는 요청을 승인하고 처리하는 데 사용할 스토리지 서비스 버전입니다. 자세한 내용은 Azure Storage 서비스 버전 관리를 참조하세요.

IP 주소 또는 IP 범위 지정

버전 2015-04-05부터 선택적 signedIp (sip) 필드는 요청을 수락할 공용 IP 주소 또는 공용 IP 주소 범위를 지정합니다. 요청이 시작된 IP 주소가 SAS 토큰에 지정된 IP 주소 또는 주소 범위와 일치하지 않는 경우 요청은 권한이 부여되지 않습니다. IPv4 주소만 지원됩니다.

IP 주소 범위를 지정하는 경우 범위가 inclusive입니다. 예를 들어 SAS에서 또는 sip=168.1.5.60-168.1.5.70 를 지정하면 sip=168.1.5.65 요청이 해당 IP 주소로 제한됩니다.

다음 표에서는 클라이언트 환경 및 스토리지 계정의 위치에 따라 지정된 시나리오에 대한 SAS 토큰에 필드를 포함 signedIp 할지 여부를 설명합니다.

클라이언트 환경 스토리지 계정 위치 권장
Azure에서 실행되는 클라이언트 클라이언트와 동일한 지역에서 이 시나리오에서 클라이언트에 제공되는 SAS에는 필드에 대한 아웃바운드 IP 주소가 signedIp 포함되어서는 안 됩니다. 지정된 아웃바운드 IP 주소가 있는 SAS를 사용하는 동일한 지역 내에서 수행된 요청은 실패합니다.

대신 Azure 가상 네트워크를 사용하여 네트워크 보안 제한을 관리합니다. 동일한 지역 내에서 Azure Storage에 대한 요청은 항상 개인 IP 주소를 통해 수행됩니다. 자세한 내용은 Azure Storage 방화벽 및 가상 네트워크 구성을 참조하세요.
Azure에서 실행되는 클라이언트 클라이언트와 다른 지역에서 이 시나리오에서 클라이언트에 제공되는 SAS에는 공용 IP 주소 또는 필드의 주소 범위가 signedIp 포함될 수 있습니다. SAS를 사용한 요청은 지정된 IP 주소 또는 주소 범위에서 발생해야 합니다.
온-프레미스 또는 다른 클라우드 환경에서 실행되는 클라이언트 모든 Azure 지역에서 이 시나리오에서 클라이언트에 제공되는 SAS에는 공용 IP 주소 또는 필드의 주소 범위가 signedIp 포함될 수 있습니다. SAS를 사용한 요청은 지정된 IP 주소 또는 주소 범위에서 발생해야 합니다.

요청이 프록시 또는 게이트웨이를 통과하는 경우 해당 프록시 또는 게이트웨이 signedIp 의 공용 아웃바운드 IP 주소를 필드에 제공합니다.

HTTP 프로토콜 지정

버전 2015-04-05를 기준으로 선택적 signedProtocol (spr) 필드는 SAS로 이루어진 요청에 허용되는 프로토콜을 지정합니다. 가능한 값은 HTTPS와 HTTP(https,http) 또는 HTTPS만(https)입니다. 기본값은 https,http입니다. HTTP만은 허용되는 값이 아닙니다.

암호화 scope 지정

URI의 signedEncryptionScope 필드를 사용하여 클라이언트 애플리케이션에서 사용할 수 있는 암호화 scope 지정할 수 있습니다. SAS 토큰을 사용하여 BLOB(PUT)을 업로드할 때 지정된 암호화 scope 사용하여 서버 쪽 암호화를 적용합니다. GET 및 HEAD 이전처럼 제한되고 수행되지 않습니다.

다음 표에서는 URI에서 서명된 암호화 scope 참조하는 방법을 설명합니다.

필드 이름 쿼리 매개 변수 Description
signedEncryptionScope ses 선택 사항입니다. 요청 내용을 암호화하는 데 사용할 암호화 scope 나타냅니다.

이 필드는 버전 2020-12-06 이상에서 지원됩니다. 지원되는 버전 앞에 를 ses 추가하면 서비스에서 오류 응답 코드 403(사용할 수 없음)을 반환합니다.

컨테이너 또는 파일 시스템에 ses 대한 기본 암호화 scope 설정하는 경우 쿼리 매개 변수는 컨테이너 암호화 정책을 따릅니다. 쿼리 매개 변수와 x-ms-default-encryption-scope 헤더 x-ms-deny-encryption-scope-overrideses 일치하지 않는 경우 헤더가 로 true설정된 경우 서비스는 오류 응답 코드 403(사용할 수 없음)을 반환합니다.

PUT 요청에서 x-ms-encryption-scope 헤더 및 쿼리 매개 변수를 ses 제공하면 서비스가 일치하지 않는 경우 오류 응답 코드 400(잘못된 요청)을 반환합니다.

서명 문자열 생성

계정 SAS에 대한 서명 문자열을 생성하려면 먼저 요청을 작성하는 필드에서 문자열 간 서명을 생성한 다음, 문자열을 UTF-8로 인코딩하고 HMAC-SHA256 알고리즘을 사용하여 서명을 계산합니다.

참고

문자열-서명에 포함된 필드는 URL 디코딩되어야 합니다.

계정 SAS에 대한 문자열 간 서명을 생성하려면 다음 형식을 사용합니다.

StringToSign = accountname + "\n" +  
    signedpermissions + "\n" +  
    signedservice + "\n" +  
    signedresourcetype + "\n" +  
    signedstart + "\n" +  
    signedexpiry + "\n" +  
    signedIP + "\n" +  
    signedProtocol + "\n" +  
    signedversion + "\n"  
  

버전 2020-12-06은 서명된 암호화 scope 필드에 대한 지원을 추가합니다. 계정 SAS에 대한 문자열 간 서명을 생성하려면 다음 형식을 사용합니다.

StringToSign = accountname + "\n" +  
    signedpermissions + "\n" +  
    signedservice + "\n" +  
    signedresourcetype + "\n" +  
    signedstart + "\n" +  
    signedexpiry + "\n" +  
    signedIP + "\n" +  
    signedProtocol + "\n" +  
    signedversion + "\n" +
    signedEncryptionScope + "\n"  
  

작업별 계정 SAS 권한

다음 섹션의 표에는 각 서비스에 대한 다양한 API와 각 작업에 대해 지원되는 서명된 리소스 종류 및 서명된 권한이 나열되어 있습니다.

Blob service

다음 표에서는 Blob 서비스 작업을 나열하고 해당 작업에 대한 액세스를 위임할 때 지정할 서명된 리소스 종류 및 서명된 권한을 나타냅니다.

작업 서명된 서비스 서명된 리소스 종류 서명된 권한
컨테이너 나열 Blob(b) 서비스(들) 목록(l)
Blob 서비스 속성 가져오기 Blob(b) 서비스(들) 읽기(r)
Blob 서비스 속성 설정 Blob(b) 서비스(들) 쓰기(w)
Blob 서비스 통계 가져오기 Blob(b) 서비스(들) 읽기(r)
컨테이너 만들기 Blob(b) 컨테이너(c) 만들기(c) 또는 쓰기(w)
컨테이너 속성 가져오기 Blob(b) 컨테이너(c) 읽기(r)
컨테이너 메타데이터 가져오기 Blob(b) 컨테이너(c) 읽기(r)
컨테이너 메타데이터 설정 Blob(b) 컨테이너(c) 쓰기(w)
컨테이너 임대 Blob(b) 컨테이너(c) 쓰기(w) 또는 삭제(d)1
컨테이너 삭제 Blob(b) 컨테이너(c) 삭제(d)1
컨테이너에서 태그별 Blob 찾기 Blob(b) 컨테이너(c) 필터(f)
Blob 나열 Blob(b) 컨테이너(c) 목록(l)
Blob 배치(새 블록 Blob 만들기) Blob(b) 개체(o) 만들기(c) 또는 쓰기(w)
Blob 배치(기존 블록 Blob 덮어쓰기) Blob(b) 개체(o) 쓰기(w)
Blob 배치(새 페이지 Blob 만들기) Blob(b) 개체(o) 만들기(c) 또는 쓰기(w)
Blob 배치(기존 페이지 Blob 덮어쓰기) Blob(b) 개체(o) 쓰기(w)
Blob 가져오기 Blob(b) 개체(o) 읽기(r)
Blob 속성 가져오기 Blob(b) 개체(o) 읽기(r)
Blob 속성 설정 Blob(b) 개체(o) 쓰기(w)
Blob 메타데이터 가져오기 Blob(b) 개체(o) 읽기(r)
Blob 메타데이터 설정 Blob(b) 개체(o) 쓰기(w)
Blob 태그 가져오기 Blob(b) 개체(o) 태그(t)
Blob 태그 설정 Blob(b) 개체(o) 태그(t)
Find Blobs by Tags Blob(b) 개체(o) 필터(f)
Blob 삭제 Blob(b) 개체(o) 삭제(d)1
영구적으로 스냅샷/버전 삭제 Blob(b) 개체(o) 영구 삭제(y)
Blob 임대 Blob(b) 개체(o) 쓰기(w) 또는 삭제(d)1
Blob 스냅샷 Blob(b) 개체(o) 만들기(c) 또는 쓰기(w)
Blob 복사(대상은 새 Blob임) Blob(b) 개체(o) 만들기(c) 또는 쓰기(w)
Blob 복사(대상은 기존 Blob임) Blob(b) 개체(o) 쓰기(w)
증분 복사 Blob(b) 개체(o) 만들기(c) 또는 쓰기(w)
Blob 복사 중단 Blob(b) 개체(o) 쓰기(w)
블록 배치 Blob(b) 개체(o) 쓰기(w)
블록 목록 배치(새 Blob 만들기) Blob(b) 개체(o) 쓰기(w)
블록 목록 배치(기존 Blob 업데이트) Blob(b) 개체(o) 쓰기(w)
블록 목록 가져오기 Blob(b) 개체(o) 읽기(r)
페이지 가져오기 Blob(b) 개체(o) 쓰기(w)
페이지 범위 가져오기 Blob(b) 개체(o) 읽기(r)
추가 블록 Blob(b) 개체(o) 추가(a) 또는 쓰기(w)
페이지 지우기 Blob(b) 개체(o) 쓰기(w)

1Delete 사용 권한을 통해 버전 2017-07-29 이상인 Blob 또는 컨테이너에서 임대를 중단할 수 있습니다.

큐 서비스

다음 표에서는 큐 서비스 작업을 나열하고 해당 작업에 대한 액세스를 위임할 때 지정할 서명된 리소스 종류 및 서명된 권한을 나타냅니다.

작업 서명된 서비스 서명된 리소스 종류 서명된 권한
큐 서비스 속성 가져오기 큐(q) 서비스(s) 읽기(r)
큐 서비스 속성 설정 큐(q) 서비스(s) 쓰기(w)
큐 나열 큐(q) 서비스(s) 목록(l)
큐 서비스 통계 가져오기 큐(q) 서비스(s) 읽기(r)
큐 만들기 큐(q) 컨테이너(c) 만들기(c) 또는 쓰기(w)
큐 삭제 큐(q) 컨테이너(c) 삭제(d)
큐 메타데이터 가져오기 큐(q) 컨테이너(c) 읽기(r)
큐 메타데이터 설정 큐(q) 컨테이너(c) 쓰기(w)
메시지 추가 큐(q) 개체(o) 추가(a)
메시지 가져오기 큐(q) 개체(o) 프로세스(p)
메시지 엿보기 큐(q) 개체(o) 읽기(r)
메시지 삭제 큐(q) 개체(o) 프로세스(p)
메시지 지우기 큐(q) 개체(o) 삭제(d)
메시지 업데이트 큐(q) 개체(o) 업데이트(u)

테이블 서비스

다음 표에서는 테이블 서비스 작업을 나열하고 해당 작업에 대한 액세스를 위임할 때 지정할 서명된 리소스 종류 및 서명된 권한을 나타냅니다.

작업 서명된 서비스 서명된 리소스 종류 서명된 권한
테이블 서비스 속성 가져오기 테이블(t) 서비스(s) 읽기(r)
테이블 서비스 속성 설정 테이블(t) 서비스(s) 쓰기(w)
테이블 서비스 통계 가져오기 테이블(t) 서비스(s) 읽기(r)
쿼리 테이블 테이블(t) 컨테이너(c) 목록(l)
테이블 만들기 테이블(t) 컨테이너(c) 만들기(c) 또는 쓰기(w)
테이블 삭제 테이블(t) 컨테이너(c) 삭제(d)
엔터티 쿼리 테이블(t) 개체(o) 읽기(r)
엔터티 삽입 테이블(t) 개체(o) 추가(a)
엔터티 삽입 또는 병합 테이블(t) 개체(o) 추가(a) 및 업데이트(u)1
엔터티 삽입 또는 교체 테이블(t) 개체(o) 추가(a) 및 업데이트(u)1
엔터티 업데이트 테이블(t) 개체(o) 업데이트(u)
엔터티 병합 테이블(t) 개체(o) 업데이트(u)
엔터티 삭제 테이블(t) 개체(o) 삭제(d)

1 Table Service의 upsert 작업에는 추가 및 업데이트 권한이 필요합니다.

파일 서비스

다음 표에서는 파일 서비스 작업을 나열하고 해당 작업에 대한 액세스를 위임할 때 지정할 서명된 리소스 종류 및 서명된 권한을 나타냅니다.

작업 서명된 서비스 서명된 리소스 종류 서명된 권한
공유 나열 파일(f) 서비스(s) 목록(l)
파일 서비스 속성 가져오기 파일(f) 서비스(s) 읽기(r)
파일 서비스 속성 설정 파일(f) 서비스(s) 쓰기(w)
공유 통계 가져오기 파일(f) 컨테이너(c) 읽기(r)
공유 만들기 파일(f) 컨테이너(c) 만들기(c) 또는 쓰기(w)
스냅샷 공유(Snapshot Share) 파일(f) 컨테이너(c) 만들기(c) 또는 쓰기(w)
공유 속성 가져오기 파일(f) 컨테이너(c) 읽기(r)
공유 속성 설정 파일(f) 컨테이너(c) 쓰기(w)
공유 메타데이터 가져오기 파일(f) 컨테이너(c) 읽기(r)
공유 메타데이터 설정 파일(f) 컨테이너(c) 쓰기(w)
공유 삭제 파일(f) 컨테이너(c) 삭제(d)
디렉터리 및 파일 나열 파일(f) 컨테이너(c) 목록(l)
디렉터리 만들기 파일(f) 개체(o) 만들기(c) 또는 쓰기(w)
디렉터리 속성 가져오기 파일(f) 개체(o) 읽기(r)
디렉터리 메타데이터 가져오기 파일(f) 개체(o) 읽기(r)
디렉터리 메타데이터 설정 파일(f) 개체(o) 쓰기(w)
디렉터리 삭제 파일(f) 개체(o) 삭제(d)
파일 만들기(새로 만들기) 파일(f) 개체(o) 만들기(c) 또는 쓰기(w)
파일 만들기(기존 항목 덮어쓰기) 파일(f) 개체(o) 쓰기(w)
파일 가져오기 파일(f) 개체(o) 읽기(r)
파일 속성 가져오기 파일(f) 개체(o) 읽기(r)
파일 메타데이터 가져오기 파일(f) 개체(o) 읽기(r)
파일 메타데이터 설정 파일(f) 개체(o) 쓰기(w)
파일 삭제 파일(f) 개체(o) 삭제(d)
파일 이름 바꾸기 파일(f) 개체(o) 삭제(d) 또는 쓰기(w)
범위 배치 파일(f) 개체(o) 쓰기(w)
범위 나열 파일(f) 개체(o) 읽기(r)
파일 복사 중단 파일(f) 개체(o) 쓰기(w)
파일 복사 파일(f) 개체(o) 쓰기(w)
범위 지우기 파일(f) 개체(o) 쓰기(w)

계정 SAS URI 예

다음 예제에서는 계정 SAS 토큰이 추가된 Blob 서비스 URI를 보여 줍니다. 계정 SAS 토큰은 서비스, 컨테이너 및 개체에 대한 권한을 제공합니다. 테이블은 URI의 각 부분을 세분화합니다.

https://blobsamples.blob.core.windows.net/?sv=2022-11-02&ss=b&srt=sco&sp=rwlc&se=2023-05-24T09:51:36Z&st=2023-05-24T01:51:36Z&spr=https&sig=<signature>
Name SAS 부분 Description
리소스 URI https://myaccount.blob.core.windows.net/?restype=service&comp=properties 서비스 속성을 가져오거나(GET을 사용하여 호출된 경우) 서비스 속성을 설정하는 매개 변수가 있는 서비스 엔드포인트입니다(SET를 사용하여 호출된 경우). 서명된 서비스 필드(ss)의 값에 따라 이 SAS를 Blob Storage 또는 Azure Files 사용할 수 있습니다.
구분 기호 ? 쿼리 문자열 앞에 오는 구분 기호입니다. 구분 기호는 SAS 토큰의 일부가 아닙니다.
Storage 서비스 버전 sv=2022-11-02 Azure Storage 서비스 버전 2012-02-12 이상의 경우 이 매개 변수는 사용할 버전을 나타냅니다.
서비스 ss=b SAS는 Blob 서비스에 적용됩니다.
리소스 종류 srt=sco SAS는 서비스 수준, 컨테이너 수준 및 개체 수준 작업에 적용됩니다.
사용 권한 sp=rwlc 권한은 읽기, 쓰기, 나열 및 만들기 작업에 대한 액세스 권한을 부여합니다.
시작 시간 st=2019-08-01T22%3A18%3A26Z UTC 시간으로 지정됩니다. SAS를 즉시 유효화하려면 시작 시간을 생략하십시오.
만료 시간 se=2019-08-10T02%3A23%3A26Z UTC 시간으로 지정됩니다.
프로토콜 spr=https HTTPS를 사용하는 요청만 허용됩니다.
서명 sig=<signature> Blob에 대한 액세스 권한을 부여하는 데 사용합니다. 서명은 SHA256 알고리즘을 사용하여 문자열 간 및 키를 통해 계산된 다음 Base64 인코딩을 사용하여 인코딩되는 HMAC입니다.

권한은 서비스 수준으로 제한되므로 이 SAS를 사용하여 액세스할 수 있는 작업은 Blob 서비스 속성 가져오기 (읽기) 및 Blob 서비스 속성 설정 (쓰기)입니다. 하지만 다른 리소스 URI를 사용하면 동일한 SAS 토큰을 사용하여 Blob 서비스 통계 가져오기 (읽기)에 대한 액세스 권한을 위임할 수도 있습니다.

추가 정보