所有者が組織を離れたときに孤立フローを管理する方法
この記事では、所有者が組織を離れたときに孤立フローを管理する方法について説明します。
適用対象: Power Automate
元の KB 番号: 4556130
孤立したフローとは
有効な所有者が存在しなくなった場合、フローは孤立したフローに変わります。 多くの場合、フローの作成者または所有者が組織を離れ、共同所有者がいない場合に発生します。 フローで認証を必要とする接続が使用されている場合は、ユーザー ID が無効になるため、失敗を開始する可能性があります。
管理者は、1 人以上の共同所有者を追加することで、フローによって自動化されたビジネス プロセスの継続性を維持できます。 共同所有者は基本的に元の所有者と同じようにフローを完全に制御でき、接続がある場合は認証を修正し、無効になっている場合はフローを有効にすることができます。
孤立したフローがあるかどうかを確認する方法
Note
有効な所有者がいないフローを表示できるのは特権ユーザーだけです。
Power Platform Admin Center の environment ページでResources タブに移動し、Flow の一覧を開きます。 孤立したフローには、 Owners 列に所有者が表示されません。
[さらに読み込む] を選択して、孤立したすべてのフローを確認できるように、次のフロー セットを読み込みます。
孤立したフローに新しい共同所有者を割り当てる
- フローの一覧から孤立したフローを選択して、フローの詳細ページを開きます。
- [所有者 一覧の下部にある [共有の管理 ] を選択します。
- 新しい所有者名を入力し、新しい所有者アカウントを選択します。
- [保存] を選択して変更を保存します。
Note
組織内に大量のフローがある場合、孤立したフローを見つけるのが難しい場合があります。 その場合は、PowerShell コマンドレットを使用して孤立したフローを管理することもできます。
管理者向けの Power Automate コマンドレットを使用して孤立したフローを管理する
管理者は、管理者向けに Power Apps コマンドレットを実行してフローを管理することもできます。 インストールを完了していない場合は、手順に従ってインストールを完了していることを確認します。
1 つのフローのアクセス許可を修正する
環境名とフロー名 (GUID) が必要です。
環境名とフロー名を指定して Get-AdminFlowOwnerRole
コマンドレットを実行して、ユーザーとそのロールの一覧を取得します。 これで、フローに設定されている現在のアクセス許可を確認できます。
フローに共同所有者を割り当てるには、新しい所有者の Microsoft Entra プリンシパル オブジェクト ID を使用して Set-AdminFlowOwnerRole
コマンドレットを実行します。
Set-AdminFlowOwnerRole -EnvironmentName <env name> -FlowName <flow name> -PrincipalType User -RoleName CanEdit -PrincipalObjectId <new owner object id>
Note
Get-AzureADUser コマンドレット (AzureAD モジュール) を実行することで、ユーザーの Microsoft Entra プリンシパル オブジェクト ID を取得できます。 Get-AzureADUser
コマンドレットを実行する前に、Connect-AzureAD
コマンドレットを呼び出す必要があります。
Note
Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となります。 詳細については、非推奨の最新情報を参照してください。 この日以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正プログラムに限定されます。 非推奨になるモジュールは、2025 年 3 月 30 日まで引き続き機能します。
Microsoft Entra ID (旧称 Azure AD) を使用するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、「移行に関する FAQ」を参照してください。 ノート: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に使用障害が発生する可能性があります。
Get-AdminFlowOwnerRole
コマンドレットをもう一度実行して、新しい所有者が一覧に含まれているかどうかを確認します。
特定のユーザーによって作成されたフローのアクセス許可の修正
次のコマンドレットを実行して特定のユーザーによって作成されたフローの一覧を取得し、上記のセクションを適用して、一覧のすべてのフローを修正します。
Get-AdminFlow -EnvironmentName <env name> -CreatedBy <user-object-id>
環境内のすべての孤立したフローを一覧表示する
有効なユーザーを持たないすべてのフローを取得するには、1 つの環境のすべてのフローをループ処理し、Microsoft Entra ID に存在する所有者または共同所有者が少なくとも 1 つあることを確認します。 次のスクリプトは例を示しています。
Connect-AzureAD
$env = "<your environment name>"
$flows = Get-AdminFlow -EnvironmentName $env
foreach ($flow in $flows)
{
$hasValidOwner = $false
$permissions = Get-AdminFlowOwnerRole -EnvironmentName $env -FlowName $flow.FlowName
foreach ($permission in $permissions)
{
$roleType = $permission.RoleType
if ($roleType.ToString() -eq "Owner" -or $roleType.ToString() -eq "CanEdit")
{
$userId = $permission.PrincipalObjectId
$users = Get-AzureADUser -Filter "ObjectId eq '$userId'"
if ($users.Length -gt 0)
{
$hasValidOwner = $true
break
}
}
}
if ($hasValidOwner -eq $false)
{
$flow
}
}
Set-AdminFlowOwnerRole
コマンドレットを挿入して、有効な所有者を持たないフローごとに共同所有者を割り当てることもできます。