はじめに
Power Platformには"カタログ"と呼ばれる機能があります。
カタログを利用することでコンポーネントなどのテンプレートを組織内で簡単に共有して利用することができるようになります。
この機能で共有できるテンプレートはPower Appsのキャンバスアプリだけでなく、Power Automateのクラウドフローなども対象になります。
現在サポートされているコンポーネントには以下のようなものがあります。
- AI プロンプト
- Copilot アプリ テンプレート
- AI プラグイン
- Power Platform データフロー
- カスタム コネクタ
- Power Apps Component Framework コントロール
- Power Automate フロー
- キャンバス アプリ
- モデル駆動型アプリ
なお注意点として、現在こちらの機能はプレビュー機能であるということと、この機能を利用するにはマネージド環境が必要であるということに注意してください。(プレビュー期間中はマネージド環境機能は必須ではありません。)
今回はこちらのマネージド環境についての紹介記事を書いていこうと思います。
設定方法やこう動くよっていう内容がメインとなりますのであんまり突っ込んだところまでは紹介しませんので予めご了承ください。
カタログ
事前準備
環境作成
カタログを設定する環境を用意しておく必要があります。
ここで作成する環境はマネージド環境として作成しましょう。
Entra Groupsの作成
以下の役割をもつEntra Groupを4つ作成しておいてください。(名前はなんでもOKです。)
- 管理者
- 承認者
- 送信者
- 消費者
カタログを設定する
カタログを組織内で利用するにはまずPower Platform管理センターで設定を行う必要があります。
カタログを作成する作成する場合は以下から作成します。
従来の管理センターの場合は、 Resources > Catalogs から設定します。
新しい管理センターの場合は、 Deployment > Catalogs から設定します。
"新しいカタログ"を選択すると以下のようなカタログ設定画面が表示されますのでそれぞれ入力します。
Field(En) | Field(Ja) | プロパティ |
---|---|---|
Name | 名前 | カタログの名前を入力します。 |
Language | 言語 | カタログのユーザー言語を設定します。 |
Description | 説明 | カタログの説明を入力します。 |
Region | 地域 | カタログが属する地域を設定します。 |
Environment | 環境 | カタログを設定するPower Platform環境を設定します。 "Region"で設定した地域と同じ地域が設定可能です。 |
Status | 状態 | 作成後にカタログを非アクティブに設定したい場合は、このチェックボックスを外します。 |
なおカタログは複数作ることができますが、1つの環境につき1つのカタログしか設定できません。
ドキュメントでも記載がありますが、基本的にほとんどの組織では、テナント内にカタログは1つあれば十分なはずです。
ただ、運用方法などによってはこちらの制限を注意しないといけない場合もありますので注意してください。
続いてカタログでの役割を設定します。
設定が必要な役割は、
Role(En) | Role(Ja) | 役割 |
---|---|---|
Administrators | 管理者 | カタログを管理することのできるユーザー |
Approvers | 承認者 | "送信者"から送信されたカタログの公開を承認するユーザー |
Submitters | 送信者 | カタログにアイテムを送信するユーザー |
Consumers | 消費者 | カタログからアイテムを検索してインストールすることができるユーザー |
の4つです。
事前準備で用意したEntraグループをそれぞれ割り当てます。
"承認者"の箇所は他の項目とは異なり以下オプションが存在しています。
カタログのアイテムが公開されるには"管理者"または"承認者"によって承認される必要があります。こちらをオンにすることで送信されたアイテムは自動承認されて公開されることになります。
運用に応じてこちらのチェックをオンにしてください。
カタログ送信時にユーザーが設定できるカテゴリを設定します。
"Add category"より、独自のカテゴリを追加して設定することも可能です。
ここは日本語でも英語表記です。(下手に日本語訳されてても困りますけどね)
最後に作成内容のチェックと利用規約に同意を行い、問題なければカタログの作成を行います。
Learn about Dataverse storage costs
Learn about Catalog administration
無事作成が開始されると以下のようなポップアップが表示されます。
"Go to Dynamics 365 Page"を選択すると、カタログ設定時に選択した環境の"Dynamics 365 apps"に遷移しますので(恐らく)以下2つのアプリがインストールされていればOKです。
カタログの作成が完了すると"Power Platform Catalog Manager"(Power Platform カタログ管理者)というマネージドソリューションが対象の環境に作成されます。
なお、管理センターのカタログから作成したカタログを選択しても、環境URL(https://orgxxxxxx.crm.dynamics.com/)に飛ぶだけです。
作成されたリソースの確認
カタログの作成が完了すると以下リソースが作成されているはずです。
ソリューション
"Power Platform Catalog Manager"というマネージドソリューションが作成されているはずです。
全リソース説明はさすがに無理なので割愛。
セキュリティロール
ソリューションの中に入っているリソースではあるのですが、一応紹介。
以下4つのSecurity rolesが作成されます。
それぞれ環境設定時に設定した4つのロールに基づいて作成されています。
カタログ設定後にEntra Groupを追加したい場合は役割に応じてこれら4つのロールを使うことになります。
Teams
管理センターより対象の環境の"Teams"を確認すると以下4つのチームが作成されていることが確認できます。
こちらのチームはカタログ設定時に設定した以下ロールに基づいて作成されています。
- 管理者
- 承認者
- 送信者
- 消費者
中をみてみるとこんな感じ。
先ほど紹介したセキュリティロールが設定されていますね。
このままだと名前がわかりにくいので、以下のように変更しておくと管理しやすいかもですね。
カタログを利用してみる
カタログの送信
適当に以下のようなソリューションを用意しました。
アプリの中身はこんな感じ。
フローの中身はこんな感じ。
ソリューション一覧より、カタログに送信したいソリューションを選択して"Publish to Catalog"(カタログに公開する)を選択します。
送信可能なカタログがテナント内に存在しない場合は以下のようなポップアップが表示されます。
公開を選択すると、続いて公開方法の選択を行うポップアップが表示されます。
追加情報を入力します。
アイコンやリンクなどあれば設定します。
問題なければ送信を行います。
カタログの承認
(疲れたのでここからは日本語だけでお送りします。)
ソリューション"Power Platform カタログ管理者"のなかにあるモデル駆動型アプリ"Power Platform カタログ管理者"を選択します。
もしくは管理センターから対象のカタログを選択します。
開くとこんな感じの画面を確認できます。
"要求"セクションに先ほど送信したカタログがあるので確認します。
カタログを選択すると、申請の情報を確認することができます。
右下にある"タイムライン"では手動でメモを追加することも可能です。
"カタログ品目"を選択するとカタログの品目詳細(送信時に入力した内容)を確認することが可能です。
"添付したパッケージ資産"をダブルクリックするとパッケージの詳細を確認することが可能です。
"パッケージファイル"を選択すると、ソリューション名のファイルがローカルにダウンロードされます。
そのままでは開けないので拡張子".zip"を付与して圧縮ファイルに変換します。
圧縮ファイルを開いて、"PackageAssets"配下を確認するとソリューションファイルが含まれています。
ソリューションを実際に承認者の手元でインポートして確認したい場合はこちらの方法を実施します。
申請内容に問題なければ上部の"承認を完了する"を選択します。
カタログを確認する
Power Appsの"カタログ"セクションを開くと組織内のカタログを確認することができます。
この中を見てあげると先ほど公開されたカタログやMicrosoft Power Platformによってデフォルトで用意されているカタログが存在しています。
"取得"を選択することで公開されたカタログを自分の環境に入手することが可能です。
接続内容を確認して、しばらく待つと実施した環境にカタログ(ソリューション)がインストールされます。
ソリューションが追加されました!
カタログの設定を管理します
"Power Platform カタログ管理者"アプリを開いて、左下の領域の変更より"設定"を選択します。
ここでカタログ名や承認に関する設定を変更することが可能です。
このカタログの有効/無効もこちらで設定します。
他にも分析に関するルールをこちらで設けることが可能です。
MEMO
個人的に思った気になった点や注意したほうがいいかなって点まとめています。
カタログ作成後にEntra Groupを追加したい
カタログ追加後にEntra Groupを追加する際は、カタログをホストしている環境のチームにて対象のEntra Groupを含むチームを作成します。
ロールはカタログ用に追加されたセキュリティグループを付与します。
複数のカタログを用意したい
複数のカタログを用意したい場合は、初回カタログ作成時と同じ操作をもう一度行います。
つまりカタログをホストするための環境をもう一度作成する必要があるということです。
カタログ1つにつきPower Platform環境は1つ必要になります。
1つの環境に複数のカタログをホストすることはできません。
カタログを複数用意するのはどういうときか
ドキュメントにも記載のある通り、基本的にカタログは1つの組織対して1つで十分かと思います。
しかしグローバル企業で1つのテナントを利用している場合に、対象のロケールに応じてホストを作成する。というやり方もあります。
また(あまりおすすめしませんが)情シス(会社)として許可されたカタログとコミュニティとして許可されたカタログを明確にわけたい。みたいな場合に複数にしたりすることになるかと思います。
この場合、例えば後者は承認が必須で後者は承認不要にするなどの作り方もありますね。
ただPower PlatformやMicrosoft 365のコミュニティ運営は管理設定などもありますので情シスとも仲良くやっていきましょうね...
カタログを削除したい
テストで作成したカタログや不要になったカタログを管理センターや管理アプリから削除する方法は現在ありません。
恐らく、そうしたカタログは"無効"としてマークするか環境ごと削除するという想定の運用なんだと思います。
なのでテストでやるときは、既存の環境をホストして作成しないようにしようね!!
環境は削除したくないけど、カタログは消したい。という場合はインストールされたソリューションを削除すれば、管理センターのカタログ一覧からは消えます。(めんどくさいです)
ただカタログ送信時に一覧に出てきちゃうっぽいので、この方法では完全には消えないっぽいです。
おわりに
Power Platformのカタログ機能について紹介させていただきました。
組織内でソリューションを共有したい場合に使えるやり方の1つとしておすすめです。
組織のライセンスの状況などに応じてカタログを利用するか、独自の仕組み(アプリやソリューションなどのパッケージを保存する場所の用意)を導入してもらえればと思います。