Anwendungsbasierte Authentifizierung im Teams PowerShell-Modul
Die anwendungsbasierte Authentifizierung wird jetzt im Teams PowerShell-Modul mit unterstützt.
- Versionen 4.7.1-preview oder höher in kommerziellen & GCC-Umgebungen.
- Versionen 5.0.1-preview oder höher in GCC High & DoD-Umgebungen.
Unterstützte Cmdlets
Alle Cmdlets werden jetzt mit Ausnahme der unten genannten Cmdlets unterstützt.
- New-Team
- [Get|Set|Neu|Sync]-CsOnlineApplicationInstance
- *PolicyPackage*
- *-CsTeamsShiftsConnection*
- *-CsBatchTeamsDeployment*
- [Get|Set]-CsTeamsSettingsCustomApp
- Get-MultiGeoRegion
Beispiele
Die folgenden Beispiele zeigen, wie Sie das Teams PowerShell-Modul mit der Microsoft Entra app-basierten Authentifizierung verwenden:
Herstellen einer Verbindung mithilfe eines Zertifikatfingerabdrucks:
Connect-MicrosoftTeams -CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
Wenn Sie den Parameter CertificateThumbprint verwenden, muss das Zertifikat auf dem Computer installiert werden, auf dem Sie den Befehl ausführen. Das Zertifikat sollte im Benutzerzertifikatspeicher installiert werden.
Herstellen einer Verbindung mithilfe eines Zertifikatobjekts:
Connect-MicrosoftTeams -Certificate <%X509Certificate2 object%> -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
Wenn Sie den Parameter Certificate verwenden, muss das Zertifikat nicht auf dem Computer installiert werden, auf dem Sie den Befehl ausführen. Das Zertifikat kann remote gespeichert & abgerufen werden, wenn das Skript ausgeführt wird. Der Parameter Certificate ist ab Version 4.9.2-preview des Teams PowerShell-Moduls verfügbar.
Herstellen einer Verbindung mithilfe von Zugriffstoken:
Zugriffstoken können über den login.microsoftonline.com-Endpunkt abgerufen werden. Hierfür sind zwei Zugriffstoken erforderlich: "MS Graph" und "Skype and Teams Tenant Admin API".
$ClientSecret = "…" $ApplicationID = "00000000-0000-0000-0000-000000000000" $TenantID = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" $graphtokenBody = @{ Grant_Type = "client_credentials" Scope = "https://graph.microsoft.com/.default" Client_Id = $ApplicationID Client_Secret = $ClientSecret } $graphToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $graphtokenBody | Select-Object -ExpandProperty Access_Token $teamstokenBody = @{ Grant_Type = "client_credentials" Scope = "48ac35b8-9aa8-4d74-927d-1f4a14a0b239/.default" Client_Id = $ApplicationID Client_Secret = $ClientSecret } $teamsToken = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$TenantID/oauth2/v2.0/token" -Method POST -Body $teamstokenBody | Select-Object -ExpandProperty Access_Token Connect-MicrosoftTeams -AccessTokens @("$graphToken", "$teamsToken")
Wie funktioniert das?
Das Teams PowerShell-Modul ruft das app-basierte Token mithilfe der Anwendungs-ID, der Mandanten-ID und des Zertifikatfingerabdrucks ab. Dem in Microsoft Entra ID bereitgestellten Anwendungsobjekt ist eine Verzeichnisrolle zugewiesen, die im Zugriffstoken zurückgegeben wird. Die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) der Sitzung wird mithilfe der Verzeichnisrolleninformationen konfiguriert, die im Token verfügbar sind.
Einrichten der anwendungsbasierten Authentifizierung
Für die Authentifizierung mithilfe von Anwendungsobjekten ist ein anfängliches Onboarding erforderlich. Anwendung und Dienstprinzipal werden austauschbar verwendet, aber eine Anwendung ist wie ein Klassenobjekt, während ein Dienstprinzipal wie ein instance der Klasse ist. Weitere Informationen zu diesen Objekten finden Sie unter Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID.
Beispielschritte zum Erstellen von Anwendungen in Microsoft Entra ID sind unten aufgeführt. Ausführliche Schritte finden Sie in diesem Artikel.
- Registrieren Sie die Anwendung in Microsoft Entra ID.
- Weisen Sie der Anwendung API-Berechtigungen zu.
- Für *-Cs-Cmdlets: Die erforderliche Microsoft Graph-API-Berechtigung ist
Organization.Read.All
. - Für Cmdlets ohne *-Cs: Die erforderlichen Microsoft Graph-API-Berechtigungen sind
Organization.Read.All
,User.Read.All
,Group.ReadWrite.All
,AppCatalog.ReadWrite.All
,TeamSettings.ReadWrite.All
,Channel.Delete.All
,ChannelSettings.ReadWrite.All
, ,ChannelMember.ReadWrite.All
. - Hinweis: Es ist nicht erforderlich, api-Berechtigungen für "Skype and Teams Tenant Admin API" zu konfigurieren. Das Konfigurieren dieser Berechtigung kann zu Fehlern führen.
- Für *-Cs-Cmdlets: Die erforderliche Microsoft Graph-API-Berechtigung ist
- Generieren Sie ein selbstsigniertes Zertifikat.
- Fügen Sie das Zertifikat an die Microsoft Entra Anwendung an.
- Weisen Sie der Anwendung Microsoft Entra Rollen zu. Weitere Informationen finden Sie unter Zuweisen einer Rolle , aber suchen Sie nach der Anwendung anstelle eines Benutzers.
Der Anwendung müssen die entsprechenden RBAC-Rollen zugewiesen sein. Da die Apps in Microsoft Entra ID bereitgestellt werden, können Sie jede der unterstützten integrierten Rollen verwenden.