Azure 的 三种SAS token
Azure storage中有三种SAS token 可以用于Storage的访问权限设置
access key 是具有最大管理权限,KEY是可以refresh ,有两个key primary key and secondary key.
-
User delegated SAS 是基于AAD(azure AD)管理的account base的SAS. AAD 那里取到oauth2 authentication 方式进行认证。
-
Account SAS 则对于account下所有资源进行管理,权限设置可以按资源、访问权限,以及有效时间等设定,也是基于access key创建。也可以规定访问的IP范围,从而可以区分内部外部用户。
-
service SAS 则可以对具体的service,例如blob, file, queue, table分别发行,这个key 是可以以directory为单位发行的,也可以具体到每个资源,例如单个的文件、视频、table等发行。一般会先建立stored access policy,(stored access policy 是container,或者其他具体service 单位创建的),然后再基于policy创建service SAS, stored access policy 规定了权限,期限等,用于对权限设定做群集,便于管理。发行service SAS 的application 往往需要事先拿到storage 的access key.
视频1:是如何发行account sas
视频2:是如何发行service sas
关于storage security:
https://www.youtube.com/watch?v=6kIijhtibiQ
PHP developer center for azure
PHP SDK library for azure storage
PHP storage sample source code
PHP SAS token for blob and rest api