Compartilhar via


Autenticação baseada em aplicações no Módulo do PowerShell do Teams

A autenticação baseada na aplicação é agora suportada no Módulo do PowerShell do Teams com

  • Versões 4.7.1-preview ou posterior em ambientes GCC & comerciais.
  • Versões 5.0.1-preview ou posterior em ambientes GCC High & DoD.

Cmdlets Suportados

Todos os cmdlets são agora suportados, exceto para os cmdlets mencionados abaixo.

  • New-Team
  • [Obter|Definir|Novo|Sincronização]-CsOnlineApplicationInstance
  • *PolicyPackage*
  • *-CsTeamsShiftsConnection*
  • *-CsBatchTeamsDeployment*
  • [Obter|Set]-CsTeamsSettingsCustomApp
  • Get-MultiGeoRegion

Exemplos

Os exemplos seguintes mostram como utilizar o Módulo do PowerShell do Teams com o Microsoft Entra autenticação baseada na aplicação:

  • Ligar através de um thumbprint de certificado:

    Connect-MicrosoftTeams -CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
    

    Quando utiliza o parâmetro CertificateThumbprint, o certificado tem de ser instalado no computador onde está a executar o comando. O certificado deve ser instalado no arquivo de certificados do utilizador.

  • Ligar através de um objeto de certificado:

    Connect-MicrosoftTeams -Certificate <%X509Certificate2 object%> -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
    

    Quando utiliza o parâmetro Certificado, o certificado não precisa de ser instalado no computador onde está a executar o comando. O certificado pode ser armazenado remotamente & obtido quando o script é executado. O parâmetro Certificado está disponível na versão 4.9.2 da pré-visualização do Módulo do PowerShell do Teams ou posterior.

  • Ligar através de Tokens de Acesso:

    Os Tokens de Acesso podem ser obtidos através do ponto final login.microsoftonline.com. Necessita de dois Tokens de Acesso – os recursos "MS Graph" e "API Administração Inquilino do Skype e do Teams".

    $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")
    

Como funciona?

O Módulo do PowerShell do Teams obtém o token baseado na aplicação com o ID da aplicação, o ID do inquilino e o thumbprint do certificado. O objeto de aplicação aprovisionado no Microsoft Entra ID tem uma Função de Diretório atribuída, que é devolvida no token de acesso. O controlo de acesso baseado em funções (RBAC) da sessão é configurado com as informações de função de diretório disponíveis no token.

Configurar a autenticação baseada na aplicação

É necessária uma integração inicial para a autenticação com objetos de aplicação. A aplicação e o principal de serviço são utilizados alternadamente, mas uma aplicação é como um objeto de classe enquanto um principal de serviço é como uma instância da classe. Pode saber mais sobre estes objetos em Objetos de principal de serviço e aplicação no Microsoft Entra ID.

Os passos de exemplo para criar aplicações no Microsoft Entra ID são mencionados abaixo. Para obter os passos detalhados, veja este artigo.

  1. Registe a aplicação no Microsoft Entra ID.
  2. Atribua permissões de API à aplicação.
    • Para os cmdlets *-Cs – a permissão do Microsoft API do Graph necessária é Organization.Read.All.
    • Para cmdlets Não *-Cs - as permissões de API do Graph da Microsoft necessárias são Organization.Read.All, , Group.ReadWrite.AllUser.Read.All, AppCatalog.ReadWrite.All, TeamSettings.ReadWrite.All, , Channel.Delete.All, ChannelSettings.ReadWrite.All. ChannelMember.ReadWrite.All
    • Nota – não é necessário configurar qualquer permissão de API para a "API de inquilino do Skype e do Teams Administração". A configuração desta permissão pode resultar em falhas.
  3. Gere um certificado autoassinado.
  4. Anexe o certificado à aplicação Microsoft Entra.
  5. Atribua Microsoft Entra funções à aplicação. Veja este procedimento Atribuir uma função , mas procure a aplicação em vez de um utilizador.

A aplicação tem de ter as funções RBAC adequadas atribuídas. Uma vez que as aplicações são aprovisionadas no Microsoft Entra ID, pode utilizar qualquer uma das funções incorporadas suportadas.