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.
- Registe a aplicação no Microsoft Entra ID.
- 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.All
User.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.
- Para os cmdlets *-Cs – a permissão do Microsoft API do Graph necessária é
- Gere um certificado autoassinado.
- Anexe o certificado à aplicação Microsoft Entra.
- 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.