通話計画(PSTN)の電話番号管理のための委任された管理者アプリケーション
Microsoftチームは、組織のさまざまなテレフォニーサービスを管理するための管理ポータルを提供します。このポータルにアクセスするには、ここに定義されている管理者の役割の1つを割り当てる必要があります。テレフォニーシステムを管理し、電話番号または音声ポリシーをユーザーに割り当てるために、必要な役割が最小限の「チーム通信管理者」です。この役割は、Azure Ad Tenantの範囲で適用されます。これは、組織内のすべてのユーザーを意味します。
このモデルはうまく機能しますが、操作は中央で管理されていますが、組織がこれらの操作をローカルレベル(国ごと)で委任する必要がある場合、より困難になります。委任された管理者に設定されたユーザーと許可。
今日の時点で、このアプリケーションは次のシナリオをサポートしています。
注:ソリューションは呼び出し計画(別名PSTN)構成のみをサポートします - 直接ルーティングは範囲ですが、適切なPowerShell CMDLETを使用して最小限の取り組みでこのシナリオをサポートするためにソリューションを更新できます。
このソリューションのアーキテクチャは、PowerShell CMDletまたはMS Graph APIを介してアクセス可能なチームの電話システムまたはその他の機能の委任された管理管理を必要とする他のシナリオをサポートするために適合させることができます。
これがMicrosoftチームで実行されているアプリケーションです
前提条件
注:この展開では、同じユーザーがAzure、Power Platform、Azure ADにリソースを展開するための適切な権限を持っていると想定しています。ただし、これは必須ではなく、組織内のこれらのさまざまな役割と応答性に展開を分割することができます。
ステップ1- Azure ADでサービスアカウントを作成する
必要な役割:Azure AD管理者
注:このパスワードを初めて使用するときにこのパスワードをリセットする必要があります - https://portal.azure.comにユーザー資格情報と接続し、新しい複雑なパスワードを提供してください -このパスワードを安全な場所に保存してください
ステップ2- Azureリソースを展開します
必要な役割:
この展開ステップを実行するには、ローカル環境でこのリポジトリのコンテンツをダウンロードし、PowerShellスクリプトを。 deployment deploy.ps1で実行する必要があります。
$displayName = ' Teams-Telephony-Manager ' ( default value)
$rgName = ' Teams-Telephony-Manager ' ( default value)
$resourcePrefix = ' teams-mng ' ( default value)
$location = ' westeurope ' ( default value)
$serviceAccountUPN = [ UPN of the Service Account created in step 1 ]
$serviceAccountSecret = [ Password of the Service Account created in step 1 ]
.deploy.ps1 - serviceAccountUPN $serviceAccountUPN - serviceAccountSecret $serviceAccountSecret
展開は、Azure関数のウォームアップ時間を含む数分かかる場合があります - 展開の終了時に、Powerアプリの展開とAzure AD AD条件付きアクセスの構成に必要な出力を確認します。
展開の成功はそのように見えるはずです(デフォルトでは、スクリプトは3回実行されます)
TriggerTime WorkerId Duration StatusCode StatusDescription
----------- -------- -------- ---------- -----------------
16 / 12 / 2021 16 : 42 : 06 2 6 , 93 200 OK
16 / 12 / 2021 16 : 42 : 08 1 8 , 65 200 OK
16 / 12 / 2021 16 : 42 : 09 3 9 , 38 200 OK
Deployment script terminated
Here are the information you ll need to deploy and configure the Power Application
API_URL : ' https://teams-nnjqs.azurewebsites.net '
API_Code : ' pujmFZfGxwqGXXXdddxLs2xXXXg2cMLhAUUE2Q== '
TenantID : ' 153017a8-XXXX-XXXX-XXXX-463465842b89 '
ClientID : ' bad28fb5-XXXX-XXXX-XXXX-665886c2cbad '
Audience : ' api://azfunc-bad28fb5-XXXX-XXXX-XXXX-665886c2cbad '
KeyVault_Name : ' az-vault-6cdgs '
AzFunctionIPs : ' 104.45.68.78,104.45.69.84,104.45.69.210,104.45.69.232,104.45.66.240,104.45.70.42,20.50.2.80 '
ステップ3-パワーアプリとフローを展開します
このリンクにPowerアプリを展開する命令をダウンロードできます。
ドキュメントで言及されているzipファイルは、このリンクで利用できます。
このステップの最後に、ソリューションはエンドツーエンドで動作するはずです - 次のステップは推奨されますが、オプションであり、Azure Ad Authentication&Controlsを使用してソリューションにセキュリティを追加するためにここにあります。
ステップ4- Azure AD条件付きアクセスをアクティブにします
Azure Functionアプリで使用されているサービスアカウントでAzure条件アクセスを有効にし、Azure Functionで使用されているIPに信頼できるIPを制限できます。 Azure AD条件付きアクセスには、プレミアムP1ライセンスを割り当てる必要があります。詳細については、ライセンス要件について詳しく説明してください。
注:Powerアプリに戻って、アプリケーションが引き続き応答していることを確認してください。また、ローカルのデスクトップとログインできないVerityからサービスプリンシパルクレデンシャルを使用することもできます。
ステップ5-アプリケーションを共有します
これで、アプリケーションがチームに展開され、組織内の「委任された管理者」へのアクセスを提供する必要があります。それを達成するために、パワーアプリが展開されているチームのOffice 365グループを使用します。
すべての「委任された管理者」は、パワーアプリにアクセスするためにチームに招待する必要があります
アプリがインストールされているチームの名前をコピーします - これはO365グループの名前です
O365グループをセキュリティグループとして使用できるようにする必要があります。そのために、Azure AD Group Management BladeにアクセスしてO365グループIDを取得し、次のPowerShellコマンドを使用してこのグループのセキュリティを有効にします。
Set-AzureADMSGroup - Id [ Office365 _ Group _ ID ] - SecurityEnabled $true
Azureポータルに移動し、このソリューションに展開されているAzure KeyVaultに移動します
Power Appsポータルに移動してから、Powerアプリを選択します
ユーザーがチームのPowerアプリにアクセスすると、3つのコネクタ(SharePoint、Office365、Azure KeyVault)の使用に同意する必要があります。AzureKeyVaultの場合、キーヴォルト名を提供する必要があります。 Azure Resources(例:AZ-Vault-6CDGS)
このソリューションは、Microsoft Power Platform(SAAS)とPAASサービスを使用してMicrosoft Azureに基づいて構築されています。これらのサービスの利点は、Microsoftがインフラストラクチャレイヤーを担当していることです。良い。ただし、次の推奨事項を使用して、このアプリケーションの管理についてはまだ責任があります。
これは、2022年3月の公開価格設定者に基づくコストの見積もりです。オフィス365とマイクロソフトチームのコストは含まれていません。
すべての価格は情報のみで提供されます。
サービス | 推定使用 | 単価 | 推定コスト /月 |
---|---|---|---|
パワープラットフォーム | 20人の管理者(プレミアムコネクタ) | ユーザー/月/月ごとに5ドル | 100ドル |
Azure Appサービスプラン | すべての紺ure関数の1つの計画(基本B1) | プラン/月あたり54.75ドル | 55ドル |
Azure(その他のサービス) | ストレージとkeyvaultリクエスト | 容量(GB)&#リクエストに基づいています | <$ 1 |
Azure AD CA | 1 P1ライセンス | $ 6のペルーザー/月 | 6ドル |
合計推定 | 162ドル |
このプロジェクトは、貢献と提案を歓迎します。ほとんどの貢献では、貢献者ライセンス契約(CLA)に同意する必要があります。詳細については、https://cla.opensource.microsoft.comをご覧ください。
プルリクエストを送信すると、CLAボットはCLAを提供し、PRを適切に飾る必要があるかどうかを自動的に決定します(たとえば、ステータスチェック、コメント)。ボットが提供する指示に従うだけです。 CLAを使用して、すべてのレポでこれを1回だけ行う必要があります。
このプロジェクトは、Microsoftのオープンソース行動規範を採用しています。詳細については、FAQのコードを参照するか、追加の質問やコメントについては[email protected]にお問い合わせください。
このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれる場合があります。 Microsoftの商標またはロゴの承認された使用は、Microsoftの商標およびブランドガイドラインに従うものであり、従わなければなりません。このプロジェクトの変更されたバージョンでのMicrosoft商標またはロゴの使用は、混乱を引き起こしたり、Microsoftのスポンサーシップを暗示したりしてはなりません。サードパーティの商標またはロゴの使用は、これらのサードパーティのポリシーの対象となります。