SharePoint 用 Brightcove M365 Connector - インストール ガイド
1. このガイドについて
このガイドでは、Microsoft 365 テナントに Brightcove M365 Connector for SharePoint をインストールおよび構成する手順を、管理者向けに説明します。
このコネクタは、次の 2 つのデプロイ可能なコンポーネントで構成されています。
- SharePoint Framework (SPFx) アプリ:モダン SharePoint ページに Brightcove の動画、プレイリスト、 エクスペリエンスを埋め込むための Web パーツと、コネクタの構成およびコンテンツ管理用にプロビジョニングされるサイト ページを 提供する、テナント スコープのソリューションです。
- Proxy API (Azure Function App):Brightcove API 資格情報を Azure Key Vault に保存し、 SharePoint サイト インスタンスと Brightcove の間で認証済みリクエストを仲介する、安全なサーバー側 API レイヤーです。 これにより、SharePoint サイト内で Brightcove API 資格情報を公開する必要がなくなります。
このガイドの対象者
- SharePoint 管理者:テナントのアプリ カタログにアクセスでき、SPFx パッケージのアップロードと API アクセス許可の承認を行えます。
- Azure 管理者:リソース グループ、Function App、Key Vault、および Microsoft Entra ID の アプリの登録を作成できます。
- Brightcove 管理者:Video Cloud Studio で API 認証資格情報を作成できます。
パッケージに含まれるもの
| ファイル | 説明 |
|---|---|
brightcove-video-connector.sppkg |
SharePoint のテナントのアプリ カタログにアップロードする、コンパイル済みの SPFx パッケージです。 |
functionapp.zip |
Function App にデプロイする、コンパイル済みの Azure Function (Proxy API) です。 |
| このガイド | インストールと構成の手順です。 |
| ユーザー ガイド | コネクタの Web パーツの使用方法を説明する別のドキュメントです。 |
リリースのダウンロードには常に両方のコンポーネントが含まれます。SharePoint パッケージのみを変更するメンテナンス リリースでは、functionapp.zip を再デプロイする必要はありません。どのコンポーネントが変更されたかは、はじめに ページのリリース ノートに記載されています。アップグレード手順については、セクション 5.5 を参照してください。
作業の概要
- Video Cloud Studio で Brightcove API 資格情報を作成します。
- Azure リソース(リソース グループ、Key Vault、Function App)をプロビジョニングし、Microsoft Entra ID で アプリの登録を作成します。
- コンパイル済みの Proxy API (
functionapp.zip) を Function App にデプロイします。 - SPFx パッケージ (
brightcove-video-connector.sppkg) を SharePoint のテナントのアプリ カタログにアップロードし、 有効にして、その API アクセス許可を承認します。 - SharePoint サイトにアプリを追加します。
- Brightcove Connector Settings ページ(プロキシ接続と Brightcove アカウント資格情報)を構成します。
- コンテンツ管理ページにアクセスし、別途 Brightcove Web パーツをページに追加して、インストールを確認します。
このガイドで扱わない内容
- Video Cloud Studio での Brightcove プレーヤーやエクスペリエンスの作成。
- UI で公開されている設定を超えた Web パーツのカスタマイズ。
- Azure リソースの監視、ロギング、アクセス ポリシー、コスト管理の構成
2. 前提条件
2.1 アカウントとロール
- Brightcove Video Cloud アカウント:API 認証資格情報を作成するための管理者権限が必要です。
- Microsoft 365 テナント:SharePoint Online が利用できること。
- Azure サブスクリプション:同じ Microsoft Entra ID ディレクトリ内にあること(マルチテナント構成を 使用する場合は別のディレクトリでも可。セクション 4.5 を参照)。
- Microsoft Entra ID のアクセス許可:アプリの登録を作成および管理し、管理者の同意を付与できること。 推奨ロール:Application Administrator または Cloud Application Administrator。
2.2 役割分担
| ロール | 担当内容 |
|---|---|
| Brightcove 管理者 | Video Cloud Studio で API 資格情報を作成します。 |
| Azure 管理者 | リソース グループ、Function App、Key Vault、アプリの登録を作成し、認証と CORS を構成し、 Proxy API をデプロイします。 |
| SharePoint 管理者 | アプリ カタログを管理し、SPFx パッケージをアップロードしてデプロイし、API アクセス許可を承認します。 |
| サイト所有者 / 編集者 | サイトにアプリを追加し、コネクタ設定を構成し、Brightcove Web パーツをページに追加します。 |
2.3 環境の準備
- SharePoint のテナントのアプリ カタログが存在すること(または作成する権限があること)。
- コネクタを使用するモダン SharePoint サイトがあること。
- Function App をホストするための Azure リージョンを選択していること(ユーザーに近いリージョンを選択してください)。
2.4 Brightcove コンテンツの準備
- Brightcove Video Cloud アカウントに、公開済みの動画、プレイリスト、または In-Page Experience (IPX) が 1 つ以上あること。
- SharePoint で公開する予定の各 Brightcove アカウントについて API 資格情報が作成されていること(セクション 3 を参照)。 各 API 資格情報は、単一の Brightcove アカウントに関連付ける必要があります。
2.5 決定事項(開始前に確認しておくこと)
- Azure リソース グループの名前とリージョン。
- Function App の名前(グローバルに一意である必要があり、URL の一部になります)。
- Key Vault の名前(グローバルに一意である必要があります)。
- テナント トポロジ:Azure サブスクリプションと SharePoint Online は同一の Entra ID テナントにありますか、それとも異なるテナントにありますか? これはアプリの登録の 構成方法に影響します(セクション 4.5 を参照)。
- SharePoint の作成者が利用できるようにする Brightcove アカウント(および対応する API 資格情報)。
3. Brightcove API 資格情報の作成
Azure や SharePoint をセットアップする前に、コネクタが Brightcove Video Cloud との通信に使用する API 資格情報を 作成します。
3.1 API Authentication への移動
Video Cloud Studio で、Admin → API Authentication に移動します。

3.2 新しいアプリケーションの登録
Register New Application をクリックし、次のように構成します。
- Name:わかりやすい名前(例:
sp-connector-production)。 - Select Accounts for Authorization:この資格情報を使用する単一の Brightcove アカウントを選択します。
3.3 必要な API スコープ
次のアクセス許可を選択します。
CMS
- Notifications ✅
- Playlist Read ✅
- Playlist Read/Write ✅
- Video Read ✅
- Video Read/Write ✅
Dynamic Ingest
- Create ✅
- Push Files ✅
Gallery Experiences
- Read ✅
- Read/Write ✅
Ingestion Profiles
- Configuration Read ✅
- Read ✅
Players
- Read ✅
- Read/Write ✅

3.4 保存と資格情報の記録
Save をクリックします。次の値を記録してください。セクション 6 で必要になります。
- Account ID(数値)
- Client ID
- Client Secret
4. Azure のセットアップ(初回のみ)
このセクションでは、Proxy API に必要な Azure リソースのプロビジョニングと構成について、Azure 管理者向けに説明します。 これらの手順を完了するには、Azure の管理者権限が必要です。
推奨される命名規則:
${resourceType}-bcvc-${companyName}-${environment}-${region}
例:rg-bcvc-acme-prd-eus(リソース グループ)、kv-bcvc-acme-prd-eus (Key Vault)、
fa-bcvc-acme-prd-eus (Function App)。
4.1 リソース グループの作成
場所:Azure Portal → Resource Groups → Create
- Name:命名規則に従います(例:
rg-bcvc-acme-prd-eus)。 - Region:ユーザーに最も近いリージョンを選択します。
- Review + create → Create をクリックします。

4.2 Key Vault のプロビジョニング
場所:Azure Portal → Key Vaults → Create
構成:
- Resource group:4.1 で作成したリソース グループを選択します。
- Key vault name:命名規則に従います(例:
kv-bcvc-acme-prd-eus)。 - Region:ユーザーに最も近いリージョンを選択します。
- Pricing tier:Standard。
- Days to retain deleted vaults: 90
- Purge protection: Disable
- Access configuration → Permission model:Azure role-based access control (RBAC)。
- Networking → Enable public access:チェックをオンにします。
- Networking → Allow public access from:All networks。
- Review + create → Create をクリックします。




4.3 Function App のプロビジョニング
場所:Azure Portal → Function App → Create
構成:
- Hosting plan:Flex Consumption
- Resource group:4.1 で作成したリソース グループを選択します。
- Function app name:命名規則に従います(例:
fa-bcvc-acme-prd-eus)。 - Secure unique default hostname: On
- Region:ユーザーに最も近いリージョンを選択します。
- Runtime stack:Node.js
- Version:22 LTS
- Instance size:2048 MB(本番環境で推奨)。
- Zone redundancy: Disabled
- Blob service diagnostic settings: Configure later
- Enable public access: On
- Enable virtual network integration: Off
- Backend providers: Bring your own: Azure Storage
- Continuous deployment: Disable
- Basic authentication: Disable





Application Insights(オプション)
Application Insights は、詳細なロギング、リクエストのトレース、パフォーマンス監視を提供します。ただし、コストと 複雑さが増します。
Application Insights を有効にする場合:
- Function App の作成時に有効にするか、後から Settings → Application Insights → Turn on Application Insights で追加できます。
- Log Analytics ワークスペースが自動的に作成されます。
- ログの量によっては継続的なコストが発生する可能性があることに注意してください。
Application Insights を有効にしない場合でも、次の方法でリアルタイムのログを表示できます。
- Function App → Monitoring → Log stream(コンソール出力のライブ テール)
- Function App → Functions → [function name] → Monitor(呼び出し履歴。Application Insights が 必要)
詳細なリクエスト レベルのトレースが必要な本番環境(断続的な認証エラーの診断など)では、Application Insights の使用を お勧めします。
診断設定(Application Insights の代替)
完全な Application Insights スイートを使用せずに、長期的な監査やクエリのためにログを永続化したい場合は、 診断設定を使用してログを Log Analytics ワークスペースに送信できます。
診断設定を使用する理由
- 集中ロギング:複数の Function App のログを 1 つのワークスペースに集約します。
- KQL によるクエリ:Kusto クエリ言語 (KQL) を使用して、ログのフィルター、分析、ダッシュボードの 作成を行います。
- 低いオーバーヘッド:Application Insights の高度なインストルメンテーションのオーバーヘッドなしで、 標準のプラットフォーム ログとアプリケーション ログを取得します。
診断設定を有効にするには:
- Function App → Monitoring → Diagnostic settings に移動します。
- + Add diagnostic setting をクリックします。
- Logs: Function Application Logs のチェックボックスをオンにします(これにより
console.logとcontext.logの出力が取得されます)。 - Destination details: Send to Log Analytics workspace をオンにします。
- Subscription と既存の Log Analytics Workspace を選択します。
- Save をクリックします。
ログの表示:
- 有効にしたら、Function App → Monitoring → Logs に移動します。
- 設定を保存した後、最初のログが表示されるまで 5~15 分かかる場合があります。
FunctionAppLogs | order by TimeGenerated descのような簡単なクエリを実行すると、最新の Node.js の 出力を確認できます。
4.4 Function App のマネージド ID の作成と Key Vault ロールの割り当て
Function App には、Key Vault のシークレットを読み書きする権限を持つマネージド ID が必要です。
マネージド ID を有効にする:
- Function App → Settings → Identity に移動します。
- System assigned タブで、Status を On に切り替えます。
- Save をクリックし、次に Yes をクリックして、システム割り当てマネージド ID を有効にします。
Key Vault ロールを割り当てる:
- 同じ Identity ページで、Azure role assignments をクリックします。
- Azure role assignments をクリックします。
- Add role assignment (Preview) をクリックします。
- 次のように構成します:
- Scope:Key Vault
- Subscription:お使いのサブスクリプション
- Resource:4.2 で作成した Key Vault
- Role:Key Vault Secrets Officer
- Save をクリックします。


4.5 アプリの登録の作成
Proxy API は、SharePoint からのリクエストの認証に Microsoft Entra ID を使用します。SPFx アプリがアクセス トークンを 取得するために使用するアプリの登録を作成する必要があります。
場所:Azure Portal → App registrations → New registration
構成:
- Name:
Brightcove M365 Connector
- Supported account types:テナント トポロジに基づいて選択します。
| シナリオ | 設定 |
|---|---|
| SharePoint と Azure が同一の Entra ID テナントにある | Single tenant only (Default Directory) |
| SharePoint と Azure が異なる Entra ID テナントにある | Multiple Entra ID tenants → 次に Allow all tenants または Allow only certain tenants を選択 |
- Redirect URI:プラットフォームとして Web を選択し、
https://<your-tenant>.sharepoint.com/を入力します(末尾のスラッシュを含めます)。このリダイレクト URI は、 SPFx の委任認証フローに必要です。
Register をクリックします。
アプリケーション (クライアント) ID を記録します:セクション 4.6、4.8、5、6 で必要になります。


4.6 API スコープの公開
SPFx アプリには、サインインしているユーザーの代理として Proxy API を呼び出すためのアクセス許可が必要です。アプリの登録で API スコープを公開する必要があります。
場所:アプリの登録 → Expose an API
- アプリケーション ID の URI を設定する:「Application ID URI」の横にある Set をクリックします。
既定値 (
api://<application-client-id>) をそのまま使用するか、カスタム URI を設定します。Save をクリックします。 - スコープを追加する:
- Add a scope をクリックします。
- Scope name:
access_as_user - Who can consent:Admins only
- Admin consent display name:Access Brightcove M365 Connector Proxy API
- Admin consent description:Allow the Brightcove M365 Connector (SharePoint/Teams) to call the Brightcove Proxy API on behalf of signed-in users.
- User consent display name:Access Brightcove M365 Connector Proxy API
- User consent description:Allow the Brightcove M365 Connector to call the Brightcove Proxy API on your behalf.
- State:Enabled
- Add scope をクリックします。
- SharePoint Online を事前承認する:この手順により、SharePoint はユーザーごとの同意ポップアップを
必要とせずに、Proxy API のトークンをサイレントに取得できるようになります。
- Authorized client applications で、Add a client application をクリックします。
- Client ID:
00000003-0000-0ff1-ce00-000000000000(これは SharePoint Online / Office 365 の 既知のアプリケーション ID です)。 access_as_userスコープをオンにします。- Add application をクリックします。



4.7 API アクセス許可の構成
場所:アプリの登録 → API permissions
既定の登録には Microsoft Graph → User.Read(委任)が含まれています。これで十分であり、 追加のアクセス許可は必要ありません。

4.8 Function App の CORS の構成
場所:Function App → API → CORS
SharePoint Online のオリジンを許可されたオリジンとして追加し、保存をクリックします。
https://<your-tenant>.sharepoint.com

4.9 Function App の環境変数の構成
場所:Function App → Settings → Environment Variables → App settings
次の環境変数を追加します。
| 名前 | 値 | 説明 |
|---|---|---|
KEY_VAULT_URL |
https://<your-vault-name>.vault.azure.net/ |
必須。4.2 で作成した Key Vault の完全な URL。 |
Apply をクリックし、確認して保存します。

4.10 Proxy API の Function App へのデプロイ
次のいずれかの方法で、functionapp.zip ファイルを Function App にデプロイします。
オプション A (Azure CLI):
az functionapp deployment source config-zip \
-g <resource-group-name> \
-n <function-app-name> \
--src functionapp.zip
オプション B (Azure Portal):
Function App → Deployment → Deployment Center に移動し、Source: Publish files (new) を使用して
functionapp.zip をアップロードし、保存をクリックします。
デプロイとその状態は、Logs タブから監視できます。
デプロイを確認する:
Overview ブレードで、Functions タブに bcProxy と health が表示され、それぞれの状態が 有効になっていることを確認します。
次に、ブラウザーを開いて以下に移動します。
https://<your-function-app-name>.azurewebsites.net/api/health
次のような JSON レスポンスが表示されます。
{
"ok": true,
"name": "brightcove-proxy-api",
"version": "1.0.0",
"time": "2026-03-24T..."
}


5. SharePoint へのデプロイ
このセクションでは、SPFx パッケージをテナントにインストールし、パッケージが要求する API アクセス許可を承認します。
5.1 テナントのアプリ カタログの確認と信頼できるスクリプト ソースの追加
場所:SharePoint Admin Center → More features → Apps → Open → App Catalog
テナントにアプリ カタログがない場合は作成します(これは 1 回限りのセットアップです)。アプリ カタログの管理に関する Microsoft のドキュメントを参照してください。
場所: SharePoint Admin Center → Advanced → Script Sources
テナントで Content Security Policy (CSP) の適用が有効になっている場合は、次の信頼できるスクリプト ソースを追加します。Add source をクリックし、各 Source expression を順に入力します。
https://players.brightcove.net/:Experience Web パーツの JavaScript 埋め込みタイプ、および Embed Builder エクスペリエンスに必要です。閲覧者が Embed Builder エクスペリエンス内の動画をクリックすると、このオリジンからポップアップ プレーヤーが読み込まれます。CSP が適用されているテナントでは、このソースを許可していても JavaScript 埋め込みタイプは表示されないことに注意してください(ユーザー ガイドのセクション 5.4 を参照)。https://*.ipx.bcvp0rtal.com/:Embed Builder エクスペリエンスに必要です。エクスペリエンスの iframe とそのヘルパー スクリプト (in-page-manager.min.js) は、このオリジンでホストされています。https://cdn.jsdelivr.net/:縦型動画プレイリスト テンプレートを使用する Embed Builder エクスペリエンスに必要です。このテンプレートは、モバイル デバイスでこの CDN からボトム シート コンポーネントを読み込みます。
必要なエントリは、Experience Web パーツの使い方によって異なります。Video Web パーツと Playlist Web パーツはネイティブにレンダリングされるため、信頼できるスクリプト ソースは必要ありません。
| 利用形態 | 必要な信頼できるスクリプト ソース |
|---|---|
| Video Web パーツと Playlist Web パーツ | なし |
| 従来の In-Page Experience、iFrame 埋め込みタイプ | なし |
| 従来の In-Page Experience、JavaScript 埋め込みタイプ(CSP が適用されているテナントでは表示されません) | https://players.brightcove.net/ |
| Embed Builder エクスペリエンス(Embed Experiences タブ) | 3 つすべて:https://*.ipx.bcvp0rtal.com/、https://players.brightcove.net/、https://cdn.jsdelivr.net/ |

5.2 SPFx パッケージのアップロードとデプロイ
場所:アプリ カタログ → Apps for SharePoint → Upload
brightcove-video-connector.sppkgファイルをアップロードします。- デプロイ ダイアログで、次の操作を行います:
- Enable this app をクリックします。
- Go to API access page をクリックして、保留中のリクエストを承認します。

5.3 API アクセス許可の承認(初回のみ)
SPFx パッケージは、access_as_user スコープを使用して Proxy API を呼び出すための委任されたアクセス許可を
要求します。
場所:SharePoint Admin Center → Advanced → API access
- Brightcove Proxy API に対する保留中のリクエストが表示されます(名前はセクション 4.5 で設定したアプリの登録名と 一致します)。
- 保留中のリクエストを選択します。
- Approve をクリックします。
- 管理者の同意のポップアップが表示されます。同意フローを完了します。


背後で行われること:API アクセス許可を承認すると、SharePoint は SharePoint テナントの Entra ID ディレクトリに Enterprise Application(サービス プリンシパル)を作成します。このエンタープライズ アプリは、 SP テナント内で Proxy API のアプリの登録を表すもので、委任トークン フローが機能するために必要です。
5.3.1 Enterprise Application が作成されたことの確認
承認後、Enterprise Application が存在することを確認します。
- Microsoft Entra ID(Azure テナントと異なる場合は SharePoint テナント側)→ Enterprise applications に移動します。
- アプリの登録名(例:
Brightcove M365 Connector)を検索します。 - アプリの登録と同じアプリケーション ID を持つエンタープライズ アプリが一覧に表示されます。

5.4 サイトへのアプリの追加
コネクタを使用する SharePoint サイトで、次の操作を行います。
- Settings → Add an app に移動します。
- Brightcove M365 Connector アプリを見つけて選択します
- Add をクリックします。
アプリがサイトに追加されると、次のものが自動的にプロビジョニングされます。
- サイト ページ:
- BrightcoveConnectorSettings.aspx:コネクタ設定の管理ページ。
- BrightcoveContentManagement.aspx:動画のアップロードと編集を行うコンテンツ管理ページ。
- サイト コンテンツ:
- BrightcoveConfiguration リスト:プロキシ接続設定を保存する非表示の SharePoint リスト。



5.5 新しいバージョンへのアップグレード
各リリースには、どのコンポーネントが変更されたかが記載されています。バージョン 1.2.0.0 を含む多くのリリースでは、SharePoint パッケージのみが変更されます。Proxy API に機能上の変更はなく、functionapp.zip を
再デプロイする必要はありません。開始する前に、はじめに ページのリリース ノートを
確認してください。
SharePoint パッケージを更新する:
- テナントのアプリ カタログで Apps for SharePoint に移動し、新しい
brightcove-video-connector.sppkgをアップロードします。既存のファイルを置き換えるかどうかを SharePoint が 確認したら、Replace を選択します。 - デプロイ ダイアログで Enable this app をクリックします。セクション 5.3 で承認した API アクセス許可は そのまま維持されます。
- コネクタがインストールされている各サイトで、Settings → Site contents に移動します。アプリ カタログに 新しいバージョンがある場合、SharePoint は Brightcove M365 Connector アプリにフラグを表示します。 アプリの詳細(About)を開き、Get it を選択して、サイトを新しいバージョンに更新します。 アプリを更新すると、2 つのコネクタ ページも再プロビジョニングされます(セクション 5.4)。
- Brightcove Web パーツを使用しているページを再読み込みし、コンテンツがレンダリングされることを確認します。既存の Web パーツの 構成、コネクタ設定、アカウント資格情報は、アップグレード中も保持されます。
クロステナント構成:初回インストール時に AppManifest.xml を変更した場合
(このセクションの冒頭の注記を参照)、アップグレードではその手順を繰り返す必要はありません。提供された新しいパッケージを
そのままアップロードしてください。
Proxy API の更新は、リリース ノートに Proxy API が変更されたと記載されている場合のみ行います。 セクション 4.10 のいずれかの方法で既存の Function App に zip を再デプロイし、Connector Settings ページを開いて Test Connection をクリックします。環境変数、マネージド ID、Key Vault のシークレットは、再デプロイの 影響を受けません。
6. SharePoint での初期構成
Brightcove Connector Settings ページを使用して、SharePoint を Proxy API に接続し、Brightcove アカウントの資格情報を 登録します。
6.1 Connector Settings への移動
場所:サイト → Site Pages → BrightcoveConnectorSettings.aspx
このページはサイトの Pages ライブラリにあります。セクション 5.4 でアプリをサイトに追加したときに自動的に 作成されました。

6.2 プロキシ接続の構成
Proxy Configuration タブで、次を入力します。
| フィールド | 値 |
|---|---|
| Proxy API Base URL | https://<your-function-app-name>.azurewebsites.net/api/proxy(セクション 4.10 の
既定のドメイン) |
| Proxy API Resource | api://<application-client-id>(セクション 4.6 のアプリケーション ID の URI) |
Save をクリックし、次に Test Connection をクリックして接続を確認します。保存済みの 設定の読み込み中、いずれかのフィールドが空の間、およびいずれかのフィールドに検証エラーが表示されている間は、 両方のボタンが無効のままになります。
このテストでは、次の 2 つのチェックが実行されます。
- ヘルス チェック:
GET /api/health(公開エンドポイント)を呼び出して、Function App に 到達できることを確認します。 - 認証付き ping:
GET /api/proxy/ping(保護されたエンドポイント)を呼び出して、 トークンの取得と JWT の検証がエンドツーエンドで機能していることを確認します。
両方のチェックに合格すれば、プロキシ接続は正しく構成されています。

6.3 Brightcove アカウントの追加
Accounts タブに切り替えます。
- Add をクリックします。
- セクション 3 で記録した資格情報を入力します:
- Name:このアカウントのわかりやすいラベル(英数字とハイフンのみ。4~64 文字。先頭と末尾は 英字または数字である必要があります)。
- Account ID:Brightcove の数値のアカウント ID。
- Client ID:Brightcove API のクライアント ID。
- Client Secret:Brightcove API のクライアント シークレット。
- Test and Save をクリックします。
このサイトで利用できるようにする Brightcove アカウントごとに繰り返します。


6.4 検証
プロキシ設定を保存し、Brightcove アカウントを 1 つ以上追加したら、次の操作を行います。
- Site Pages → BrightcoveContentManagement.aspx に移動します。
- Brightcove アカウントのドロップダウンに、構成したアカウントが表示されることを確認します。
- アカウントが表示され、ページがエラーなく読み込まれれば、インストールは完了です。

7. Web パーツの確認
コネクタには、ページの編集時に SharePoint の Web パーツ ツールボックスに表示される 3 つの作成用 Web パーツが 含まれています。
7.1 テスト ページへの Brightcove Web パーツの追加
- SharePoint ページに移動し、Edit をクリックします。
- + ボタンをクリックして Web パーツを追加します。
- ツールボックスで Brightcove を検索します。
- 次の 3 つの Web パーツが表示されます。
- Brightcove Video:単一の動画を埋め込みます。
- Brightcove Playlist:プレイリストを埋め込みます。
- Brightcove Experience:In-Page Experience (IPX) を埋め込みます。
- いずれかの Web パーツをページに追加します。
- Web パーツのプロパティ ウィンドウを開き、ドロップダウンから Brightcove アカウントを選択します。
- Brightcove ライブラリからコンテンツを参照して選択します。
- Publish(または Republish)をクリックしてページを保存します。
Web パーツがツールボックスに表示され、Brightcove アカウントからコンテンツが読み込まれ、公開されたページに埋め込み プレーヤーがレンダリングされれば、インストールは完全に確認されています。



8. テナント トポロジのリファレンス
このセクションでは、同一テナント構成とクロステナント構成の違いについて詳しく説明します。
8.1 同一テナント(最も一般的)
このシナリオでは、Azure サブスクリプション(Function App と Key Vault をホスト)と SharePoint Online の両方が 同一の Microsoft Entra ID ディレクトリに属しています。
- アプリの登録:Single tenant only (Default Directory)
- トークンの発行者:SharePoint ユーザーのトークンには、アプリの登録と同じテナント ID に一致する
issクレームが 含まれます。 - これは最も単純な構成であり、追加のテナント許可リストは必要ありません。
8.2 クロステナント
このシナリオでは、Azure サブスクリプションが SharePoint Online テナントとは異なる Entra ID ディレクトリに 属しています。これは次のような場合に発生します。
- 顧客の Azure インフラストラクチャが、独自のディレクトリを持つ別のチームや子会社によって管理されている。
- Brightcove パートナーが複数の顧客に代わって Proxy API をホストしている。
構成の違い:
- アプリの登録:Multiple Entra ID tenants → Allow all tenants(またはより厳密に 制御する場合は Allow only certain tenants)。
- Proxy API は Microsoft の共通 JWKS エンドポイントを使用してトークンを検証します。このエンドポイントは、任意の
Entra テナントが発行したトークンを受け入れます。テナントのスコープ設定はアプリケーション レベルで適用されます。
プロキシは JWT から
tidクレームを抽出し、それを使用して Key Vault 内の Brightcove 資格情報の検索範囲を 限定します。 - SharePoint 管理者は、引き続き自身のテナントの SharePoint Admin Center で API アクセス許可を承認する必要があります (セクション 5.3)。アプリの登録がマルチテナント アクセスを許可していれば、この同意フローはテナント間で機能します。
9. トラブルシューティング
プロキシのヘルス チェックが失敗する
- Azure Portal で Function App が実行中であることを確認します(Overview ページで状態を確認)。
- URL が正しいことを確認します:
https://<function-app-name>.azurewebsites.net/api/health。 - ブラウザーでヘルス URL を直接開き、DNS または TLS の問題がないか確認します。
認証付き ping が失敗する(401 または 403)
- 401 Unauthorized:トークンが受け入れられませんでした。次を確認してください。
- Function App の環境変数の
JWT_AUDIENCEが、アプリの登録のアプリケーション ID の URI と 一致していること。 - SharePoint Admin Center で API アクセス許可が承認されていること(セクション 5.3)。
- CORS が正しい SharePoint のオリジン URL で構成されていること。
- アプリの登録でリダイレクト URI
https://<tenant>.sharepoint.com/が構成されていること (セクション 4.5)。 - SharePoint テナントの Entra ID に Enterprise Application が存在すること(セクション 5.3.1)。
- Function App の環境変数の
- 403 Forbidden:トークンは有効でしたが、必要なスコープがありません。次を確認してください。
access_as_userスコープが、アプリの登録の Expose an API で 定義されていること。- SharePoint Online (
00000003-0000-0ff1-ce00-000000000000) がaccess_as_userスコープの 事前承認済みアプリケーションとして登録されていること(セクション 4.6)。 - SPFx パッケージのアクセス許可リクエストが承認されていること。
ブラウザーに consent_missing または resource_mismatch エラーが表示される
これらのエラーは、リクエストが Proxy API に到達する前にトークンの取得が失敗した場合に、SPFx の Connector Settings の 「Test Connection」の結果に表示されます。
- consent_missing:SharePoint テナントに Enterprise Application が作成されていません。 SharePoint Admin Center で API アクセス許可を再承認するか、グローバル管理者に Entra ID → Enterprise Applications から 手動で同意を付与してもらってください。
- resource_mismatch:SPFx パッケージ内のリソース識別子がアプリの登録と一致していません。
アプリの登録名が、
resourceの値(SPFx パッケージのwebApiPermissionRequests内)と 一致していることを確認してください。カスタム名のアプリの登録を使用している場合は、一致するリソース名で SPFx パッケージを再ビルドする必要がある場合があります。
Application Insights なしで Function App のログを表示する
Application Insights が有効になっていない場合でも、基本的なログにはアクセスできます。
- ライブ ログ ストリーム:Function App → Monitoring → Log stream。実行中の関数からの
リアルタイムのコンソール出力(
console.log、console.error、キャッチされていない例外を含む)を 表示します。 - ファイル システム ログ:Function App → Monitoring → Diagnostic settings で診断ログを有効にし、永続的なロギングが必要な場合は Storage Account にルーティングします。
- Kudu コンソール:
https://<function-app-name>.scm.azurewebsites.net→ Log Files に移動して、 ファイル システム ログを直接参照します。
本番環境では、ファイル システム ログでは得られない構造化されたリクエスト トレース、依存関係の追跡、障害分析を提供する Application Insights の使用をお勧めします。
Embed Builder エクスペリエンスのポップアップが開くが空である
- 1.2.0.0 より前のコネクタ バージョンでは、これはすべての SharePoint ページで発生していました。エクスペリエンスが挿入する ポップアップ プレーヤーをページのスクリプト ローダーが取り込んでしまい、プレーヤーが初期化されなかったためです。SharePoint パッケージを 1.2.0.0 以降にアップグレードしてください(セクション 5.5)。
- アップグレード後もポップアップが空の場合は、
https://players.brightcove.net/からポップアップ プレーヤーを 読み込めなかったことを意味します。このソースとhttps://*.ipx.bcvp0rtal.com/、https://cdn.jsdelivr.net/が SharePoint Admin Center → Advanced → Script Sources で 信頼できるスクリプト ソースになっていることを確認してください(セクション 5.1)。 - 公開されたページでブラウザーのコンソール(F12 → Console)を開き、エクスペリエンス内の動画をクリックします。 コネクタ バージョン 1.2.0.0 以降では、何を読み込めなかったかを説明する警告がログに記録されます。
- ネットワーク プロキシや広告ブロッカーがこれらのホストをフィルタリングしていないことを確認してください。
Connector Settings ページまたは Content Management ページが見つからない、または壊れている
- これらのページはアプリによってプロビジョニングおよび管理されます(セクション 5.4)。ページが編集された、Web パーツが 削除された、またはページが削除された場合は、サイトから Brightcove M365 Connector アプリを削除してから再度追加し、 両方のページを再プロビジョニングしてください。
- アプリを再追加した後、Connector Settings を開いてプロキシ構成を確認してください。Key Vault 内の Brightcove アカウントの 資格情報は影響を受けません。
Web パーツがツールボックスに表示されない
- Enable this app をオンにして SPFx パッケージがデプロイされたことを確認します。
- 対象のサイトにアプリが追加されていることを確認します(セクション 5.4)。
- ページを更新するか、ブラウザーのキャッシュをクリアしてみてください。
Brightcove アカウントがドロップダウンに表示されない
- Connector Settings でアカウントが 1 つ以上追加され、保存されていることを確認します(セクション 6.3)。
- プロキシ接続テストが成功することを確認します。
- クロステナント構成を使用している場合は、アプリの登録がマルチテナント アクセスをサポートしており、トークン内の
tidクレームがアカウント追加時に使用したテナントと一致していることを確認します。
Key Vault のアクセス エラー
- Function App のマネージド ID が有効になっていることを確認します(セクション 4.4)。
- マネージド ID に対して、Key Vault 上で Key Vault Secrets Officer ロールが割り当てられていることを 確認します。
- Function App の環境変数の
KEY_VAULT_URLが正しい Key Vault を指していることを 確認します。
10. プロビジョニングされたリソースの概要
このガイドを完了すると、次のリソースが作成されています。
Azure
- リソース グループ
- Key Vault(Brightcove API 資格情報を暗号化されたシークレットとして保存)
- Function App(Proxy API を実行:Node.js 22、Linux、Flex Consumption プラン)
- Storage Account(Function App のデプロイ パッケージ用に自動プロビジョニング)
- Enterprise Application / サービス プリンシパル(API アクセス許可の承認時に SharePoint テナントの Entra ID に 作成)
- アプリの登録(SharePoint と Proxy API の間の Entra ID 認証を有効化)
SharePoint
- テナントのアプリ カタログにデプロイされた SPFx パッケージ
- Proxy API に対して承認された API アクセス許可
- サイトごと:Brightcove Connector Settings ページ (
BrightcoveConnectorSettings.aspx) - サイトごと:Brightcove Content Management ページ (
BrightcoveContentManagement.aspx) - サイトごと:BrightcoveConfiguration リスト(プロキシ URL と API リソースを保存)
- ツールボックスで利用できる 3 つの作成用 Web パーツ(Video、Playlist、Experience)