ADVERTISEMENT

【Power Automate】承認者の動的指定が想定どおり進まない時の接続と所有者の確認

【Power Automate】承認者の動的指定が想定どおり進まない時の接続と所有者の確認
🛡️ 超解決

Power Automateで承認フローを作成する際、承認者を動的に指定する方法は非常に便利です。しかし、想定どおりに承認者が割り当てられず、フローが停止してしまうケースが少なくありません。多くの場合、原因はコネクタの接続設定やフローの所有権にあります。本記事では、承認者の動的指定がうまくいかない時に、まず確認すべき接続と所有者の観点から、問題を切り分ける手順を詳しく解説します。

【要点】この記事で確認すること

  • 最初に見る場所: 承認アクションの「割り当て先」に指定した動的コンテンツ(例:ユーザープロファイルのメール、SharePointのユーザー列)が正しく解決されているか、フロー実行履歴で確認します。
  • 切り分けの軸: 動的コンテンツの値が正しく取得できていない場合は「データ取得の問題」、取得できているのに承認が進まない場合は「承認アクションの接続または所有者の問題」と考えます。
  • 注意点: 会社のポリシーによっては、個人用のコネクタで承認アクションを実行できない場合があります。フローを共有する際は、適切な所有者と接続を設定しないと、期待通りに動作しません。

ADVERTISEMENT

承認者の動的指定が機能しない主な原因

承認者の動的指定が想定どおり進まない原因は、主に以下の3つに分類されます。これらを理解することで、問題の切り分けがスムーズになります。

原因カテゴリ 具体的な症状 主な確認ポイント
動的コンテンツの取得ミス 承認者に割り当てるメールアドレスやユーザーIDが空、または形式が異なる トリガーやアクションの出力を実行履歴で確認し、期待する値が入っているか検証する
コネクタの接続切れ 承認アクションが「保留中」のまま進まない、またはエラー「接続がありません」 フロー編集画面の承認アクション設定で、接続が有効か確認する
フロー所有権の不整合 第三者に共有したフローが正しく動作しない(特に承認メールが送信されない) フローの所有者と承認アクションで使用しているコネクタの所有者が一致しているか確認する

問題を特定するための確認手順

問題を切り分けるには、まずフローの実行履歴を確認し、承認アクションの入力値を検証します。以下の手順で進めてください。

  1. フロー実行履歴の確認: Power Automateのポータルから該当フローを開き、「実行履歴」タブで最新の実行をクリックします。承認アクションを選択し、入力欄に表示された「割り当て先」の値を確認します。
  2. 動的コンテンツの値の検証: 割り当て先にユーザーのメールアドレスなどが正しく表示されているか確認します。空欄だったり、表示名しかない場合は、データ取得元のアクション(例:SharePointの「アイテムの取得」など)で正しい値が渡されているか調べます。
  3. コネクタの接続テスト: フローを編集し、承認アクションの設定画面で「接続」を開き、「すべての接続をテスト」を実行します。エラーが表示された場合は、該当コネクタを更新します。
  4. 所有者の確認: フロー一覧で該当フローの「所有者」列を確認します。自分以外のユーザーが所有者の場合、コネクタがそのユーザーのアカウントで認証されているか確認します。
  5. 承認メールの配信状況: 承認依頼が送信されない場合、Exchange Onlineの配信制限や迷惑メールフィルターも疑いますが、まずはPower Automate側のエラーを確認します。

動的コンテンツの値を直接指定してテストする

問題が動的コンテンツの解決にあるのか、それとも承認アクション自体にあるのかを切り分けるには、一時的に承認者を静的な値に変更してテストする方法が有効です。例えば、自分のメールアドレスを直接入力してフローを実行し、承認リクエストが届くか確認します。もし静的な値で正常動作するなら、動的コンテンツの取得に問題があると判断できます。

失敗パターンとその対処法

実際によくある失敗パターンを3つ紹介します。これらを参考に、自分の状況と照らし合わせて原因を特定してください。

パターン1: SharePointリストのユーザー列を承認者に指定したが、メールアドレスではなく表示名が渡される

SharePointの「ユーザーまたはグループ」列には、表示名とメールアドレスの両方が含まれています。Power Automateでこの列を動的コンテンツとして使うと、既定では表示名(例:「山田太郎」)が選択されます。承認アクションの「割り当て先」はメールアドレスまたはユーザープリンシパル名(UPN)を期待するため、表示名では動作しません。対処法として、動的コンテンツの選択時に「メール」または「ユーザープリンシパル名」を明示的に選びます。もし候補に出てこない場合は、SharePointコネクタの「アイテムの取得」などを使って別途ユーザー情報を取得し、メールアドレスを抽出してください。

パターン2: 承認アクションの接続が期限切れになっている

Power Automateのコネクタは一定期間アクセスがないと、認証トークンが失効することがあります。特に、組織のパスワードポリシーで定期的なパスワード変更が求められる場合、フローが長期にわたって正常に動作していても突然エラーになることがあります。この場合、フロー編集画面で承認アクションの接続を開き、「接続を更新」または「サインインし直す」ことで解決します。また、すべての接続を一度削除して再作成するのも確実です。

パターン3: フローを共有したが、承認メールが別のユーザーに届く

フローを他のユーザーと共有する場合、そのフローで使用しているコネクタの所有者が誰かによって動作が変わります。例えば、自分が作成したフローに承認アクションが含まれており、その接続が自分のアカウントで認証されているとします。このフローを同僚に共有しても、承認アクションはあくまで自分のアカウントで実行されます。そのため、承認者として指定された人物にメールが届かない・届くべき人に届かないという混乱が生じることがあります。対処法は、フローを共有する前に、承認アクションで使用するコネクタを「共有接続」に変更するか、フロー自体をチーム所有にする(=所有者をグループに変更する)ことです。ただし、この設定は管理者の許可が必要な場合があります。

管理者へ確認すべき設定

会社のポリシーによっては、Power Automateの動作に影響を与える管理者設定が存在します。以下の点を管理者に確認し、適切な設定が行われているか問い合わせてください。

  • コネクタの種類: 「承認」アクションで使用するコネクタが組織の許可リストに含まれているか。特に「Microsoft Teams」「Office 365 Outlook」「SharePoint」などは標準ですが、カスタムコネクタの場合は追加設定が必要です。
  • データ損失防止(DLP)ポリシー: 承認に関するデータが組織外に漏れるのを防ぐため、DLPポリシーで特定のコネクタの組み合わせが制限されている可能性があります。
  • 条件付きアクセス: Azure ADの条件付きアクセスがPower Automateに適用されている場合、特定のIPアドレスやデバイスからのみアクセスが許可されることがあります。
  • フロー所有者の制限: 組織によっては、フローの所有者を特定のセキュリティグループに限定している場合があります。その場合は、自分が所有者になる前にグループに追加してもらう必要があります。

よくある質問(FAQ)

ここでは、読者から寄せられる頻度の高い質問とその回答をまとめました。

Q1. 承認者に動的に指定したユーザーが複数いる場合、全員に承認依頼が届きますか?それとも一人承認で完了しますか?
A. 承認アクションの設定次第です。「全員の承認が必要」か「一人の承認で十分」かを選択できます。動的指定する場合も、この設定は有効です。割り当て先に配列(複数のメールアドレス)を指定した場合は、そのリストに対して設定が適用されます。

Q2. 動的指定でグループ(メールが有効なセキュリティグループ)を指定できますか?
A. 可能です。ただし、グループのメールアドレスを指定する必要があります。また、グループ内のユーザー全員に承認依頼が送られますが、グループのメンバーシップが変更されても自動反映されるわけではないため、注意してください。

Q3. 自分のフローを同僚に譲渡するにはどうすればいいですか?
A. フローを共有する画面から「所有者として追加」を選択し、同僚を追加します。その後、自分を所有者から削除することで譲渡できます。ただし、コネクタの接続は元の所有者のままになるため、接続を新しい所有者のものに更新する必要があります。

Q4. 承認アクションの接続が自分の個人アカウントになっているのですが、会社のアカウントに変更できません。
A. まず、会社のアカウントでPower Automateにサインインしていることを確認してください。それでも個人アカウントしか表示されない場合は、ブラウザのキャッシュをクリアするか、シークレットウィンドウで試してみてください。また、組織で許可されているコネクタかどうか管理者に確認しましょう。

Q5. 実行履歴で「アクセスが拒否されました」と表示される原因は?
A. 承認アクションで使用しているコネクタの所有者がフローの実行ユーザーと異なる場合や、コネクタの権限が不足している場合に発生します。接続を再作成し、フロー所有者とコネクタ所有者を同一にすることで解決します。

まとめ

承認者の動的指定が想定どおり進まない場合、まずはフローの実行履歴で割り当て先の値を確認し、次にコネクタの接続状態とフローの所有権をチェックするのが効率的です。動的コンテンツの値が正しいのに承認が進まない場合は、接続切れや所有者不整合を疑いましょう。また、会社の管理ポリシーが原因であることもあるため、管理者と連携して設定を確認してください。これらの手順を踏むことで、多くの問題は解決できるはずです。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT