Azure へのボットの登録
この記事の対象: SDK v4
現在 Azure でボットをホストしていない場合でも、Azure でボットを使用できるようにし、Azure を使用してボットをチャネルに接続できます。 これを行うには、ボットがホストされている Web アドレスを Azure に入力します。
この記事では、このようなボットを Azure AI Bot Service に登録する方法について説明します。
重要
ボットを登録する必要があるのは、ボットが Azure でホストされていない場合だけです。 Azure CLI を使用して作成されたボットは、Azure AI Bot Service に既に登録されています。
ボット ID は、いくつかの異なる方法で Azure で管理できます。
- ボットの認証情報を自分で管理する必要がないように、ユーザー割り当てマネージド ID として管理する。
- シングルテナント アプリとして管理する。
- マルチテナント アプリとして管理する。
ユーザー割り当てマネージド ID とシングルテナント アプリの種類に関するサポートは、Bot Framework SDK for C#、JavaScript、および Python に追加されました。 これらの種類のアプリは、他の言語、Bot Framework Composer、Bot Framework Emulator、または開発トンネルではサポートされていません。
アプリの種類 | サポート |
---|---|
ユーザー割り当てマネージド ID | Azure AI Bot Service と、C#、JavaScript、Python 用の SDK |
シングルテナント | Azure AI Bot Service と、C#、JavaScript、Python 用の SDK |
マルチテナント | Azure AI Bot Service、すべての Bot Framework SDK 言語、Composer、Emulator、および開発トンネル |
この記事では、登録するボットを作成またはデプロイする方法については説明しません。 詳細については、以下を参照してください:
- ボットの作成に関するクイックスタート
- 基本的なボットのデプロイに関するチュートリアル
リソースを作成する
Azure Bot リソースを作成します。これにより、ボットを Azure AI Bot Service に登録できます。
ヒント
新しい Web アプリ ボット と ボット チャンネル登録リソースは作成できませんが、構成および配置された既存のリソースは引き続き機能します。 SDK バージョン 4.14.1.2 以降の VSIX または Yeoman テンプレートから作成されたボットには、Azure Bot リソースを生成する ARM テンプレートが含まれています。
Azure ポータルにアクセスします。
右側のウィンドウで、 [リソースの作成] を選びます。
検索ボックスに「
bot
」と入力し、Enter キーを押します。Azure Bot カードを選択します。
[作成] を選択します
必須フィールドに値を入力し、設定の確認と更新を行います。
[プロジェクトの詳細] に情報を入力します。 ボットにグローバル データ所在地とローカル データ所在地のどちらを使用するかを選択します。 現在、ローカル データ所在地機能は、「westeurope」および「centralindia」リージョンのリソースで使用できます。 詳細については、「Azure AI Bot Service での登録」を参照してください。
[Microsoft アプリ ID] に情報を入力します。 Azure でボット ID を管理する方法と、新しい ID を作成するか、既存の ID を使用するかを選択します。
[Review + create](レビュー + 作成) を選択します。
検証テストに合格したら、[作成] を選びます。
デプロイが完了したら、[リソースに移動] を選択します。 選択したリソース グループにボットと関連リソースが一覧表示されます。
Bot Framework SDK をまだお持ちでない場合は、[GitHub からダウンロード] を選択して、優先する言語のパッケージを使用する方法を確認してください。
これで、Bot Framework SDK を使用してボットを構築する準備ができました。
ヒント
Azure が新しいアプリ ID を使用して、新しいシングルテナントまたはマルチテナントの Azure Bot リソースを作成すると、パスワードも生成されます。
ボット ID 情報
次の手順に従って、ボットの構成ファイルに ID 情報を追加します。 ファイルは、ボットの作成に使用するプログラミング言語によって異なります。
重要
Bot Framework SDK の Java バージョンでは、マルチテナント ボットのみがサポートされています。 C# バージョン、JavaScript バージョン、および Python バージョンでは、ボットの ID を管理するための 3 種類のアプリケーションがすべてサポートされています。
Language | ファイル名 | メモ |
---|---|---|
C# | appsettings.json | ボットの ID を管理するための 3 種類のアプリケーションがすべてサポートされています。 |
JavaScript | .env | ボットの ID を管理するための 3 種類のアプリケーションがすべてサポートされています。 |
Java | application.properties | マルチテナント ボットのみをサポートします。 |
Python | config.py | ボットの ID を管理するための 3 種類のアプリケーションがすべてサポートされています。 |
追加する必要がある ID 情報は、ボットのアプリケーション タイプによって異なります。 構成ファイルで次の値を提供します。
C# ボット、JavaScript ボット、および Python ボットで使用できます。
プロパティ | 値 |
---|---|
MicrosoftAppType |
UserAssignedMSI |
MicrosoftAppId |
ユーザー割り当てマネージド ID のクライアント ID |
MicrosoftAppPassword |
該当なし。 ユーザー割り当てマネージド ID ボットの場合は、この値を空白のままにします。 |
MicrosoftAppTenantId |
ユーザー割り当てマネージド ID のテナント ID。 |
App Service を更新するには
ボットの既存の App Service リソース (Web アプリ) があり、ボットが ユーザー割り当てマネージド ID アプリケーションである場合は、ボットの App Service を更新する必要がある場合があります。
- ボットの Web アプリの App Service ブレードに移動します。
- [設定] にある [ID] を選択します。
- [ID] ブレードで [ユーザー割り当て] タブを選択し、[追加] (+) を選択します。
- ユーザー割り当てマネージド ID の追加 ブレード上:
サブスクリプションを選択します。
ユーザー割り当てマネージド ID の場合 は、ボットのマネージド ID を選択します。 マネージド ID が自動的に生成された場合は、ボットと同じ名前になります。
ボットにこの ID を使用するには、[追加] を選択します。
アプリまたはテナント ID を取得するには
ボットのアプリまたはテナント ID を取得するには:
- ボットの [Azure Bot リソース] ブレードに移動します。
- ボットの [構成] ブレードに移動します。 このブレードから、ボットの Microsoft アプリ ID またはアプリ テナント ID をコピーできます。
新しいパスワードを生成するには
シングルテナント ボットとマルチテナント ボットには、一部の操作に必要となるアプリ シークレットまたはパスワードがあります。 Azure AI Bot Service では、ボット シークレットが非表示になります。 ただし、ボットの App Service リソースの所有者は、新しいパスワードを生成できます。
- ボットの [Azure Bot リソース] ブレードに移動します。
- ボットの [構成] ブレードに移動します。
- [Microsoft アプリ ID] の横にある [管理] を選択して、App Service の [証明書 + シークレット] ブレードに移動します。
- ブレードの指示に従って新しいクライアント シークレットを作成し、安全な場所に値を記録します。
アプリの手動登録
次の場合は、手動登録が必要です。
- 自分の組織で登録できず、構築しているボット用のアプリ ID を作成するために別のパーティーが必要である。
- 独自のアプリ ID とパスワードを手動で作成する必要がある。
ボットを更新する
アプリ ID とパスワードを含むようにボットの構成ファイルを更新するには、「ボットの登録設定を構成する」の「アプリケーション ID とパスワード」を参照してください。
追加情報
一般的な Azure アプリケーションの詳細については、次の記事を参照してください。
サブジェクト | [アーティクル] |
---|---|
アプリの登録 | クイック スタート: Microsoft ID プラットフォームにアプリケーションを登録する |
マネージド ID | Azure リソースのマネージド ID とは |
単一テナント アプリとマルチテナント アプリ | Microsoft Entra ID のテナント |