描述 Azure Database for PostgreSQL 安全性
Azure Database for PostgreSQL 使用多层安全性来保护数据。 这些层包括:
- 数据加密
- 网络安全
- 访问管理
数据加密
Azure Database for PostgreSQL 加密传输中的数据和静态数据。 此主题在第 5 单元中讨论。
网络安全性
Azure Database for PostgreSQL 灵活服务器提供两种网络选项:
- 专用访问。 使用专用网络通信和专用 IP 地址在 Azure 虚拟网络中创建服务器。 通过网络安全组中的安全规则,可以筛选可流入和流出虚拟网络子网和网络接口的流量类型。
- 公共访问。 可以通过具有可公开解析的 DNS(域名系统)地址的公共终结点访问服务器。 默认情况下,防火墙会阻止所有访问。 你可以创建 IP 防火墙规则,根据每个请求的发起 IP 地址向服务器授予访问权限。
注意
创建 Azure Database for PostgreSQL 灵活服务器时,请选择“专用访问”或“公共访问”。 创建服务器后,无法更改网络选项。
这两个选项都在服务器级别控制访问,而不是在数据库或表级别控制访问。 使用 PostgreSQL 角色授予或拒绝对数据库、表和其他对象的访问。
还可以通过创建防火墙规则来管理对服务器的访问,以便仅允许来自已知 IP 地址范围的连接。
访问管理
创建 Azure Database for PostgreSQL 服务器时,还会创建管理员帐户。 使用该管理员帐号可以创建更多的 PostgreSQL 角色。 角色是数据库用户或用户组。 对 Azure Database for PostgreSQL 服务器进行访问时,通过用户名、密码以及授予角色的或拒绝给予角色的权限进行身份验证。
SCRAM 身份验证
大多数对 Azure Database for PostgreSQL 服务器的访问都依赖于密码。 但可以使用 SCRAM 身份验证,这是一种安全密码身份验证协议,可在不向服务器透露用户的明文密码的情况下对客户端进行身份验证。 加盐挑战响应身份验证机制 (SCRAM) 旨在使中间人攻击更加困难。
若要配置密码加密,请执行以下操作:
- 在 Azure 门户中,导航到 Azure Database for PostgreSQL 灵活服务器,并在“设置”下选择“服务器参数”。
- 在搜索栏中,输入 password_encryption。 有两个参数控制密码加密;其默认值均为 SCRAM-SHA-256:
- password_encryption
- azure.accepted_password_auth_method
。