Azure SQL server database 权限管理-赋予权限

微软官方文档:保护数据库 - Azure SQL Database | Microsoft Learn

管理数据库访问

管理数据库访问的方法是:将用户添加到数据库,或者允许用户使用安全的连接字符串进行访问。 连接字符串用于外部应用程序。 若要了解详细信息,请参阅管理登录名和用户帐户 Microsoft Entra 身份验证

若要添加用户,请选择数据库身份验证类型:

  • SQL 身份验证,使用用户名和密码登录,仅适用于服务器中存在特定数据库的情况
  • Microsoft Entra 身份验证,使用由 Microsoft Entra ID 管理的标识

一. SQL 身份验证

若要通过 SQL 身份验证来添加用户,请执行以下操作:

  1. 例如,使用 SQL Server Management Studio 连接到数据库。
  2. 对象资源管理器中,右键单击数据库,然后选择新建查询
  3. 在查询窗口中输入以下命令:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
  1. 在工具栏上选择执行,以便创建用户。
  2. 默认情况下,用户可连接到数据库,但没有读取或写入数据的权限。 若要授予这些权限,请在新的查询窗口中执行以下命令:
ALTER ROLE db_datareader ADD MEMBER ApplicationUser;

ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;

Note:  在数据库级别创建非管理员帐户,除非这些帐户需要执行创建新用户之类的管理员任务。

二. Microsoft Entra 身份验证

由于Azure SQL 数据库不支持 Microsoft Entra 服务器主体(登录名),因此使用 Microsoft Entra 帐户创建的数据库用户将创建为包含的数据库用户。 即使存在同名的登录名,包含的数据库用户也不会与 master 数据库中的登录名相关联。 Microsoft Entra 标识可以是单独的用户,也可以是组。 有关详细信息,请参阅包含的数据库用户,使你的数据库可移植,并查看 Microsoft Entra 教程,了解如何使用 Microsoft Entra ID 进行身份验证。

Note: 

不能使用 Azure 门户创建数据库用户(管理员除外)。 Microsoft Entra 角色不会传播到 SQL Server、数据库或数据仓库。 它们只能用于管理 Azure 资源,不会应用于数据库权限。

例如,“SQL Server 参与者”角色不会授予连接到数据库或数据仓库的访问权限。 必须使用 T-SQL 语句在数据库中授予此权限。

 Important:

不支持在 T-SQL 的 CREATE LOGIN 和 CREATE USER 语句中将特殊字符(例如冒号 : 或与号 &)用作用户名的一部分。

若要添加具有 Microsoft Entra 身份验证的用户,请执行以下操作:

  1. 使用至少具有 ALTER ANY USER 权限的 Microsoft Entra 帐户连接到 Azure 中的服务器。

  2. 在“对象资源管理器”中,右键单击数据库,并选择“新建查询” 。

  3. 在查询窗口中输入以下命令,并将 <Azure_AD_principal_name> 修改为 Microsoft Entra 用户的主体名称,或者修改为 Microsoft Entra 组的显示名称:

    CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
    

 Note:

Microsoft Entra 用户在数据库元数据中标记为类型 E (EXTERNAL_USER),而组则标记为类型 X (EXTERNAL_GROUPS)。 有关详细信息,请参阅 sys.database_principals

相关推荐

  1. Azure SQL server database 权限管理-赋予权限

    2024-05-16 06:22:04       43 阅读
  2. linux赋予普通用户权限

    2024-05-16 06:22:04       55 阅读
  3. Mysql创建新用户并赋予权限

    2024-05-16 06:22:04       64 阅读
  4. MySQL创建用户并赋予数据库权限

    2024-05-16 06:22:04       54 阅读
  5. 【Mysql】 创建账号并赋予权限

    2024-05-16 06:22:04       64 阅读
  6. Android 8.1 默认赋予应用权限

    2024-05-16 06:22:04       62 阅读
  7. linux的权限管理

    2024-05-16 06:22:04       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 06:22:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 06:22:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 06:22:04       82 阅读
  4. Python语言-面向对象

    2024-05-16 06:22:04       91 阅读

热门阅读

  1. STM32多个外部中断可能共享同一个中断向量

    2024-05-16 06:22:04       34 阅读
  2. STM32 HAL TM1637使用

    2024-05-16 06:22:04       32 阅读
  3. Nginx-04-Docker Nginx

    2024-05-16 06:22:04       35 阅读
  4. socket介绍

    2024-05-16 06:22:04       38 阅读
  5. Linux系统安装MongoDB流程

    2024-05-16 06:22:04       39 阅读
  6. mysql入门与mongoDB入门

    2024-05-16 06:22:04       42 阅读
  7. Docker学习(10)搭建kubernetes集群

    2024-05-16 06:22:04       36 阅读
  8. 基于C++的OpenCV支持的KCF目标跟踪

    2024-05-16 06:22:04       39 阅读
  9. MongoDB聚合运算符:$zip

    2024-05-16 06:22:04       34 阅读
  10. Jetpack Compose 初探

    2024-05-16 06:22:04       54 阅读
  11. 在ubuntu安装Docker容器

    2024-05-16 06:22:04       36 阅读