Connect-DataGatewayServiceAccount

Conéctese al servicio Puerta de enlace de datos.

Sintaxis

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>]

Description

Conéctese al servicio Puerta de enlace de datos con una cuenta de usuario o de entidad de servicio (secreto de aplicación o certificado).

En el caso de las cuentas de usuario, se aprovecha una aplicación de First-Party de Azure Active Directory (AAD) para la autenticación.

Siga la sección "Creación de una aplicación de Azure AD" para crear una cuenta de entidad de servicio.

Para cerrar la sesión, llame a Disconnect-DataGatewayServiceAccount.

Ejemplos

Creación de una aplicación de Azure AD

Para crear una aplicación de Azure AD compatible con los cmdlets de DataGateway*, ejecute el siguiente script que usa el módulo 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

Después de ejecutar el script anterior, hay algunos pasos más para completar:

  1. Cree un nuevo secreto (si no ha creado uno con el script anterior) o use un certificado. Para obtener más información, consulte certificados y secretos.

  2. Conceda el consentimiento del administrador a la aplicación con los permisos configurados si especificó el argumento RequiredResourceAccess. Para obtener más información, consulte Conceder consentimiento del administrador en Registros de aplicaciones.

Ejemplo 1

PS C:\> Connect-DataGatewayServiceAccount

Inicie sesión con la autenticación de usuario en la nube pública; se mostrará una solicitud para recopilar credenciales.

Ejemplo 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

Inicie sesión con la autenticación de usuario en la nube de China; se mostrará una solicitud para recopilar credenciales.

Ejemplo 3

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

Inicie sesión con un servicio en el inquilino especificado en la nube pública; se mostrará una solicitud desde Read-Host para leer el secreto de la aplicación cliente.

Ejemplo 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

Inicia sesión con un servicio en el inquilino especificado en la nube pública mediante un secreto de cliente almacenado de forma segura en un archivo para que el cmdlet no sea interactivo.

Ejemplo 5

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

Inicia sesión con una entidad de servicio en el inquilino especificado con un certificado instalado en la nube pública. El certificado debe instalarse en el almacén de certificados CurrentUser o LocalMachine (LocalMachine requiere acceso de administrador) con una clave privada instalada.

Parámetros

-ApplicationId

Identificador de aplicación de Azure Active Directory (AAD) (también conocido como id. de cliente) que se usará con una cuenta de entidad de servicio.

Para más información sobre las aplicaciones y las entidades de servicio, consulte Objetos de aplicación y entidad de servicio en Azure Active Directory.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CertificateThumbprint

Huella digital del certificado de un certificado instalado asociado a una aplicación de Azure Active Directory (AAD). El certificado debe instalarse en los almacenes de certificados personales CurrentUser o LocalMachine (LocalMachine requiere un mensaje de administrador para acceder) con una clave privada instalada.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ClientSecret

Secreto de cliente de la aplicación para la entidad de servicio.

Tipo:SecureString
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Environment

Entorno en la nube con el que conectarse. El valor predeterminado es Público.

Tipo:PowerBIEnvironmentType
Valores aceptados:Public, Germany, USGov, China, USGovHigh, USGovMil
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Tenant

Nombre de inquilino o identificador de inquilino que contiene la cuenta de entidad de servicio. Si no se especifica, se usa el inquilino de COMMON.

Tipo:String
Alias:TenantId
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

Salidas

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile