Share via


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.

  1. Registrieren Sie die Anwendung in Microsoft Entra ID.
  2. Weisen Sie der Anwendung API-Berechtigungen zu.
    • Für *-Cs-Cmdlets ist Organization.Read.Alldie erforderliche Microsoft Graph-API-Berechtigung .
    • 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.
  3. Generieren Sie ein selbstsigniertes Zertifikat.
  4. Fügen Sie das Zertifikat an die Microsoft Entra Anwendung an.
  5. 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.