はじめに
このドキュメントでは、Cisco Meeting Server(CMS)バージョン3.2でwebbridge用にカスタマイズされたコンテンツセキュリティポリシー(CSM)を設定して有効にする手順について説明します。
著者:Cisco TACエンジニア、Octavio Miralrio
前提条件
要件
次の項目に関する知識があることが推奨されます。
- CMSの一般設定
- ハイパーテキスト転送プロトコルセキュア(HTTPS)
- ハイパーテキストマークアップ言語(HTML)
- Webサーバ
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- CMSバージョン3.2
- Windows Webサーバ2016
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
設定
コンフィギュレーション
CMSバージョン3.2以降では、CMS管理者はWebアプリを別のWebサイトに埋め込むことができます。つまり、Webアプリは別のWebページに埋め込まれています。
注:Webアプリは、HTTPSを必要とするブラウザに組み込まれていればメディアを実行でき、HTTPを使用するブラウザでは実行できません。
ステップ 1:CMSのコマンドラインインターフェイス(CLI)を開き、次のコマンドを実行します。
webbridge3 https frame-ancestors
<frame-ancestors space-separated string>パラメータは、Webアプリケーションが埋め込まれているフレームのUniform Resource Locator(URL)に置き換える必要があります。ワイルドカードがサポートされています(図に示すように、https://*.octavio.labなど)。

Webアプリは、文字が有効であることを除き、ヘッダーの内容をチェックしません。管理者は、コンテンツセキュリティポリシーヘッダーに有効な文字列が含まれていることを確認する必要があります。文字列のサイズは1000文字に制限されており、使用できる文字はa-z A-Z 0-9_ . / :?# [ ] @ !$ & ' ( ) * + - = ~ %です。
ステップ 2:Webページ内の埋め込みiFrameを設定します。
次の手順では、iframe要素をWebページに埋め込みます。iframe要素は、HTMLドキュメント内の<iframe>タグによって認識されます。メディアをサポートするには、次の属性が必要です。
注:WebAppメディアを実行するにはHTTPSが必要です。heightやwidthなど、iframeでサポートされているその他の属性も含めることができます。
iFrameコンテンツの作成はWebページ管理者が行います。必要に応じてカスタマイズできます。次に、デモ用に作成したiFrameの例を示します。
Customized Content Security Policy
This is the title of the Content Securiity Policy
Welcome to the CMS Content Security Policy Demostration.
All this text is not part of the webbridge itself.
Below you will see the enbedded webapp page, https://join.octavio.lab.
ステップ 3:Webサーバーに展開します。
HTMLドキュメントにiframeが埋め込まれている場合は、ページをWebサーバにロードする必要があります。このドキュメントの目的に従い、次の図に示すように、HTMLファイルはindex.htmlという名前が付けられ、Windows Webサーバに保存されます。

注:Webサーバの追加の設定およびWebページで使用可能なオプションは、このドキュメントの範囲外です。Webサーバの管理者は、Webページの展開を完了する必要があります。
確認
設定が正しく機能していることを検証するには、Webブラウザを開いて、iFrameが設定されたWebページ(このドキュメントではhttps://ad-ocmiralr.octavio.lab/cmsframe/index.html)に移動します。

CMSで利用可能な会議にアクセスし、音声とビデオが正常に機能していることを確認します。
トラブルシュート
- Webページは表示されますが、Webアプリが読み込まれていません。

この種の問題を解決するには、次の手順に従います。
ステップ 1:CMSのCLIを開きます。
ステップ 2:次のコマンドwebbridgeを実行します。
ステップ 3:webbridge設定から、Frame-Ancestorsが正しいことを確認します。これは、作成されたWebページで設定されているiframe srcである必要があります。

この場合、webbridgeで設定されているFrame-Ancestorsは、図に示すように、Webページで設定されているものとは異なります。

ステップ 4:必要に応じて、webbridge設定またはWebページコードのFrame-Ancestor値を修正します。
- Webアプリは読み込まれていますが、カメラまたはマイクにアクセスできません。

この問題は、iframeが正しく設定されていないために発生します。音声とビデオをサポートするには、iframeにallowusermedia allow="microphone; camera; display-capture"の属性を含める必要があります。
この問題を解決するには、次の手順に従います。
ステップ 1:Webサーバを開き、メインページのHTMLファイルを見つけます。
ステップ 2:テキストエディタを使用して、HTMLファイルを編集します。
ステップ 3:次のコードに示すように、iframeにメディア属性を追加します。