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