次の方法で共有


アプリ認証に証明書または MSI を使用する

証明書または MSI ベースの認証を使用して、ボット ID とシークレットの代わりにボット アプリを検証できます。 この認証により、Microsoft Entra IDとボット シークレットの使用に関連するコンプライアンス上の問題が解決されます。

前提条件

次のリソースを使用して、Teams ボット アプリが Azure にデプロイされていることを確認します。

  • Azure ボット。
  • ボット認証に使用されるシークレットを含む Entra ID。
  • Azure App Service、Azure Functionsなど、ボット アプリをホストするリソース。

証明書ベースの認証を使用するようにボット アプリを更新するには:

  1. Azure AD で証明書を作成してアップロードする
  2. ボット アプリ コードを更新する
  3. ボット シークレットを削除する

Azure AD で証明書を作成してアップロードする

ボット認証に証明書を使用するには:

  1. 証明書と秘密キーを準備します。

  2. Azure ポータルに移動します。

  3. [アプリの登録] を選択します。

    アプリの登録を選択する Azure サービスを示すスクリーンショット。

  4. 登録済みのアプリを選択します。

  5. 左側のウィンドウの [ 管理] で、[ 証明書 & シークレット] を選択します。

  6. [ 証明書] で、[ 証明書のアップロード] を選択します。

    [証明書とシークレット] オプションを示すスクリーンショット。

    [ 証明書のアップロード] ウィンドウが表示されます。

    注:

    .cer、.pem、.crt のいずれかの種類の証明書 (公開キー) をアップロードします。

  7. 準備した証明書をアップロードします。

  8. 「説明」と入力します

  9. [追加] を選択します。

    証明書のアップロード オプションを示すスクリーンショット。

ボット アプリ コードを更新する

次の手順に従って、ボット アプリ コードを更新します。

  1. Visual Studio または Visual Studio Code でボット アプリ プロジェクトを開きます。

  2. コードを更新します。

        const credentialsFactory = new ConfigurationServiceClientCredentialFactory({
        MicrosoftAppId: config.botId,
        CertificatePrivateKey: '{your private key}',
        CertificateThumbprint: '{your cert thumbprint}',
        MicrosoftAppType: "MultiTenant",
        });
    
        const botFrameworkAuthentication = new ConfigurationBotFrameworkAuthentication(
        {},
        credentialsFactory
        );
    
        const adapter = new CloudAdapter(botFrameworkAuthentication);
    
  3. ボットをテストして、操作が更新された認証と一致することを確認してください。

ボット シークレットを削除する

ボット シークレットを削除する前に、ボット アプリで認証に証明書が使用されていることを確認します。

ボット シークレットを削除するには:

  1. Azure ポータルに移動します。

  2. [アプリの登録] を選択します。

    アプリの登録を選択する Azure サービスを示すスクリーンショット。

  3. 登録済みのアプリを選択します。

  4. 左側のウィンドウの [ 管理] で、[ 証明書 & シークレット] を選択します。

  5. Entra からシークレットを削除します。

    クライアント シークレットの削除の値を示すスクリーンショット。

これで、ボット アプリで認証に証明書が使用されるようになりました。

関連項目