Connect-DataGatewayServiceAccount

连接到数据网关服务。

语法

Connect-DataGatewayServiceAccount
       [-Environment <PowerBIEnvironmentType>]
       [<CommonParameters>]
Connect-DataGatewayServiceAccount
       -ApplicationId <String>
       -ClientSecret <SecureString>
       [-Tenant <String>]
       [-Environment <PowerBIEnvironmentType>]
       [<CommonParameters>]
Connect-DataGatewayServiceAccount
       -ApplicationId <String>
       -CertificateThumbprint <String>
       [-Tenant <String>]
       [-Environment <PowerBIEnvironmentType>]
       [<CommonParameters>]

说明

使用用户或服务主体帐户(应用程序机密或证书)连接到数据网关服务。

对于用户帐户,将利用 Azure Active Directory (AAD) First-Party 应用程序进行身份验证。

按照“创建 Azure AD 应用程序”创建服务主体帐户。

注销调用 Disconnect-DataGatewayServiceAccount。

示例

创建 Azure AD 应用程序

若要创建与 DataGateway* cmdlet 兼容的 Azure AD 应用程序,请运行以下使用 Microsoft.Graph 模块的脚本

# In the Azure portal these will show as the Permission names "Tenant.Read.All" and "Tenant.ReadWrite.All" with the "Application" type under the Power BI Service API
$resourceAccessItems = @(
                        @{Id="654b31ae-d941-4e22-8798-7add8fdf049f";Type="Role"},
                        @{Id="28379fa9-8596-4fd9-869e-cb60a93b5d84";Type="Role"}
                        );
# In the Azure portal the ResourceAppId below is the Power BI Service
$resourceAccess = @{ResourceAppId="00000009-0000-0000-c000-000000000000"; ResourceAccess=$resourceAccessItems};

# Create the application, if you do not want the application to have full permissions remove the -RequiredResourceAccess argument
$newApp = New-MgApplication -DisplayName "DataGatewayApplication" -RequiredResourceAccess $resourceAccess

# Optionally, create a secret for the new application
$applicationPasswordRequestOptions = @{PasswordCredential=@{DisplayName="ClientSecret"}}
$applicationPasswordResponse = Add-MgApplicationPassword -ApplicationId $newApp.Id -BodyParameter $applicationPasswordRequestOptions
$clientSecret = $pwd.SecretText | ConvertTo-SecureString -AsPlainText -Force

运行上述脚本后,还有一些完成步骤:

  1. 创建新的机密(如果未使用上述脚本创建机密),或使用证书。 有关详细信息,请参阅 证书和机密

  2. 如果指定了 RequiredResourceAccess 参数,则向应用程序授予管理员许可,并具有配置的权限。 有关详细信息,请参阅 在应用注册中授予管理员同意。

示例 1

PS C:\> Connect-DataGatewayServiceAccount

针对公有云使用用户身份验证登录时,将显示用于收集凭据的提示。

示例 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

使用针对中国云的用户身份验证登录时,将显示一条收集凭据的提示。

示例 3

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret (Read-Host "Enter client secret" -AsSecureString) -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

在针对公有云的指定租户中使用服务登录,系统会提示从 Read-Host 读取客户端应用程序机密。

示例 4

PS C:\> ConvertFrom-SecureString -SecureString (Read-Host "Enter client secret" -AsSecureString) | Out-File -FilePath .\encryptedClientSecret.txt
PS C:\> $secureClientSecret = (cat .\encryptedClientSecret.txt | ConvertTo-SecureString)
PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -ClientSecret $secureClientSecret -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

使用指定租户中的服务登录公有云,该客户端机密安全地存储在文件中,使 cmdlet 不可交互。

示例 5

PS C:\> Connect-DataGatewayServiceAccount -ApplicationId b5fde143-722c-4e8d-8113-5b33a9291468 -CertificateThumbprint 38DA4BED389A014E69A6E6D8AE56761E85F0DFA4 -Tenant 4E6F731E-FD8D-496D-8AF8-349ABC5F62E0

使用指定租户中具有已安装证书的服务主体登录到公有云。 证书必须安装在 CurrentUser 或 LocalMachine 证书存储(LocalMachine 需要管理员访问权限)中,并安装私钥。

参数

-ApplicationId

Azure Active Directory (AAD) 应用程序 ID(也称为客户端 ID)用于服务主体帐户。

有关应用程序和服务主体的详细信息,请参阅 Azure Active Directory中的 应用程序和服务主体对象。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-CertificateThumbprint

与 Azure Active Directory (AAD) 应用程序关联的已安装证书的证书指纹。 证书必须安装在 CurrentUser 或 LocalMachine 个人证书存储(LocalMachine 需要管理员提示才能访问)中,并安装私钥。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ClientSecret

服务主体的应用程序客户端密码。

类型:SecureString
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Environment

要连接的云环境。 默认值为 Public。

类型:PowerBIEnvironmentType
接受的值:Public, Germany, USGov, China, USGovHigh, USGovMil
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Tenant

包含服务主体帐户的租户名称或租户 ID。 如果未指定,则使用 COMMON 租户。

类型:String
别名:TenantId
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile