Tutorial: Creación de informes de aislamiento entre inquilinos

En este tutorial se muestra cómo usar las herramientas de programación para crear informes de aislamiento entre inquilinos.

En este tutorial, aprenderá a:

  • Crear un informe
  • Mostrar todos los informes del inquilino
  • Obtener un único informe
  • Buscar el entorno para una conexión notificada

Importante

Para obtener más detalles sobre el aislamiento de inquilinos, consulte Restricciones de entrada y salida entre inquilinos.

Crear un informe

Use la siguiente información para encontrar varias maneras en las que puede crear un nuevo informe.

Nota

Solo puede crear un informe por inquilino por día calendario.

Agregue una nueva acción al lienzo y busque "Crear una solicitud para generar un informe de conexión entre inquilinos para un inquilino o devolver un informe existente". La acción no requiere ningún parámetro.

Captura de pantalla de creación del informe de conexión entre inquilinos.

Mostrar todos los informes del inquilino

Agregue una nueva acción al lienzo y busque Enumerar informes de conexión entre inquilinos para un inquilino. La acción no requiere ningún parámetro.

Enumere los informes de conexión entre inquilinos para una captura de pantalla del inquilino.

Obtener un único informe

Agregue una nueva acción al lienzo y busque Obtener un informe de conexión entre inquilinos por identificador de informe para un inquilino. Proporcione el identificador de informe de los pasos anteriores.

Obtenga un informe de conexión entre inquilinos por identificador de informe para una captura de pantalla de inquilino.

Descripción de lo que contiene el informe

Cada informe completado incluye una connections matriz. Cada entrada describe una conexión entre inquilinos observada durante la ventana de informes e incluye:

  • tenantId: el inquilino externo al que llega la conexión.
  • connectionType: la dirección de la conexión, ya sea outbound (del inquilino al inquilino externo) o inbound.
  • connectionId: el identificador de la conexión. Este valor coincide con el de name la conexión (el último segmento del identificador de recurso de la conexión) en el entorno donde reside la conexión.

Nota

El informe registra los intentos de conexión entre inquilinos observados durante la ventana de informes, no solo las conexiones que existen actualmente. Este tipo de conexión incluye intentos bloqueados por aislamiento de inquilino en el inquilino o en el inquilino de destino. Como resultado, es posible que un elemento connectionId del informe no se corresponda con una conexión que existe en cualquiera de los entornos actuales. No puede encontrar los intentos de conexión bloqueados (y las conexiones que se eliminaron más adelante) mediante los pasos de la sección siguiente.

Buscar el entorno para una conexión notificada

Un informe identifica cada conexión por connectionId, pero no incluye el entorno donde reside la conexión. Para buscar el entorno, enumere los entornos del inquilino, enumere las conexiones de cada entorno y coincida con en la conexión name.

Use el siguiente script de PowerShell para buscar los entornos de un informe connectionId. Sin embargo, enumere los identificadores de entorno que prefiera (por ejemplo, desde el Centro de administración de Power Platform o una API de entornos) y proporcione los connectionId valores del informe.

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)"
    }
}

Si no se encuentra un informe connectionId en ningún entorno, es más probable que se produzca un intento bloqueado (vea la nota anterior) o una conexión que se eliminó después de generar el informe.

Referencia de Power Platform API: Enumeración de conexiones en un entorno


Referencia de api de Power Platform: informes de conexión entre inquilinos

Referencia de Api de Power Platform: conectividad