Esercitazione: Creare report di isolamento tra tenant

Questa esercitazione illustra come usare gli strumenti di programmabilità per creare report di isolamento tra tenant.

In questa esercitazione, scopri come:

  • Creazione di un report
  • Elenca tutti i report per il tenant
  • Recupera un singolo report
  • Individuare l'ambiente per una connessione segnalata

Importante

Per ulteriori dettagli sull'isolamento del tenant, vedi Restrizioni in entrata e in uscita tra tenant.

Creazione di un report

Usare le informazioni seguenti per trovare vari modi in cui è possibile creare un nuovo report.

Nota

Puoi creare un solo report per tenant per giorno di calendario.

Aggiungere una nuova azione all'area di disegno, cercare "Creare una richiesta per generare un report di connessione tra tenant per un tenant o restituire un report esistente". L'azione non richiede parametri.

Screenshot di creazione del report di connessione tra tenant.

Elenca tutti i report per il tenant

Aggiungere una nuova azione all'area di disegno e cercare Elencare i report di connessione tra tenant per un tenant. L'azione non richiede parametri.

Elencare i report di connessione tra tenant per uno screenshot del tenant.

Recupera un singolo report

Aggiungere una nuova azione all'area di disegno e cercare Ottenere un report di connessione tra tenant in base all'ID del report per un tenant. Specificare l'ID report dei passaggi precedenti.

Ottenere un report di connessione tra tenant in base all'ID report per uno screenshot del tenant.

Comprendere cosa contiene il report

Ogni report completato include una connections matrice. Ogni voce descrive una connessione tra tenant osservata durante la finestra di report e include:

  • tenantId: tenant esterno raggiunto dalla connessione.
  • connectionType: la direzione della connessione, outbound dal tenant al tenant esterno, o inbound.
  • connectionId: identificatore della connessione. Questo valore corrisponde a quello della name connessione (ultimo segmento dell'ID risorsa della connessione) nell'ambiente in cui risiede la connessione.

Nota

Il report registra i tentativi di connessione tra tenant osservati durante la finestra di report, non solo le connessioni attualmente esistenti. Questo tipo di connessione include tentativi bloccati dall'isolamento del tenant nel tenant o nel tenant di destinazione. Di conseguenza, un oggetto connectionId nel report potrebbe non corrispondere a una connessione esistente in uno degli ambienti attualmente in uso. Non è possibile individuare i tentativi di connessione bloccati (e le connessioni che sono state eliminate in un secondo momento) seguendo la procedura descritta nella sezione successiva.

Individuare l'ambiente per una connessione segnalata

Un report identifica ogni connessione da connectionId, ma non include l'ambiente in cui risiede la connessione. Per trovare l'ambiente, enumerare gli ambienti nel tenant, elencare le connessioni di ogni ambiente e trovare la corrispondenza nella connessione name.

Usare lo script di PowerShell seguente per cercare negli ambienti un oggetto segnalato connectionId. Enumerare gli ID dell'ambiente, ad esempio dall'interfaccia di amministrazione di Power Platform o da un'API degli ambienti, e specificare i connectionId valori del report.

Import-Module "MSAL.PS"
$AuthResult = Get-MsalToken -ClientId '<client id of your Microsoft Entra ID application registration>' -Scope 'https://api.powerplatform.com/.default'
$Headers = @{Authorization = "******"}

# The connectionId values from the report you fetched in the previous step.
$reportConnectionIds = @('<connectionId-1>', '<connectionId-2>')

# The environments in your tenant to search.
$environmentIds = @('<environment-id-1>', '<environment-id-2>')

foreach ($environmentId in $environmentIds)
{
    try
    {
        # List the connections in the environment.
        $uri = "https://api.powerplatform.com/connectivity/environments/$environmentId/connections?api-version=2024-10-01"
        $connections = (Invoke-RestMethod -Method Get -Uri $uri -Headers $Headers).value

        foreach ($connectionId in $reportConnectionIds)
        {
            # The report's connectionId matches the connection's 'name'.
            $match = $connections | Where-Object { $_.name -eq $connectionId }
            if ($match)
            {
                Write-Host "connectionId $connectionId is in environment $environmentId (connector: $($match.properties.apiId), display name: $($match.properties.displayName))"
            }
        }
    }
    catch
    {
        Write-Host "Could not list connections for environment ${environmentId}: $($_.Exception.Message)"
    }
}

Se un report connectionId non viene trovato in alcun ambiente, è stato probabilmente un tentativo bloccato (vedere la nota precedente) o una connessione eliminata dopo la generazione del report.

Informazioni di riferimento sulle API power platform: elencare le connessioni in un ambiente


Informazioni di riferimento sulle API di Power Platform - Report di connessione tra tenant

Informazioni di riferimento sulle API di Power Platform - Connettività