gpt4 book ai didi

sql-server - 使用 MFA (Active Directory Interactive) 通过 PowerShell 对 SQL Server 进行身份验证

转载 作者:行者123 更新时间:2023-12-02 01:53:05 29 4
gpt4 key购买 nike

我正在尝试设置 PowerShell 脚本以在我们的 Azure SQL Server 数据库上启用 Always Encrypted。我正在关注这个 guide ,它提供了以下示例代码:

# Import the SqlServer module
Import-Module "SqlServer"

# Connect to your database
# Set the valid server name, database name and authentication keywords in the connection string
$serverName = "<Azure SQL server name>.database.windows.net"
$databaseName = "<database name>"
$connStr = "Server = " + $serverName + "; Database = " + $databaseName + "; Authentication = Active Directory Integrated"
$database = Get-SqlDatabase -ConnectionString $connStr

# List column master keys for the specified database.
Get-SqlColumnMasterKey -InputObject $database

但是,我在使数据库连接正常工作时遇到了问题。从使用的 SqlServer 模块的 Get-SqlDatabase 命令看来,似乎不支持通过 MFA 登录。我们公司已经强制执行这种类型的登录,所以我似乎找不到解决这个问题的方法。

当运行 Get-SqlDatabase -ConnectionString 'Server=myserver.database.windows.net;数据库=我的数据库; Authentication=Active Directory Interactive;' 我收到以下错误:

Cannot find an authentication provider for 'ActiveDirectoryInteractive'.

SqlServer-module 是否缺乏支持 MFA 登录的能力?还是我遗漏了什么?

最佳答案

Get-SqlDatabase Cmdlet 使用 System.Data.SqlClient,其中根据 documentation身份验证关键字支持以下值。

有效值为:

  • Active Directory 集成
  • 事件目录密码
  • SQL密码

Active Directory Integrated :要使用此身份验证模式,您需要将内部部署的 Active Directory Federation Services (ADFS) 与云中的 Azure Active Directory 联合

Active Directory 密码:authentication=ActiveDirectoryPassword 可用于使用 Azure AD 用户名和密码连接到 Azure SQL 数据库/Synapse Analytics。

Sql 密码:使用 authentication=SqlPassword 使用用户名/用户和密码属性连接到 SQL Server。

如果您想使用 MFA 通过 PowerShell 对 SQL Server 进行身份验证,您需要在身份验证关键字中使用 Active Directory Interactivesystem.data.sqlclient 不支持该关键字>/p>

Active Directory Interactive:authentication=ActiveDirectoryInteractive 可用于使用交互式身份验证流程(多因素身份验证)连接到 Azure SQL 数据库/Synapse Analytics

请注意,System.Data.SqlClient 驱动程序以及相应的 Get-SqlDatabase cmdlet 不支持所有 Azure AD 身份验证方法。如果所有受支持的方法都不适用于您的环境,则使用 SQL 身份验证可能是唯一的选择。

关于sql-server - 使用 MFA (Active Directory Interactive) 通过 PowerShell 对 SQL Server 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69980859/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com