[この記事はプレリリース ドキュメントであり、変更されることがあります。]
Dataverse 環境またはソリューションをGitHubに接続するには、GitHub アプリを作成し、アプリの秘密キーをAzure Key Vaultに格納し、Power Platform GitHub接続を作成してから、ソリューションのソース管理エクスペリエンスから接続します。
ソリューションには、Power Apps、Power Automate、Power Pages、Copilot Studioからアクセスできます。
Important
- これはプレビュー機能です。
- プレビュー機能は運用環境での使用を想定しておらず、機能が制限される可能性があります。 これらの機能は正式リリース前に利用できるため、お客様は早期にアクセスしてフィードバックを提供できます。
前提条件
- Dataverse Git 統合は、 マネージド環境の機能です。 開発環境とターゲット環境は、マネージド環境として有効にする必要があります。
- 組織の管理者アクセス権を持つGitHub アカウント。
- Key Vault リソースを作成するアクセス許可を持つAzure サブスクリプション。 Key Vaultは、Dataverse 環境と同じMicrosoft Entra テナントに存在する必要があります。
- システム管理者のセキュリティ ロールを持つ Dataverse 環境が必要です。
- ソース管理に接続したいカスタム アンマネージド ソリューション。 まだ作成していない場合は作成します。
GitHub アプリを作成する
ブラウザーでGitHubを開きます。 右上隅にあるプロファイル画像を選択し、[設定]>Developer 設定に移動します。
[ 新しい GitHub アプリ] を選択します。
GitHubアプリの登録ページに直接移動して、新しいGitHubアプリを作成することもできます。
[アプリGitHub作成] ページで、[GitHub アプリ名] フィールドにGitHub アプリの一意の名前を入力します。 たとえば、「
MyOrgGitHubIntegrationApp」と入力します。[ホームページ URL] フィールドに入力します。 組織の Web サイトまたは GitHub リポジトリの URL を使用できます。
Webhook 通知が必要ない場合は、[Webhook] セクションの [アクティブ] チェック ボックスをオフにします。
リポジトリのアクセス許可を構成する
[ アクセス許可 ] セクションまで下にスクロールします。
[ リポジトリのアクセス許可] を展開し、[ コンテンツ] を [読み取りと書き込み] に設定します。 このアクセス許可により、アプリはソース管理の統合のためにリポジトリコンテンツの読み取りと書き込みを行います。
下にスクロールし、[アプリGitHub作成] を選択します。
[GitHub アプリの設定] ページで、クライアント ID をコピーします。 この値は、Dataverse にアプリ構成を登録するときに必要です。 クライアント ID は、
Iv23liBWoH6sf7xGrRe9などの形式を使用します。GitHub アプリ設定ページから秘密キーを生成してダウンロードします。 後の手順で秘密キーをAzure Key Vaultに格納します。
ターゲット リポジトリに GitHub アプリをインストールする
GitHubアプリ設定ページで、左側のウィンドウで [アプリのインストール] を選択します。
ターゲット リポジトリを所有するアカウントまたは組織の横にある [ インストール ] を選択します。
ターゲット リポジトリがGitHub組織に属している場合は、組織管理者がアプリのインストールを承認する必要がある場合があります。 管理者は、要求を確認して承認するための通知を受け取ります。
アプリに [すべてのリポジトリ ] へのアクセス権を付与するか 、[リポジトリのみ] を選択するかを選択します。 セキュリティのベスト プラクティスとして、ソース管理の統合に必要な特定のリポジトリのみを選択します。
[インストール] を選択してインストールを完了します。
Azure Key Vault を構成する
Azure ポータルを開き、Key Vault リソースに移動します。 お持ちでない場合は、最初に新しいキー コンテナーを作成します。
Key Vault ペインで、左側のナビゲーションで [キー] を選択します。
[Generate/Import](生成/インポート) を選択します。
[ オプション] ドロップダウンで、[ インポート] を選択します。
キーの名前 (
demoGitHubKeyなど) を入力し、GitHubからダウンロードした.pemファイルをアップロードします。[ 作成] を選択してキーをインポートします。
GitHub接続を作成する
個人用GitHub アカウントを使用して OAuth 接続を作成します。 この接続により、セットアップ中にターゲット リポジトリへの管理者アクセス権があることを確認します。 実行時に、GitHub アプリはGitHubとの通信を処理するため、個々のユーザーがGitHub接続を作成する必要はありません。
Note
Dataverse 環境に対して仮想ネットワーク (VNET) のサポートを有効にした場合、GitHub接続を使用することはできません。 代わりに、GitHub個人用アクセス トークン (PAT) を使用してください。
Power Apps メーカー ポータルに移動し、[接続] を選択します。
[ 新しい接続] を選択します。
GitHub標準コネクタを検索して選択します。
GitHub アカウントを使用してサインインし、要求されたアクセス権を付与します。
サインインに使用するGitHub アカウントには、ターゲット リポジトリへの管理者アクセス権が必要です。 OAuth 接続によってアクセス許可が検証されます。
接続を作成したら、接続を開きます。 ブラウザーのアドレス バーの URL からの接続 ID をメモします。 この値は、Git 接続を構成するときに必要です。
次の例に示すように、接続の詳細を表示すると、接続 ID が URL に表示されます。
https://make.powerapps.com/.../connections/shared_github/{connectionId}/details
組織の OAuth アプリ アクセスを承認する
GitHub組織でMicrosoft以外のアプリケーション アクセス制限が有効になっている場合、組織の管理者は、Power Apps GitHub コネクタで使用される OAuth アプリを承認する必要があります。 > サードパーティ アクセス で組織の設定を確認してください。
詳細については、「 組織での OAuth アプリのアクセス制限の有効化 と OAuth アプリの承認」を参照してください。
ソリューションからGitHubに接続する
新しいアンマネージド ソリューションを作成するか、既存のカスタム アンマネージド ソリューションを選択します。
[ ソース管理 ] ページで、[ 接続] を選択します。
[Git への接続] ウィンドウで、GitHubを選択します。
GitHub組織、リポジトリ、ブランチ、Git フォルダー、および前のセットアップ手順の接続情報を入力します。
GitHub アプリ構成を作成し、前のセットアップ手順のGitHubアプリ クライアント ID、Key Vault URI、およびキー名を入力します。
Key Vault のロールベースのアクセス制御 (RBAC) を構成する
Azure portal で、キー コンテナー リソースに移動します。
[アクセス制御 (IAM)]、[追加] の順に選択し、[ロールの割り当ての追加] を選択します。
Key Vault Crypto User ロールを検索して選択します。
[メンバーの選択] を選択し、GitHub アプリ構成に関連付けられている Dataverse マネージド ID を検索します。 マネージド ID 名は、次の形式を使用します。
PPMI-githubappconfigmanagedidentity-{GUID}マネージド ID を選択し、[ 確認と割り当て] を選択します。
マネージド ID が表示されない場合は、Dataverse 環境の >システム ジョブ に移動し、GitHub アプリ構成の作成に関連するエラーがないか確認してください。 登録は非同期的に作成され、表示されるまでに少し時間がかかる場合があります。
ロールの割り当てが完了すると、Dataverse マネージド ID には、このKey VaultでGitHub キーを使用するアクセス許可が付与されます。
接続を確認し、コミットをテストする
[ ソリューション ] 領域からアンマネージド ソリューションを開きます。 まだお持ちでない場合は、最初に新しいソリューションを作成します。 ソース管理の統合は、アンマネージド ソリューションでのみ機能します。
[ソース管理] ページに移動し、[Git 接続] を選択します。 接続にプロバイダーとしてGitHubが表示され、組織、リポジトリ、ブランチ、フォルダーの詳細が正しいことを確認します。
エンド ツー エンド フローを確認するには、[コミット] を選択して、接続されたGitHub リポジトリにソリューションをプッシュします。
コミットが成功した場合、統合は動作可能です。
コードを使用して接続する
Dataverse Web API または PowerShell を使用して、ユーザー インターフェイスを使用するのではなく、プログラムでGitHubに接続できます。 詳細については、「GitHub リポジトリへの接続」を参照してください。