Azure Shared Access Signatureのクエリパラメータまとめ

はじめに

本記事では、Azure Storageへのアクセス権を付与されたURI(トークン)を発行するShared Access Signature (SAS) において利用される、クエリパラメータについてまとめた。

SASトークンのクエリパラメータ

SASトークンに設定できるクエリパラメータは以下になる。

クエリ文字 名称 内容 設定例 備考
sv SignedVersion SAS認証のバージョン sv=2019-02-02
srt SignedResourceType 認可するリソース(アカウント SAS) srt=sco s : サービスレベルのapi c : コンテナーレベルのapi o : オブジェクトレベルのapi
sr SignedResource 認可するリソース(サービス SAS) sr=bc b : Blob bs : Blob スナップショット c : コンテナー
ss SignedService 認可するサービス(アカウント SASのみ) ss=bqtf b : Blob q : キュー t : テーブル f : ファイル
sp SignedPermissions 認可する権限 sp=racwd 認可するサービスごとに、認可できる権限がそれぞれ用意されている
spr SignedProtocol 認可するプロトコル spr=https
sip SignedIP 認可するIP アドレス sip=168.1.5.60-168.1.5.70
st SignedStart SASが有効になる時刻 st=2019-04-29T22%3A18%3A26Z
se SignedExpiry SASが無効になる時刻 se=2019-04-30T02%3A23%3A26Z
sig Signature 署名文字列 sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D

サービスごとに付与できる権限

権限 URI の略記 Blob コンテナー ファイル ファイル共有 キュー テーブル
読み取り r
追加 a
作成 c
書込み w
タグ t
削除 d
バージョンの削除 x
リスト l
更新 u
プロセス p

https://docs.microsoft.com/en-us/rest/api/storageservices/create-service-sas

https://docs.microsoft.com/en-us/rest/api/storageservices/create-service-sas

https://docs.microsoft.com/en-us/rest/api/storageservices/versioning-for-the-azure-storage-services

SASの有効期限について

システム時刻がコンピューターごとに異なり、時刻のずれが生じてしまうことを、クロックスキューという。

SASの開始時刻を現在時刻にした場合、 SASを要求したマシンと、Azure基盤側のシステム時刻にクロックスキューがあると、SASが有効にならないケースがあるので、 SASは開始時刻は現在時刻より15分以上前に設定することが推奨されている。

https://docs.microsoft.com/ja-jp/azure/storage/common/storage-sas-overview