Condividi tramite


Impostare un proprietario di esecuzione in una connessione al flusso desktop (anteprima)

[Questo articolo fa parte della documentazione non definitiva, pertanto è soggetto a modifiche.]

Quando una connessione viene condivisa, il destinatario può eseguire script, recuperare ID script e ID CloudConnector, eseguendo potenzialmente azioni non autorizzate per conto del proprietario della connessione. Questo è il motivo per cui la condivisione della connessione al flusso desktop non era disponibile.

Per abilitare Application Lifecycle Management (ALM) con una pipeline di proprietà di un'entità servizio, un nuovo ruolo "proprietario dell'esecuzione" è incluso nella connessione al flusso desktop. Questo nuovo ruolo separa il proprietario della connessione dal proprietario dell'esecuzione. La condivisione di una connessione a un flusso desktop con un'entità servizio (nota anche come nome SPN della pipeline) è possibile solo se il proprietario dell'esecuzione è un'altra entità servizio (nota anche come nome SPN del proprietario dell'esecuzione).

Importante

  • Questa è una funzionalità di anteprima.
  • Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.
  • Questa funzionalità viene gradualmente implementata in tutte le aree geografiche e potrebbe non essere disponibile nella tua.
  • Il proprietario di un flusso desktop è l'utente le cui autorizzazioni vengono verificate durante l'esecuzione del flusso.
  • Le connessioni create usando il portale Power Automate usano il creatore della connessione (l'utente che crea la connessione) come proprietario dell'esecuzione.

Per eseguire un flusso, un utente deve:

  • Deve avere almeno il ruolo "Autore dell'ambiente" (definito nell'interfaccia di amministrazione di Power Automate).
  • Per avere accesso alle tabelle Dataverse usate dal flusso, tra cui:
    • Il computer o il gruppo di computer (o il gruppo di computer ospitati, se applicabile)
    • Script del flusso desktop
    • Credenziali (se presenti nella connessione)
    • Qualsiasi dipendenza all'interno dello script del flusso desktop (ad esempio connettore cloud, credenziali e così via)
    • Code di lavoro (se usate dal flusso)

Gli utenti possono ora selezionare in modo esplicito un'identità Microsoft Entra come proprietario dell'esecuzione.

Solo le connessioni con un proprietario di esecuzione selezionato in modo esplicito possono essere condivise con altri utenti. In questo caso, i destinatari della condivisione della connessione del flusso desktop sono limitati agli utenti dell'entità servizio.

Restrizioni

Restrizioni sull'identità del proprietario dell'esecuzione

  • Il proprietario esplicito dell'esecuzione deve essere di tipo Entità servizio.
  • L'entità servizio deve essere registrata nello stesso tenant dell'autore della connessione.
  • Le connessioni con un proprietario di esecuzione esplicito supportano solo l'autenticazione basata su certificati.

Restrizioni sui prodotti

  • Le connessioni con un proprietario di esecuzione esplicito non possono essere usate per eseguire un flusso desktop con flussi cloud non incorporati.
  • Le connessioni "Connettiti con accesso per esecuzioni con intervento dell'utente" non sono supportate.

Nota

Alcune funzionalità dei flussi desktop non sono supportate fino alla disponibilità generale:

Restrizioni delle connessioni

  • Un'identità esplicita del proprietario dell'esecuzione può essere aggiornata in una connessione, ma non può essere rimossa. È necessario creare una nuova connessione, senza l'identità del proprietario dell'esecuzione, se si vuole rimuovere l'identità del proprietario dell'esecuzione nella connessione.

Prerequisito

Disporre di un utente dell'entità servizio già configurato in Microsoft Entra con l'autenticazione basata su certificati.

Come configurare l'identità dell'entità servizio usata come proprietario dell'esecuzione

Importante

In questo articolo, devi sostituire tutte le parentesi quadre [...] negli URL e nei dati di input/output con valori specifici per il tuo scenario.

Registrare l'identità dell'entità servizio come utente dell'applicazione dell'ambiente

  1. Aggiungere l'utente dell'entità servizio come utente dell'applicazione nell'ambiente. Altre informazioni in Gestire l'utente dell'applicazione.

  2. Aggiungere il ruolo "Autore dell'ambiente" all'utente dell'applicazione. Altre informazioni in Gestire i ruoli per un utente dell'applicazione

Condividere tabelle Dataverse

Il proprietario dell'esecuzione deve avere accesso a tutte le tabelle Dataverse usate dal flusso durante l'esecuzione.

Table Collega
Computer Condividere un computer
Gruppo di computer Condividere un gruppo di computer
Componenti gruppo di computer ospitati Condividere componenti del gruppo di computer ospitati
Script del flusso desktop Condividere un flusso desktop
Credenziali Condividi una credenziale
Coda di lavoro Condividere una coda di lavoro

Creare una connessione con un proprietario dell'esecuzione

Richiedere un token di accesso

Innanzitutto, richiedi un token di accesso per interagire con l'API Power Platform. Altre informazioni in Richiesta di un token di accesso.

Invia una richiesta per creare una connessione con il proprietario dell'esecuzione

Per creare una connessione, invia una richiesta HTTP PUT all'API Power Apps per creare la connessione, usando il token di accesso ottenuto in precedenza.

PUT https://[ENVIRONMENT_ID_URL].environment.api.powerplatform.com/connectivity/connectors/shared_uiflow/connections/[CONNECTION_ID]?api-version=1
Content-Type: application/json
Host: [ENVIRONMENT_ID_URL].environment.api.powerplatform.com
Accept: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJu...
Segnaposto Descrzione Esempio
ENVIRONMENT_ID_URL ID ambiente, con tutti i separatori rimossi e gli ultimi due caratteri separati da un punto. 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -> 00aa00aabb11cc22dd3344ee44ee44ee
CONNECTION_ID ID connessione usato per creare la connessione. Deve essere un GUID valido È possibile usare il comando PowerShell New-Guid per creare un GUID. aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb

Il contenuto del corpo cambia in base al tipo di credenziali della macchina usate.

Se usi una credenziale, devi condividerla con l'identità dell'entità servizio prima di creare la connessione. Altre informazioni in Condividere credenziali

Segnaposto definiti per il corpo della richiesta:

Segnaposto Descrzione Esempio
ENVIRONMENT_ID ID dell'ambiente 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
DISPLAY_NAME Nome visualizzato della connessione nel portale Power Automate InvoiceAppConnection
CREDENTIAL_ID ID credenziale. Altre informazioni in Recuperare l'ID delle credenziali bbbbbbbb-1111-2222-3333-cccccccccccc
MACHINE_ACCOUNT Il nome utente dell'account utilizzato per aprire una sessione Windows. Per un account locale, utilizza <MACHINENAME\\User> o <local\\User>. Per un account Microsoft Entra ID, utilizza <DOMAIN\\User> o <username@domain.com>. Tieni presente che le barre rovesciate devono essere precedute da caratteri di escape, ad esempio CONTOSO\\accountName. CONTOSO\\accountName
MACHINE_PASSWORD Password dell'account
ENVIRONMENT_VARIABLE_USERNAME Il nome della variabile di ambiente che contiene il nome dell'account del computer. Altre informazioni in Recuperare il nome di una variabile di ambiente new_ContosoLogin
ENVIRONMENT_VARIABLE_PASSWORD Il nome della variabile di ambiente che contiene la password per l'account. Altre informazioni in Recuperare il nome di una variabile di ambiente new_ContosoPassword
GROUP_ID ID gruppo per cui intendi creare la connessione. Altre informazioni in Ottenere l'ID del gruppo del computer o del gruppo dd4cac14-0b49-475d-b274-3ad41a4e82a7
APP_ID L'ID applicazione (o ID client) dell'identità dell'entità servizio usata come proprietario dell'esecuzione. 00001111-aaaa-2222-bbbb-3333cccc4444
PFX La stringa con codifica Base64 del file di certificato PFX (Personal Information Exchange) dell'entità servizio. Altre informazioni in Ottenere la codifica Base64 del certificato MIIKdQIBA...ICB9A=
PASSWORD La password del certificato entità servizio. Può essere lasciato vuoto se nullo

Connessione senza credenziali

{
    "properties":
    {
        "environment":
        {
            "id": "/providers/Microsoft.PowerApps/environments/[ENVIRONMENT_ID]",
            "name":"[ENVIRONMENT_ID]"
        },
        "displayName": "[DISPLAY_NAME]",
        "connectionParametersSet":
        {
            "name":"azureRelayRunOwner",
            "values":
            {
                "username":{"value":"[MACHINE_ACCOUNT]"},
                "password":{"value":"[MACHINE_PASSWORD]"},
                "targetId":{"value":"[GROUP_ID]"},
                "tokenRunOwnerCert:clientId":{"value":"[APP_ID]"},
                "tokenRunOwnerCert:clientCertificateSecret":
                {
                    "value":
                    {
                        "pfx":"[PFX]",
                        "password":"[PASSWORD]"
                    }
                }
            }
        }
    }
}

Connessione con le credenziali di autenticazione basata su password Azure Key Vault

{
    "properties":
    {
        "environment":
        {
            "id": "/providers/Microsoft.PowerApps/environments/[ENVIRONMENT_ID]",
            "name":"[ENVIRONMENT_ID]"
        },
        "displayName": "[DISPLAY_NAME]",
        "credentialId": "[CREDENTIAL_ID]",
        "connectionParametersSet":
        {
            "name":"azureRelayRunOwner",
            "values":
            {
                "username":{"value":"@environmentVariables(\"[ENVIRONMENT_VARIABLE_USERNAME]\")"},
                "password":{"value":"@environmentVariables(\"[ENVIRONMENT_VARIABLE_PASSWORD]\")"},
                "targetId":{"value":"[GROUP_ID]"},
                "tokenRunOwnerCert:clientId":{"value":"[APP_ID]"},
                "tokenRunOwnerCert:clientCertificateSecret":
                {
                    "value":
                    {
                        "pfx":"[PFX]",
                        "password":"[PASSWORD]"
                    }
                }
            }
        }
    }
}

Connessione con le credenziali di autenticazione basata su certificato Azure Key Vault

{
    "properties":
    {
        "environment":
        {
            "id": "/providers/Microsoft.PowerApps/environments/[ENVIRONMENT_ID]",
            "name":"[ENVIRONMENT_ID]"
        },
        "displayName": "[DISPLAY_NAME]",
        "credentialId": "[CREDENTIAL_ID]",
        "connectionParametersSet":
        {
            "name":"azureRelayRunOwner",
            "values":
            {
                "username":{"value":"@environmentVariables(\"[ENVIRONMENT_VARIABLE_USERNAME]\")"},
                "password":{"value":"none"},
                "targetId":{"value":"[GROUP_ID]"},
                "tokenRunOwnerCert:clientId":{"value":"[APP_ID]"},
                "tokenRunOwnerCert:clientCertificateSecret":
                {
                    "value":
                    {
                        "pfx":"[PFX]",
                        "password":"[PASSWORD]"
                    }
                }
            }
        }
    }
}

Connessione con le credenziali di autenticazione Cyber Ark

{
    "properties":
    {
        "environment":
        {
            "id": "/providers/Microsoft.PowerApps/environments/[ENVIRONMENT_ID]",
            "name":"[ENVIRONMENT_ID]"
        },
        "displayName": "[DISPLAY_NAME]",
        "credentialId": "[CREDENTIAL_ID]",
        "connectionParametersSet":
        {
            "name":"azureRelayRunOwner",
            "values":
            {
                "username":{"value":"@environmentVariables(\"[ENVIRONMENT_VARIABLE_USERNAME]\")"},
                "password":{"value":"none"},
                "targetId":{"value":"[GROUP_ID]"},
                "tokenRunOwnerCert:clientId":{"value":"[APP_ID]"},
                "tokenRunOwnerCert:clientCertificateSecret":
                {
                    "value":
                    {
                        "pfx":"[PFX]",
                        "password":"[PASSWORD]"
                    }
                }
            }
        }
    }
}

Risposta creazione connessione

Una volta completata la richiesta, è possibile visualizzare la connessione appena creata nel portale Power Automate. È possibile anche usare la connessione per le esecuzioni dei flussi desktop se vengono fornite tutte le autorizzazioni necessarie. Altre informazioni in Condividere tabelle Dataverse.

Formato risposta:

{
  "name": "[CONNECTION_ID]",
  "id": "/providers/Microsoft.PowerApps/apis/shared_uiflow/connections/[CONNECTION_ID]",
  "type": "Microsoft.PowerApps/apis/connections",
  "properties": {
    "statuses": [
      {
        "status": "[CONNECTION_STATUS]"
      }
    ],
  }
}  

La risposta contiene:

  • CONNECTION_ID: ID della nuova connessione
  • CONNECTION_STATUS: stato creazione

Importante

Verificare che lo stato della connessione ricevuta sia Connected. È possibile ricevere una risposta valida (201 Creato) con uno stato di connessione non valido. Se si verifica un errore durante la creazione della connessione, la risposta mostra i dettagli dell'errore.

Risposta di errore:

{
  "error": {
    "code": "ApiHubsRequestFailed",
    "message": "Aggregated detailed message",
    "details": [
      {
        "code": "ErrorCode",
        "message": "Error message",
        "details": [
          {
            "code": "Response Code",
            "message": "Error message"
          }
        ]
      }
    ]
  }
}

Aggiornamento di una connessione con il proprietario di un'esecuzione

È possibile aggiornare una connessione esistente con nuovi parametri (nome visualizzato, credenziali, identità del proprietario dell'esecuzione) usando la stessa richiesta PUT della Richiesta di creazione della connessione. Mantieni lo stesso ID connessione della connessione esistente nell'URL della richiesta.

Importante

La rimozione del proprietario di un'esecuzione su un'identità esistente non è consentita. Se vuoi bloccare l'utilizzo di un'entità servizio, puoi disattivarla nella tua organizzazione Dataverse. Altre informazioni in Disattivare un utente dell'applicazione

Eliminazione di una connessione con il proprietario di un'esecuzione

È possibile eliminare la connessione utilizzando il pulsante Elimina nella pagina Connessione del portale Power Automate.

Appendice

Ottenere l'ID gruppo del computer o del gruppo

Per poter creare la connessione, ottieni l'ID gruppo associato al computer o al gruppo di computer.

  • Se è un gruppo, vai a Monitora>Computer>Gruppi di macchine e seleziona il gruppo. Puoi quindi ottenere l'ID gruppo dall'URL.
  • Se si tratta di un computer, vai a Dati>Tabelle>Tutto>Gruppo di computer del flusso. Cerca il computer nell'elenco e visualizza la colonna Gruppo computer del flusso. È l'ID del gruppo associato al computer.

Recupera la codifica base64 del certificato dell'entità servizio

Puoi usare PowerShell per recuperare la codifica base64 del certificato dell'entità servizio:

$filePath = "C:\path\to\your\certificate.pfx"
$bytes = [System.IO.File]::ReadAllBytes($filePath)
$base64String = [System.Convert]::ToBase64String($bytes)
$base64String

Ottenere l'ID delle credenziali

Per ottenere l'ID delle credenziali:

  1. Vai a Dati>Tabelle>Tutte le>credenziali.
  2. Cerca le credenziali nell'elenco e visualizza la colonna Credenziali. È l'ID credenziale associato alla credenziale.

Ottenere un nome della variabile di ambiente

Per ottenere un nome della variabile di ambiente:

  1. Nella pagina Credenziali, seleziona le credenziali e il pulsante Visualizza dipendenze
  2. Seleziona Visualizza in Soluzioni.
  3. Nella pagina della soluzione, cerca le variabili di ambiente usate dalle tue credenziali ed esamina la colonna Nome. Il valore della colonna è il nome della variabile di ambiente.