認定資格に対応した Power Platform コネクタとプラグイン ファイルを準備する
このプロセスは、認証された発行者と独立系発行者の両方を対象としています。
カスタム コネクタまたはカスタム プラグインの開発が完了したら、以下の手順に従って認証の準備を行い、マイクロソフトに提出するコネクタまたはプラグイン ファイルを生成します。
注意
この記事では、Azure Logic Apps、Power Automate、Power Apps、Copilot のプラグインでカスタム コネクタを認定するための情報を提供します。 この記事の手順を実行する前に、コネクタまたはプラグインの認定を取得するを参照してください。
ステップ 1: コネクタやプラグインを登録する (独立系発行者のみ対象)
このセクションは、認証された発行者には適用されません。
カスタム コネクタでの開発が完了していない場合でも、認定を申請できます。 認定プロセスを開始するには、登録フォームに記入してコネクタまたはプラグインの認定登録をしてください。
マイクロソフトの担当者から 2 営業日以内に電子メールが届き、担当者は次のことを行います:
- カスタム コネクタ、またはプラグインを理解します。
- 開発プロセスについて解説します。
- 認定プロセスに関するメールが送信されます。
ステップ2: コネクタの提出要件を満たす
認定されたコネクタ間で高水準の品質と一貫性を維持するために、Microsoft には、カスタム コネクタが認定のために遵守する必要がある一連の要件とガイドラインがあります。
コネクタにタイトルを付ける
タイトルは以下の条件を満たしている必要があります。
- 存在しており、英語で書かれている必要があります。
- 既存のコネクタまたはプラグインのタイトルと区別できる一意のものでなければなりません。
- 製品または組織の名前である必要があります。
- 認定コネクタまたはプラグインの既存の命名パターンに従う必要があります。 独立系発行者の場合、コネクタ名は
Connector and/or plugin Name (Independent Publisher)
というパターンに従ってください。 - 名前を 30 文字より長くすることはできません。
- API、コネクタ という単語、または Power Platform 製品名 (Power Apps など) は使用できません。
- キャリッジリターン、改行、空白など、英数字以外の文字で終了することはできません。
例
- 適切なコネクタまたはプラグインのタイトル:
Azure Sentinel*, *Office 365 Outlook
- 不適切なコネクタまたはプラグインのタイトル:
Azure Sentinel's Power Apps Connector
、Office 365 Outlook API
コネクタの説明を記述する
この説明には次の要件を満たす必要があります。
- 存在しており、英語で書かれている必要があります。
- 文法上の誤りとスペルミスがないようにしてください。
- コネクタが提供する主な目的と価値を簡潔に説明する必要があります。
- 30 字よりも短くしたり、500 字より長くしたりすることはできません。
- Power Platform の製品名を含めることはできません (例: Power Apps)。
コネクタのアイコンをデザインする (認証済みの発行者のみ対象)
このセクションは、独立した発行元には適用されません。
- 100 ×100 から 230 × 230 ピクセル (角は丸くない) の範囲で、1:1 サイズのロゴを作成します。
- 指定したアイコンの背景色と一致する、不透明で白色でない (#ffffff) 背景と、既定でない色 (#007ee5) を使用します。
- アイコンが他の認定コネクタ アイコンに固有であることを確認します。
- ロゴを PNG 形式で
<icon>.png
として送信します。 - 一貫した背景で、画像の高さと幅の 70% 未満にロゴのサイズを設定します。
- ブランド カラーが有効な 16 進数のカラーであることを確認し、白 (#ffffff) やデフォルト (#007ee5) にしないでください。
操作とパラメータの概要と説明の定義
要約と説明は以下の要件を満たしている必要があります。
- 存在しており、英語で書かれている必要があります。
- 文法上の誤りとスペルミスがないようにしてください。
- オペレーションとパラメーターの概要は、80 文字以下で、英数字または括弧のみで構成する必要があります。
- 操作方法やパラメータの説明は、完全な説明文とし、語尾には句読点を付けてください。
- Microsoft Power Platform の製品名を含めることはできません (例: "Power Apps")。
正確な操作レスポンスの定義
操作のレスポンスは以下の要件を満たしている必要があります。
- 想定される応答のみを使用して、正確なスキーマを使用した操作応答を定義します。
- 正確なスキーマ定義の既定応答を使用しないでください。
- Swagger 内のすべての操作に有効な応答スキーマ定義を提供します。
- 空の応答スキーマは、応答スキーマが動的である特別な場合を除いて許可されていません。 これは、動的コンテンツが出力に表示されないことを意味し、作成者は応答を解析するために JSON を使用する必要があります。
- 空の操作は許可されていません。
- 必要でない限り、空のプロパティを削除します。
Swagger プロパティを確認する
このプロパティは次の要件を満たす必要があります。
- "openapidefinition" が正しくフォーマットされた JSON ファイル内にあることを確認します。
- Swagger 定義が OpenAPI 2.0 標準およびコネクタの拡張標準に準拠していることを確認します。
接続パラメーターを確認する
このパラメーターは次の要件を満たす必要があります。
"UIDefinition" の適切な値 (表示名、説明) でプロパティが更新されていることを確認します。
接続パラメーターで基本認証を使用する場合は、JSON が次の例のように正しくフォーマットされていることを確認してください。
{ "username": { "type": "securestring", "uiDefinition": { "displayName": "YourUsernameLabel", "description": "The description of YourUsernameLabel for this api", "tooltip": "Provide the YourUsernameLabel tooltip text", "constraints": { "tabIndex": 2, "clearText": true, "required": "true" } } }, "password": { "type": "securestring", "uiDefinition": { "displayName": "YourPasswordLabel", "description": "The description of YourPasswordLabel for this api", "tooltip": "Provide the YourPasswordLabel tooltip text", "constraints": { "tabIndex": 3, "clearText": false, "required": "true" } } } }
接続パラメーターが認証として APIKey を含んでいる場合、JSON が次の例のように正しくフォーマットされていることを確認してください。
{ "api_key": { "type": "securestring", "uiDefinition": { "displayName": "YourApiKeyParameterLabel", "tooltip": "Provide your YourApiKeyParameterLabel tooltip text", "constraints": { "tabIndex": 2, "clearText": false, "required": "true" } } } }
接続パラメーターが認証として汎用 OAuth を含んでいる場合、JSON が次の例のように正しくフォーマットされていることを確認してください。
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "oauth2", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": { "AuthorizationUrl": { "value": "https://contoso.com" }, "TokenUrl": { "value": "https://contoso.com" }, "RefreshUrl": { "value": "https://contoso.com" } }, "clientId": "YourClientID" }, "uiDefinition": null } }
接続パラメーターが OAuth2 ID プロバイダーを含んでいる場合、その ID プロバイダーがサポートされている OAuth2 プロバイダーのリストに含まれていることを確認してください。 以下は、GitHub OAuth2 ID プロバイダーの例です:
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "github", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": {}, "clientId": "YourClientId" }, "uiDefinition": null } }
接続パラメーターが認証として Microsoft Entra ID を含んでいる場合、JSON が次の例のように正しくフォーマットされていることを確認してください。
{ "token": { "type": "oAuthSetting", "oAuthSettings": { "identityProvider": "aad", "scopes": [ "scope1" ], "redirectMode": "GlobalPerConnector", "customParameters": { "LoginUri": { "value": "https://login.microsoftonline.com" }, "TenantId": { "value": "common" }, "ResourceUri": { "value": "resourceUri" }, "EnableOnbehalfOfLogin": { "value": false } }, "clientId": "AzureActiveDirectoryClientId" }, "uiDefinition": null } }
質の高い英語の文字列を作成する
コネクタは、Power Automate のローカライズの一環としてローカライズされるため、コネクタを開発する際には、英語の文字列の翻訳品質が鍵となります。 ここでは、指定した文字列の値を作成する上で、注目すべき主なポイントを紹介します。
すべての文字列値に誤字脱字がないことを確認するには、スペル チェック プログラムを実行してください。 不完全な英語の文字列があった場合、翻訳結果が不完全、または文脈的に正しくないものとなります。
完全な文章であることをご確認ください。 文が完全でない場合、低品質の翻訳を生成してしまう可能性があります。
文章の意味が明確になるようにしてください。 また、文の意味が曖昧な場合、質の低い翻訳や間違った翻訳が生成される可能性があります。
要約、x-ms-要約、および説明が文法的に正しいことを確認してください。 それらをコピー、および貼り付けをしないで下さい。 製品内でどのように表示されるかについては、 コネクタ文字列のガイダンスを参照してください。
可能であれば、ランタイムの合成文字列は避けてください。 その代わりに、完全な形の文章を使用してください。 文字列や文章が連結されていると、翻訳が困難になったり、誤訳の原因になったりします。
略語を使う場合は、必ず大文字にして明確化してください。 これにより、誤字脱字と間違われる可能性が低くなります。
CaMel 形式の文字列 (minimizeHighways や MinimizeHighways など) は、通常、翻訳不可能と見なされます。 文字列値をローカライズする場合は、CaMel フォーム文字列を修正する必要があります。
手順 3: ソリューション チェッカーを実行してコネクタを検証する
ソリューション チェッカーは、静的分析を実行して、コネクタが Microsoft の認証に必要な標準に準拠していることを確認するメカニズムです。 Power Automate または Power Apps のソリューションにコネクタを追加し、ソリューション チェッカーでカスタム コネクタを検証する の指示に従い、ソリューション チェッカーを実行します。
ソリューション チェッカーの実行方法については、この ビデオ をご覧ください。
手順4: メタデータの追加
コネクタ アーティファクト (ファイル) には、コネクタとそのエンド サービスを説明する特定のメタデータが含まれている必要があります。 メタデータで提供される情報は、コネクタのドキュメントで公開され、一般的にすべてのユーザーがアクセスできます。 個人情報や機密情報を入力しないようにしてください。また、このような情報の提供に問題がある場合は、Microsoft の問い合わせ先にお知らせください。 メタデータがどのように文書化されるかについては、コネクタの参照情報 に記載されているコネクタ別のドキュメント ページのいずれかをご覧ください。
手順 4a: 発行元と stackOwner のプロパティ
- "公開元" はあなたの会社、または組織の名前です。 完全な会社名を入力します (たとえば、"Contoso Corporation")。 これは英数字形式である必要があります。
- stackOwner は、コネクタが接続しているバックエンド サービス スタックの所有者である会社、あるいは組織です。 これは英数字形式である必要があります。
発行者 | Description | 例 |
---|---|---|
認証済 | ISV が stackOwner に代わってコネクタを構築している場合を除き、発行元と stackOwner は同じになります。 | "発行元": "Tesla", "stackOwner": "Tesla" |
独立 | スタック所有者と発行元所有者を指定する必要があります。 | "発行元": "Nirmal Kumar", "stackOwner": "ITGlue" |
ファイルの場所: openapidefinition.json
構文: publisher および stackOwner プロパティは、openapidefinition.jsonファイル内の最上位プロパティとして存在します。 以下のハイライト行を図のように追加します。 示されているとおりにプロパティ名とスキーマを入力していることを確認してください。
赤で強調表示された取引先担当者オブジェクトを定義するブロックを示すコード。 このブロックは、説明のすぐ下に配置する必要があります。 別のブロック x-ms-connector-metadata も赤で強調表示されます。 このブロックは、パス: {} のすぐ下に配置する必要があります。
手順 4c: サンプル コード スニペット
次のコード スニペットを使用して、情報をコピーして入力できます。 前のセクションで説明したように、スニペットを正しい場所の正しいファイルに追加してください。
"publisher": "_____",
"stackOwner": "_____"
"contact": {
"name": "_____",
"url": "_____",
"email": "_____"
}
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "_____"
},
{
"propertyName": "Privacy policy",
"propertyValue": "_____"
},
{
"propertyName": "Categories",
"propertyValue": "_____;_____"
}
]
注意
現在、stackOwner プロパティと Paconn CLI ツールの使用には制限があります。 詳細については、READMEファイルの「 制限事項 」をご覧ください。
手順 4d: JSON ファイルの フォーマットと制限
プロパティが正しく配置されていることを確認してください。
JSON を Visual Studio Code に貼り付けます。 スペル チェッカーなどの拡張機能や、JSON プラグインなどのプラグインを自由に使用してください。
Swagger ファイルは 1MB を超えてはなりません。
- コネクタの構築を開始する前に、コネクタの設計を検討してください。 コネクタを 2 つ以上のコネクタに分割する必要があるかどうかを評価します。
- 大きな Swagger ファイルは、コネクタの使用時に遅延を引き起こす場合があります。
たとえば、プラットフォームには 3 つの異なる HubSpot コネクタがあります。
ステップ 5: プラグインの提出要件を満たす
このセクションは、関連するコネクタ プラグインも認証に提出する場合に適用されます。
- Microsoft Copilot 用 AI プラグインの作成 (プレビュー) のガイドラインに従ってプラグインを作成したことを確認してください。
- 提出されるすべての AI プラグインは、100.10 不適切なコンテンツで明示化されている基準に準拠している必要があります。
- すべての AI プラグインは 責任ある AI ガイドラインに準拠します。
- プラグインは、100.10 不適切なコンテンツで概説されている既存の商業マーケットプレイスポリシーに従って、不適切、有害、または攻撃的な人工知能 (AI) 生成コンテンツを生成、包含、またはアクセスを提供してはなりません。
ステップ 6: コネクタやプラグインの成果物を準備する
注意
- 認証を受ける前に、仕様に準拠し、コネクタやプラグインの品質を確保してください。 これを怠ると変更を求められるため、認定の遅れが生じます。
- ホスト URL の製品版を提供します。 ステージング、開発、テストのホスト URL は許可されていません。
メーカー ポータルまたは Microsoft Copilot Studio からのソリューション生成である一連のファイルをMicrosoftに送信します。 ファイルをパッケージ化するには、このセクションの手順を 追従する します。
コネクタとプラグインのパッケージガイド
このセクションの手順では、パッケージ化のさまざまなシナリオについて説明します。 カスタム コネクタのみをパッケージ化する場合は、最初のシナリオを使用します。 カスタム コネクタ と プラグインの両方をパッケージ化する場合は、2番目のシナリオを使用します。 既存のコネクタとプラグインをパッケージ化する場合は、最後のシナリオを使用します。 ·
カスタム コネクタをパッケージし、提出して認証する
ステップ 1 で作成したコネクタ ソリューションに対してソリューション チェッカーを実行します。
コネクタ ソリューションをエクスポートします。
フローのソリューションをエクスポートします。
手順 3 と 5 のソリューションを使用してパッケージを作成します。
最終パッケージを次の形式の zip ファイルとして作成します:
注意
ソリューション外のフォルダーとファイルの名前は参照用であり、要件に応じて選択できます。 ただし、ソリューション内のファイルは操作できません。
- パッケージをストレージ BLOB にアップロードし、SAS URL を生成します。 SAS URIが少なくとも15日間有効であることを確認してください。
- パートナー センターにパッケージを提出してください。
カスタム コネクタとプラグインをパッケージし、提出して認証する
この記事のカスタム コネクタをパッケージ化して認定を申請するに記載の手順 1 ~ 5 に従います。
Microsoft Copilot Studio ポータルでプラグインを作成し、ソリューションとしてエクスポートします。
以下からパッケージを作成します:
- ソリューション チェッカーの実行 (「カスタム コネクタをパッケージ化して認定用に送信する」に記載の手順 2)。
- フローのソリューションのエクスポート (カスタム コネクタをパッケージ化して認定用に送信するに記載の手順 5)。
- Microsoft Copilot Studio でプラグインを作成し、ソリューションとしてエクスポートする (この手順のステップ 2)。
最終パッケージを次の形式の zip ファイルとして作成します。
注意
ソリューション外のフォルダーとファイルの名前は参照用であり、要件に応じて選択できます。 ただし、ソリューション内のファイルは操作できません。
- パッケージをストレージ BLOB にアップロードし、SAS URL を生成します。 SAS URIが少なくとも15日間有効であることを確認してください。
- パートナー センターにパッケージを提出してください。
既存の認証済みコネクタとプラグインを認証用にパッケージ化する
Power Automate でソリューションを作成し、すでに認定されているコネクタを追加します。
この記事のカスタム コネクタをパッケージ化して認定を申請するに記載の手順 2 ~ 4 に従います。
プラグインをソリューションとしてエクスポートします。
以下からパッケージを作成します:
- コネクタ ソリューションでソリューション チェッカーを実行します (この記事のカスタムコネクタをパッケージ化して認証に提出する に記載のステップ 2)。
- Copilot Studio でプラグインを作成し、ソリューションとしてエクスポートする (この手順のステップ 3)。
- Copilot Studio でプラグインを作成し、ソリューションとしてエクスポートする (この手順のステップ 4)。
最終パッケージを次の形式の zip ファイルとして作成します。
注意
ソリューション外のフォルダーとファイルの名前は参照用であり、要件に応じて選択できます。 ただし、ソリューション内のファイルは操作できません。
- パッケージをストレージ BLOB にアップロードし、SAS URL を生成します。 SAS URIが少なくとも15日間有効であることを確認してください。
- パートナー センターにパッケージを提出してください。
検証済みのパブリッシャーと独立したパブリッシャーの両方が、成果物にダウンロードします openapidefinition.json
。 このファイルで IconBrandColor を設定する必要があります。
- 検証済みのパブリッシャー: openapidefinitionファイルでiconBrandColorをブランド カラーに設定します。
- 独立系パブリッシャー: openapidefinitionファイルでiconBrandColorを "#da3b01" に設定します。
intro.md アーティファクトを作成する
intro.md ファイルは、独立発行者と検証済み発行者の両方に必要です。 コネクタの機能を文書化するには、intro.md ファイルを作成する必要があります。 含めるドキュメントの例については、Readme.md の例を参照してください。 intro.md ファイルの記述方法については、GitHub リポジトリ の他の intro.md ファイル (Readme.md ファイルとしても知られています) を参照してください。
独立系発行元であり、コネクタが OAuth を使用している場合は、資格情報を取得する方法の説明が含まれていることを確認してください。
ヒント
既知の問題と制限 は、ユーザーを最新の状態に保つために維持するのに最適なセクションです。
手順7: パッケージの構造を検証する
パッケージ検証スクリプトは、パッケージ構造を検証し、認定に適した形式でパッケージを生成するのに役立ちます。 このリンクからパッケージ検証スクリプトをダウンロードしてください: ConnectorPackageValidator.ps1。
スクリプトを実行するには、次の手順に従います。
Windows PowerShellを管理モードで開きます。
cd /
と入力してドライブの場所を変更します。次の例では
C:\
を使用します。パッケージ検証スクリプトをダウンロードしたパスに移動します。
たとえば、パスが
C:\Users\user01\Downloads
の場合、cd .\Users\user01\Downloads\
と入力します。次のコマンドを入力して、実行ポリシーを無制限に設定します。
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
このコマンドにより、PowerShellを制限なく実行できるようになります。
入力内容を確認するには、 Y( はい)と入力します。
以下の手順で ConnectorPackageValidator.ps1 を実行します。
- コネクタ パッケージを含むzipファイルのパスを入力します。
- 追従する を有効にするかどうかを指定します。
次の例に示すように、最初の引数はパッケージを含む有効なzipファイル パスです。 2番目の引数は、
yes
/y
AIプラグイン が有効であることを示すか、no
/n
無効であることを示します。パッケージ構造が正しい場合は、次の成功メッセージが表示されます。
パッケージ構造に問題がある場合、スクリプトはパッケージ構造の欠陥を検出して強調表示することで、問題の詳細を提供します。
ステップ 8: 認証のためにコネクタまたはプラグインを提出する
提出プロセスでは、コネクタまたはプラグインを Microsoft Power Platform コネクタ リポジトリにオープンソース化します。
(独立系発行者の場合) パッケージをマイクロソフトに提出して認定を受けるには、独立系発行者の認定プロセス に記載の手順に従ってください。
(認証済み発行者の場合) パートナー センターへの認定のためにマイクロソフトにパッケージを提出するには、認証済み発行者の認定プロセスに記載の指示に従ってください。
確認済みの発行元で、カスタム コードを使用している場合は、script.csx ファイルを送信する必要があります。
コネクタに OAuth がある場合は、パートナー センター でクライアント ID とシークレットを指定します。 また、アプリを更新するには、コネクタ送信要求から APIname を取得します。
提出の一環として、マイクロソフトはコネクタまたはプラグインを認証します。 Swagger エラーのトラブルシューティングが必要な場合は、Swagger 検証エラーの修正 を参照してください。
送信前の確認事項
コネクタを提出してマイクロソフトの認定を受けるに進む前に、以下を確認します:
コネクタまたはプラグインは、ステップ 2: コネクタの送信要件を満たす、ステップ 5: プラグインの送信要件を満たす、および ステップ 4: メタデータを追加するで設定されたすべての標準を満たしています。
カスタム コネクタをテストして、操作が期待どおりに機能することを確認 (操作ごとに少なくとも 10 回の呼び出しが成功すること)。
カスタム コネクタ ウィザードの テスト セクション に、ランタイム エラーやスキーマ検証エラーが表示されない。
ヒント