Azure AI 服务的安全性
安全性应是所有应用程序开发工作的首要任务,随着人工智能应用程序的更多应用,安全性变得越发重要。 本文概述了适用于 Azure AI 服务的各种安全功能。 每种功能解决特定的问题,因此可以在同一工作流中使用多种功能。
有关 Azure 服务安全建议的完整列表,请参阅 Azure AI 服务安全基线一文。
安全功能
Feature | 说明 |
---|---|
传输层安全 (TLS) (Transport Layer Security) (TLS) | 通过 HTTP 公开的所有 Azure AI 服务终结点都强制执行 TLS 1.2 协议。 通过强制的安全协议,试图调用 Azure AI 服务终结点的消费者应遵循以下准则:
|
身份验证选项 | 身份验证是验证用户身份的行为。 而授权则是为给定标识指定对资源的访问权限和特权。 标识是有关主体的信息集合,主体可以是单个用户或服务。 默认情况下,使用提供的订阅密钥来验证自己对 Azure AI 服务的调用;这是最简单的方法,但不是最安全的方法。 最安全的身份验证方法是使用 Microsoft Entra ID 中的托管角色。 若要了解此身份验证选项和其他身份验证选项,请参阅对 Azure AI 服务的请求进行身份验证。 |
密钥轮换 | 每个 Azure AI 服务资源都有两个 API 密钥,用于启用机密轮换。 这是一项安全预防措施,可让你定期更改可访问服务的密钥,从而在密钥泄露时保护你的服务隐私。 若要了解此选项和其他身份验证选项,请参阅轮换密钥。 |
环境变量 | 环境变量是存储在特定开发环境中的名称值对。 环境变量比在代码中使用硬编码值更安全。 有关如何在代码中使用环境变量的说明,请参阅环境变量指南。 但是,如果环境遭到入侵,环境变量也会遭到入侵,因此这不是最安全的方法。 最安全的身份验证方法是使用 Microsoft Entra ID 中的托管角色。 若要了解此身份验证选项和其他身份验证选项,请参阅对 Azure AI 服务的请求进行身份验证。 |
虚拟网络 | 虚拟网络允许指定可以对资源进行 API 调用的终结点。 Azure 服务将拒绝来自网络外部设备的 API 调用。 可以设置基于公式的允许的网络定义,也可以定义允许的终结点的详尽列表。 这是可以与其他安全层结合使用的另一个安全层。 |
数据丢失防护 | 借助数据丢失防护功能,管理员可以确定其 Azure 资源可以采用哪种类型的 URI 作为输入(适用于采用 URI 作为输入的 API 调用)。 这样做是为了防止可能发生的公司敏感数据外泄:如果公司将敏感信息(如客户的专用数据)存储在 URL 参数中,公司内部的不良参与者可以将敏感 URL 提交到 Azure 服务,致使该数据泄露到公司外部。 借助数据丢失防护,可以将服务配置为在收到某些 URI 形式时将其拒绝。 |
自带存储空间 (BYOS) | 语音服务目前不支持客户密码箱。 但是,可以使用自带存储空间 (BYOS) 安排特定于服务的数据,使之存储在自己的存储资源中。 借助 BYOS 可以实现类似于客户密码箱的数据控制。 请记住,语音服务数据仍会保留,并会在创建语音资源的 Azure 区域中进行处理。 这适用于任何静态数据和传输中的数据。 对于自定义功能(如自定义语音识别和定制声音),所有的客户数据都会在语音服务资源和 BYOS 资源(如果已使用)所在的同一区域中传输、存储和处理。 若要将 BYOS 与语音配合使用,请遵循语音静态数据的加密指南进行操作。 Microsoft 不会使用客户数据来改进其语音模型。 此外,如果禁用了终结点日志记录,并且未使用任何自定义项,则语音服务不会存储任何客户数据。 |
后续步骤
- 浏览 Azure AI 服务并选择一个服务以开始使用。