Autenticação baseada em aplicativo no Módulo do Teams PowerShell
A autenticação baseada em aplicativo tem suporte agora no Módulo do Teams PowerShell com
- Versões 4.7.1-preview ou posterior em ambientes comerciais & GCC.
- Versões 5.0.1-preview ou posterior em ambientes GCC High & DoD.
Cmdlets com suporte
Todos os cmdlets têm suporte agora, exceto para os cmdlets mencionados abaixo.
- New-Team
- [Get|Definir|Novo|Sync]-CsOnlineApplicationInstance
- *PolicyPackage*
- *-CsTeamsShiftsConnection*
- *-CsBatchTeamsDeployment*
- [Get|Set]-CsTeamsSettingsCustomApp
- Get-MultiGeoRegion
Exemplos
Os exemplos a seguir mostram como usar o Módulo do Teams PowerShell com o Microsoft Entra autenticação baseada em aplicativo:
Conecte-se usando uma impressão digital de certificado:
Connect-MicrosoftTeams -CertificateThumbprint "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
Quando você usa o parâmetro CertificateThumbprint, o certificado precisa ser instalado no computador em que você está executando o comando. O certificado deve ser instalado no repositório de certificados do usuário.
Conecte-se usando um objeto de certificado:
Connect-MicrosoftTeams -Certificate <%X509Certificate2 object%> -ApplicationId "00000000-0000-0000-0000-000000000000" -TenantId "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
Quando você usa o parâmetro Certificado, o certificado não precisa ser instalado no computador em que você está executando o comando. O certificado pode ser armazenado remotamente & buscado quando o script é executado. O parâmetro Certificado está disponível no Módulo do Teams PowerShell versão 4.9.2-preview ou posterior.
Conecte-se usando Tokens de Acesso:
Os Tokens de Acesso podem ser recuperados por meio do ponto de extremidade login.microsoftonline.com. Ele requer dois Tokens de Acesso – recursos "MS Graph" e "API Administração do Locatário 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 Teams PowerShell busca o token baseado em aplicativo usando a ID do aplicativo, a ID do locatário e a impressão digital do certificado. O objeto de aplicativo provisionado dentro Microsoft Entra ID tem uma Função de Diretório atribuída a ele, que é retornada no token de acesso. O RBAC (controle de acesso baseado em função) da sessão é configurado usando as informações de função de diretório disponíveis no token.
Configurar autenticação baseada em aplicativo
Uma integração inicial é necessária para autenticação usando objetos de aplicativo. O aplicativo e a entidade de serviço são usados de forma intercambiável, mas um aplicativo é como um objeto de classe, enquanto uma entidade de serviço é como uma instância da classe. Você pode saber mais sobre esses objetos em objetos de entidade de serviço e aplicativo em Microsoft Entra ID.
As etapas de exemplo para criar aplicativos no Microsoft Entra ID são mencionadas abaixo. Para obter etapas detalhadas, consulte este artigo.
- Registre o aplicativo em Microsoft Entra ID.
- Atribua permissões de API ao aplicativo.
- Para cmdlets *-Cs - a permissão de API do Graph da Microsoft necessária é
Organization.Read.All
. - Para cmdlets não *-Cs - as permissões do Microsoft API do Graph necessárias são
Organization.Read.All
,User.Read.All
, ,Group.ReadWrite.All
,AppCatalog.ReadWrite.All
,TeamSettings.ReadWrite.All
,Channel.Delete.All
,ChannelSettings.ReadWrite.All
,ChannelMember.ReadWrite.All
.
- Para cmdlets *-Cs - a permissão de API do Graph da Microsoft necessária é
- Gere um certificado autoassinado.
- Anexar o certificado ao aplicativo Microsoft Entra.
- Atribua Microsoft Entra funções ao aplicativo. Consulte este Procedimento atribuir uma função , mas pesquise o aplicativo em vez de um usuário.
O aplicativo precisa ter as funções RBAC apropriadas atribuídas. Como os aplicativos são provisionados em Microsoft Entra ID, você pode usar qualquer uma das funções internas com suporte.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de