저장된 액세스 정책 정의

저장된 액세스 정책은 서버 쪽에서 서비스 수준 SAS(공유 액세스 서명)에 대한 추가 수준의 제어를 제공합니다. 저장된 액세스 정책을 설정하면 공유 액세스 서명을 그룹화하고 정책의 적용을 받는 서명에 추가적인 제약을 적용하는 데 도움이 됩니다.

저장된 액세스 정책을 사용하여 서명에 대한 시작 시간, 만료 시간 또는 권한을 변경할 수 있습니다. 저장된 액세스 정책을 사용하여 서명이 발급된 후 취소할 수도 있습니다.

다음 저장소 리소스에서는 저장된 액세스 정책을 지원합니다.

  • Blob 컨테이너
  • 파일 공유
  • 테이블

참고

컨테이너에 저장된 액세스 정책은 컨테이너 자체 또는 컨테이너에 포함된 Blob에 권한을 부여하는 공유 액세스 서명과 연결할 수 있습니다. 마찬가지로 파일 공유에 저장된 액세스 정책은 공유 자체 또는 포함된 파일에 대한 권한을 부여하는 공유 액세스 서명과 연결할 수 있습니다.

사용자 위임 SAS 또는 계정 SAS에는 저장된 액세스 정책이 지원되지 않습니다.

저장된 액세스 정책 만들기 또는 수정

공유 액세스 서명의 액세스 정책은 서명의 시작 시간, 만료 시간 및 권한으로 구성됩니다. 다음 옵션 중 하나를 지정하거나 결합할 수 있습니다.

  • 서명 URI에 대한 이러한 모든 매개 변수와 저장된 액세스 정책의 매개 변수 없음
  • 저장된 액세스 정책에 대한 이러한 모든 매개 변수와 URI에 없음

그러나 SAS 토큰과 저장된 액세스 정책 모두에서 매개 변수를 지정할 수는 없습니다.

저장된 액세스 정책을 만들거나 수정하려면 액세스 정책의 조건을 지정하는 요청 본문으로 리소스에 대한 Set ACL 작업을 호출합니다(Set Container ACL, Set Queue ACL, Set Table ACL 또는 Set Share ACL 참조). 요청 본문에는 선택한 고유한 서명된 식별자(최대 64자)가 포함됩니다. 요청 본문에는 다음과 같이 액세스 정책의 선택적 매개 변수도 포함됩니다.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>
    <Id>unique-64-char-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  

컨테이너, 테이블, 큐 또는 공유에서 한 번에 최대 5개의 액세스 정책을 설정할 수 있습니다. 고유 SignedIdentifier 필드의 각 Id 필드는 하나의 액세스 정책에 해당합니다. 한 번에 5개 이상의 액세스 정책을 설정하려고 하면 서비스가 상태 코드 400(잘못된 요청)을 반환합니다.

참고

컨테이너, 테이블, 큐 또는 공유에서 저장된 액세스 정책을 만들거나 업데이트하는 경우 변경 내용이 적용되는 데 최대 30초가 걸릴 수 있습니다. 이 간격 동안 저장된 액세스 정책과 연결된 공유 액세스 서명에 대한 요청은 액세스 정책이 활성화될 때까지 상태 코드 403(사용할 수 없음)으로 실패할 수 있습니다.

저장된 액세스 정책에서는 테이블 엔터티(startpk, , startrkendpkendrk)에 대한 범위 제한을 지정할 수 없습니다.

저장된 액세스 정책 수정 또는 해지

저장된 액세스 정책의 매개 변수를 수정하려면 리소스 종류에 대한 ACL(액세스 제어 목록) 작업을 호출하여 기존 정책을 대체할 수 있습니다. 이 작업에서 새 시작 시간, 만료 시간 또는 사용 권한 집합을 지정합니다.

예를 들어 기존 정책이 리소스에 대한 읽기 및 쓰기 권한을 부여하는 경우 모든 향후 요청에 대한 읽기 권한만 부여하도록 해당 권한을 수정할 수 있습니다. 이 경우 필드에 지정된 대로 새 정책의 서명된 식별자는 대체하려는 정책의 서명된 ID 식별자와 동일합니다.

저장된 액세스 정책을 해지하려면 삭제하거나, 서명된 식별자를 변경하여 이름을 바꾸거나, 만료 시간을 과거의 값으로 변경할 수 있습니다. 서명된 식별자를 변경하면 모든 기존 서명과 저장된 액세스 정책 간의 연결이 끊어집니다. 만료 시간을 과거의 값으로 변경하면 연결된 서명이 모두 만료됩니다. 저장된 액세스 정책을 삭제하거나 수정하면 연결된 모든 공유 액세스 서명에 즉시 영향을 줍니다.

단일 액세스 정책을 제거하려면 리소스 작업을 Set ACL 호출합니다. 컨테이너에서 유지 관리하려는 서명된 식별자 집합을 전달합니다. 리소스에서 모든 액세스 정책을 제거하려면 요청 본문을 비워 둔 상태로 Set ACL 작업을 호출합니다.

추가 정보