チュートリアル: テナント間分離レポートを作成する

このチュートリアルでは、プログラミング ツールを使用してテナント間分離レポートを作成する方法について説明します。

このチュートリアルで学習する内容は次のとおりです:

  • レポートの作成
  • テナントのすべてのレポートを一覧表示する
  • 単一のレポートを取り込む
  • 報告された接続の環境を見つける

重要

テナント分離の詳細については、クロステナントの送受信の制限を参照してください。

レポートの作成

次の情報を使用して、新しいレポートを作成するさまざまな方法を見つけます。

ヒント

テナントごと、暦日ごとに 1 つのレポートのみ作成できます。

キャンバスに新しいアクションを追加し、「テナントのテナント間接続レポートを生成する要求を作成するか、既存のレポートを返す」を検索します。 アクションにはパラメーターは必要ありません。

テナント間接続レポートの作成のスクリーンショット。

テナントのすべてのレポートを一覧表示する

キャンバスに新しいアクションを追加し、テナントの テナント間接続レポートの一覧表示を検索します。 アクションにはパラメーターは必要ありません。

テナント間接続レポートの一覧表示のスクリーンショット。

単一のレポートを取り込む

キャンバスに新しいアクションを追加し、「テナントの レポート ID でテナント間接続レポートを取得する」を検索します。 前の手順のレポート ID を指定します。

テナント間接続レポートをテナントのレポート ID で取得するスクリーンショット。

レポートに含まれる内容を理解する

完了した各レポートには、 connections 配列が含まれています。 すべてのエントリは、レポートウィンドウで観察されたテナント間接続を記述し、次のものが含まれます。

  • tenantId: 接続が到達する外部テナント。
  • connectionType: 接続の方向 (テナントから外部テナントへの) outbound または inbound
  • connectionId: 接続の識別子。 この値は、接続が存在する環境の接続の name (接続のリソース ID の最後のセグメント) と一致します。

ヒント

レポートでは、現在存在する接続だけでなく、レポートウィンドウで確認されたテナント間の接続 試行 がログに記録されます。 この接続の種類には、テナントまたはターゲット テナントでのテナント分離によってブロック された試行が含まれます。 その結果、レポート内の connectionId が、現在の環境に存在する接続に対応していない可能性があります。 次のセクションの手順を使用して、ブロックされた接続試行 (および後で削除された接続) を見つけることができません。

報告された接続の環境を見つける

レポートは connectionIdによって各接続を識別しますが、接続が存在する環境は含まれません。 環境を見つけるには、テナント内の環境を列挙し、各環境の接続を一覧表示し、接続 nameで一致させます。

次の PowerShell スクリプトを使用して、報告された connectionIdを環境で検索します。 Power Platform 管理センターや環境 API など、必要に応じて環境 ID を列挙し、レポートからconnectionId値を指定します。

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

報告された connectionId が環境で見つからない場合は、ブロックされた試行 (前のメモを参照) またはレポートの生成後に削除された接続である可能性が最も高くなります。

Power Platform API リファレンス: 環境内の接続を一覧表示する


Power Platform API リファレンス - テナント間接続レポート

Power Platform API リファレンス - 接続