你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取表 ACL

Get Table ACL 操作返回有关表上指定的任何存储访问策略的详细信息,并且可以与共享访问签名一起使用。 有关详细信息,请参阅 定义存储访问策略

Get Table ACL 操作在版本 2012-02-12 及更高版本中提供。

注意

访问控制列表(ACL)是 访问控制项(ACE)的列表。 ACL 中的每个 ACE 标识 受托人,并指定允许、拒绝或审核该受托人的 访问权限。 有关详细信息,请参阅 访问控制列表

请求

可以按如下所示构造 Get Table ACL 请求。 建议使用 HTTPS。 将 myaccount 替换为存储帐户的名称:

方法 请求 URI HTTP 版本
GET/HEAD https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

模拟存储服务请求

针对模拟存储服务发出请求时,请将模拟器主机名和 Azure 表存储端口指定为 127.0.0.1:10002,后跟模拟的存储帐户名称:

方法 请求 URI HTTP 版本
GET/HEAD http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

有关详细信息,请参阅 使用 Azurite 模拟器进行本地 Azure 存储开发

URI 参数

可以在请求 URI 上指定以下附加参数:

参数 描述
timeout 自选。 timeout 参数以秒为单位表示。 有关详细信息,请参阅 为 Azure 表存储操作设置超时

请求标头

下表描述了必需和可选的请求标头。

请求标头 描述
Authorization 必填。 指定授权方案、帐户名称和签名。 有关详细信息,请参阅 授权对 Azure 存储的请求。
Datex-ms-date 必填。 指定请求的协调世界时(UTC)。 有关详细信息,请参阅 授权对 Azure 存储的请求。
x-ms-version 所有授权请求都是必需的。 指定要用于此请求的操作的版本。 有关详细信息,请参阅 azure 存储服务版本控制。
x-ms-client-request-id 自选。 提供客户端生成的不透明值,该值具有配置日志记录时日志中记录的 1-kibibyte (KiB) 字符限制。 强烈建议使用此标头将客户端活动与服务器接收的请求相关联。 有关详细信息,请参阅 监视 Azure 表存储

请求正文

没有。

响应

响应包括 HTTP 状态代码、一组响应标头和一个响应正文。

状态代码

成功的操作返回状态代码 200(正常)。

有关状态代码的详细信息,请参阅 状态和错误代码

响应标头

此操作的响应包括以下标头。 响应还可能包括其他标准 HTTP 标头。 所有标准标头都符合 HTTP/1.1 协议规范

响应标头 描述
x-ms-request-id 唯一标识已发出的请求,并可用于对请求进行故障排除。 有关详细信息,请参阅 API 操作疑难解答
x-ms-version 指示用于执行请求的 Azure 表存储版本。 对于针对版本 2009-09-19 或更高版本发出的请求,将返回此标头。
Date 由服务生成的 UTC 日期/时间值,该值指示启动响应的时间。
x-ms-client-request-id 可用于对请求和相应的响应进行故障排除。 如果此标头存在于请求中,则此标头的值等于 x-ms-client-request-id 标头的值,并且该值包含不超过 1,024 个可见 ASCII 字符。 如果请求中不存在 x-ms-client-request-id 标头,则响应中不会显示该标头。

响应正文

如果为表指定了存储访问策略,Get Table ACL 在响应正文中返回已签名的标识符和访问策略。

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

示例响应

Response Status:  
HTTP/1.1 200 OK  
  
Response Headers:  
Transfer-Encoding: chunked   
Date: Mon, 25 Nov 2013 20:28:22 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

授权

在 Azure 存储中调用任何数据访问操作时,需要授权。 可以使用 Microsoft Entra ID 或共享密钥授权 Get Table ACL 操作。

若要使用 Microsoft Entra ID 授权 Get Table ACL 操作,安全主体需要一个包含以下 RBAC 操作的自定义 Azure RBAC 角色:Microsoft.Storage/storageAccounts/tableServices/tables/getAcl/action

重要

Microsoft建议将 Microsoft Entra ID 与托管标识配合使用来授权对 Azure 存储的请求。 与共享密钥授权相比,Microsoft Entra ID 提供更高的安全性和易用性。

言论

没有。

另请参阅

使用共享访问签名 委托访问权限
定义存储访问策略
授权对 Azure 存储 的请求
状态和错误代码
设置表 ACL