Power Automate のフローの所有者を変更する方法

こんにちは。日本マイクロソフトの向井です。
Power Automate の**フローの所有者を変更する方法**を調査したので共有します。

結論から言うと、**マイフローに作成されたフローの作成者をフローの所有者から削除することはできません。**
共有所有者は追加したり削除したりすることができますが、フローの作成者から所有者権限を剥奪することが現状できません。
※ソリューション内に作成されたフローの所有者はWeb APIを使用して変更することができます。
[Power Automate Web API](https://docs.microsoft.com/ja-jp/power-automate/web-api)

この仕様を改善するためのリクエストも上がっています。
[Delete original owner of flow](https://powerusers.microsoft.com/t5/Power-Automate-Ideas/Delete-original-owner-of-flow/idi-p/91465)
改善に賛同する方はVoteをクリックして投票をお願いします。
投票数が多いと改善されるかもしれません。

上記の通りマイフローに作成されたフローの所有者を変更することはできませんが、**フローを複製し、元のフローを削除することで所有者の変更を行ったように見せることができます。**

フローの複製方法は以下の3つがあります。

#方法① 共同所有者が「名前をつけて保存」する方法
1つ目の方法は、フローを名前をつけて保存することで、保存した人を所有者とする方法です。

この方法のいい点は、**元の所有者の協力を得ずに、管理者（新しい所有者）だけの操作で実現できる点**です。

##①-1 新しく所有者となるユーザーにフローを共有し、共同所有者にする
まず、新しい所有者にしたいユーザーにフローを共有します。
元の所有者ユーザーからフローを共有してもらう方法もありますが、管理者等の立場のユーザーがフローを使って自らを共同所有者にする方法もあります。
フローの作成者が市民開発者であり、管理者である別のユーザーがフローの共同所有者になる必要があるときなどに有効な手段です。

Power Automate Management コネクタの「フロー所有者を管理者として変更する」アクションを使用することでフローに共同所有者を追加することができます。
今回は簡単に以下の画像のようにフローを作成しました。
追加する共同所有者のオブジェクトIDを取得するためにユーザーの取得アクションを入れています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/19353c6c-a42a-15cf-84dd-220c9ea97c09.png)

フロー実行後、マイフローの共有アイテムを見ると対象のフローが共有されていることを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/ebf9ff7b-bbd4-f379-eeb0-299d182e188e.png)

##①-2 フローを名前をつけて保存する
新しく所有者にしたいユーザー（管理者等）は共有アイテムから対象のフローを選択し、名前をつけて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/c4a35a2a-d3ba-49cb-6857-f5ced0d435c4.png)

新しい名前をつけて保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/34d66087-e1b5-d4bf-0cd2-4daa36b8fe27.png)

マイフローをみると、保存したフローを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/16e94827-7198-23b9-460e-9de24367733b.png)

フローの詳細を確認すると、所有者が自分（管理者）になっていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/ff899bb6-621a-9ff6-8277-e98f27fd4b5b.png)

##①-3 （必要に応じて）元のフローを削除する
あとは元のフローを削除すれば、フローの所有者を変更したようにみせることができます。

Power Automate for Admin コネクターの「フローを管理者として削除する」アクションを使えば、元の所有者の手を借りずにフローを削除することができます。


#方法②フローの「コピーを送信」する方法
2つ目の方法は、フローのコピーを送信する方法です。
[クラウド フローのコピーを共有する](https://docs.microsoft.com/ja-jp/power-automate/create-team-flows#share-a-copy-of-a-cloud-flow)
##②-1 フローのコピーを新しい所有者に送信する
まず、元の所有者はマイフローの一覧から所有者を変更したいフローを選択し、コピーの送信をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/0370b603-04a7-826a-6f85-ccb66766f2df.png)

必要な情報を入力し、送信します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/9366e8ed-a283-4daf-38cb-cba692d947c2.png)

ここで以下の点に注意してください。
・対象のフローが過去に実行され、その結果が成功している必要があります。実行が成功した後にフローに変更が加えられていない必要があります。
・フローの説明は必須項目で25文字以上書く必要があります。

##②-2 新しい所有者ユーザーでフローを作成する
次に共有先のユーザーのOutlookに届いているメールを確認し、マイフローの作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/c73c025e-2e72-34ae-b731-4c718ec3d3b3.png)

フローの作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/c9fdab05-74bd-a075-72d4-a411247d8ce3.png)

所有者が自分のフローを作成することができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/24db7021-bb60-c930-96b4-b99f354464fd.png)

##②-3（必要に応じて）元のフローを削除する
①の時と同様に、あとは元のフローを削除すれば、フローの所有者を変更したようにみせることができます。


#方法③ フローをエクスポートして共有する方法
3つ目の方法は、フローをパッケージとしてエクスポートし、新しい所有者にパッケージを渡してインポートしてもらう方法です。

この方法のいい点は、**テナントや環境をまたいでフローを複製できる点**です。

[フローのエクスポートとインポート](https://docs.microsoft.com/ja-jp/learn/modules/administer-flows/2-flow-export-import)

##③-1 フローのエクスポート
元の所有者は対象のフローを選択し、パッケージ(.zip）としてエクスポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/6cb382fc-af6c-ccfb-c9f6-252b707a1295.png)

タイトルを入力してエクスポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/52e98c36-5b69-7862-30f5-6c3742163fcf.png)

##③-2 フローのインポート
新しい所有者はパッケージを受け取り、フローをインポートします。

マイフローの画面のインポートをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/2aa0ae2c-9ea5-9e28-05dc-7f25e7f34839.png)

アップロードからインポートしたいフローのzipファイルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/4ce0fc9e-956a-fe04-8d57-c2d814eb4475.png)

更新をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/383d57b3-6e0b-016d-dfd1-e238d8789818.png)

今回は新しくフローを作成するので、新しく作成するに変更して保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/e0c2daa0-3c80-f301-c5fc-89b838fb5f29.png)


必要に応じて、関連リソースの接続をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/dc2b5eca-dac3-f5b9-6af5-4e111300645e.png)

保存をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/35d79242-2606-fc5e-a4a7-11f063a2eef2.png)

インポートをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/ab1fb441-dc47-1f09-584f-cd82a2d81bab.png)

少し待っているとフローのインポートが完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/41efa4d5-752f-7bd3-1022-8e7cfafb6bfe.png)

マイフローの一覧にフローが追加されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1004488/c32fa523-5f47-48e2-6469-b453049d6ddb.png)

##③-3（必要に応じて）元のフローを削除する
①②の時と同様に、あとは元のフローを削除すれば、フローの所有者を変更したようにみせることができます。

#考察
今回はフローの所有者を変更したように見せる方法を3つ紹介しました。
どの方法もフローを複製し、元のフローを削除するという点では同じですが、方法①は元の所有者の操作が必要ないことに特徴があります。
そのため、IT部門や管理者の立場からフローの所有権を移動させたい場合、フローの所有者が退職した場合などには1の方法が有効だと考えています。