Compartir a través de


Connect-DataGatewayServiceAccount

Conéctese al servicio Puerta de enlace de datos.

Sintaxis

User (Es el valor predeterminado).

Connect-DataGatewayServiceAccount
    [-Environment <PowerBIEnvironmentType>]
    [<CommonParameters>]

ServicePrincipal

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

ServicePrincipalCertificate

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

Al iniciar sesión mediante la autenticación de usuario en la nube pública, se mostrará un mensaje para recopilar credenciales.

Ejemplo 2

PS C:\> Connect-DataGatewayServiceAccount -Environment China

Al iniciar sesión mediante la autenticación de usuario en la nube de China, se mostrará un mensaje 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 estar instalado 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.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ServicePrincipal
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
ServicePrincipalCertificate
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-CertificateThumbprint

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

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ServicePrincipalCertificate
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ClientSecret

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

Propiedades del parámetro

Tipo:SecureString
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ServicePrincipal
Posición:Named
Mandatory:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Environment

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

Propiedades del parámetro

Tipo:PowerBIEnvironmentType
Valor predeterminado:None
Valores aceptados:Public, Germany, USGov, China, USGovHigh, USGovMil
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Id del inquilino

Conjuntos de parámetros

ServicePrincipal
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
ServicePrincipalCertificate
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

None

Salidas

Microsoft.DataMovement.Powershell.Abstractions.Interfaces.IPowerBIProfile