Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
O DGSS (Serviço de Assinatura do Device Guard v2) não está mais disponível. Microsoft Store for Business e Microsoft Store for Education — que o DGSS exigia para autenticação e permissões — foram desativados em 31 de março de 2023.
Para assinatura de código empresarial, use Assinatura Confiável do Azure, que é o serviço sucessor. Assinatura Confiável do Azure fornece gestão do ciclo de vida de certificados, integra-se ao SignTool e às pipelines de CI/CD, e oferece suporte à assinatura de MSIX, arquivo de catálogo e política WDAC. Consulte Assinar um pacote MSIX: guia de ponta a ponta para obter orientações atuais.
O conteúdo a seguir é mantido apenas para referência histórica.
O Device Guard Signing Service v2 (DGSS) é um serviço de assinatura de código que vem com a sua conta do Microsoft Store for Business e Education existente. Você pode usar o DGSS para assinar aplicativos de linha de negócios, arquivos de catálogo e políticas do WDAC (Controle de Aplicativos Windows Defender). Ele permite que as empresas se certifiquem de que todos os aplicativos tenham uma fonte confiável. Você pode usar o SignTool no SDK do Windows e o DGSSv2 dlib no pacote NuGet para assinar seus aplicativos MSIX com a assinatura do Device Guard. Esse suporte a recursos permite que você incorpore a autenticação do Device Guard ao fluxo de trabalho de criação e a autenticação de pacotes do MSIX com facilidade.
Um pacote NuGet que contém os componentes DGSS v2 necessários e a documentação de migração está disponível. Leia os termos de uso do Microsoft incluídos no pacote NuGet; observe que o uso do DGSS implica na aceitação desses termos. Caso tenha perguntas, entre em contato conosco em DGSSMigration@microsoft.com.
Observação
Após baixar microsoft.acs/dgss.client.nupkg, você pode renomear para .zip e extrair conteúdo de arquivos, além de documentação e informações adicionais.
A assinatura do Device Guard requer permissões no Microsoft Store for Business e usa a autenticação Azure Active Directory (AD). Para autenticar um pacote MSIX com a autenticação do Device Guard, siga as etapas a seguir.
- No Microsoft Store para Empresas (ou Microsoft Store para Educação), atribua a si mesmo uma função com permissões necessárias para executar a assinatura do Device Guard.
Observação
Você só precisa usar esse portal para configurar as permissões da autenticação do Device Guard.
- Registre seu aplicativo no portal Azure com as configurações adequadas para que você possa usar a autenticação do Azure AD com a Microsoft Store for Business.
- Obtenha um token de acesso do AD Azure no formato JSON.
- Execute o SignTool para assinar seu pacote MSIX com a assinatura do Device Guard e passe o token de acesso Azure AD obtido na etapa anterior.
As seções a seguir descrevem essas etapas mais detalhadamente.
Configure permissões para a autenticação do Device Guard
Para usar a assinatura do Device Guard no Microsoft Store for Business ou Microsoft Store for Education, você precisa da função Device Guard. Esta é a função com os privilégios mínimos que tem a capacidade de assinar. Outras funções, como a de administrador global e a de proprietário da conta de cobrança, também podem autenticar.
Observação
A função de assinatura do Device Guard é usada quando você está assinando como um aplicativo. As funções de administrador global e proprietário da conta de cobrança são usadas quando você faz uma autenticação como uma pessoa conectada.
Para confirmar ou ceder funções:
- Faça login no Microsoft Store for Business.
- Selecione Gerenciar e, em seguida, Permissões.
- Exibir Funções.
Para obter mais informações, consulte Funções e permissões no Microsoft Store para Empresas e Educação.
Registrar seu aplicativo no portal do Azure
Para registrar seu aplicativo com as configurações adequadas para que você possa usar a autenticação do Azure AD com a Microsoft Store for Business:
Navegue até https://portal.azure.com e autentique-se como Administrador Global do inquilino.
Navegue até o serviço Azure Azure Active Directory.
No menu esquerdo, em Manage localize e selecione Registros de aplicativo
Na barra de menus, selecione Novo Registro.
No campo Nome, insira DGSSv2.
Observação
O campo Nome é usado para facilitar a identificação do registro do aplicativo no portal Azure. É possível usar qualquer nome desejado. Para efeitos desta versão de demonstração, utilizamos o DGSSv2 apenas para facilitar a identificação.
Em Tipos de conta com suporte, selecione a configuração apropriada.
- Contas somente neste diretório da organização (locatário único): essa opção é recomendada, a menos que você tenha uma necessidade específica de uma implantação multilocatário. Todas as contas de usuários e convidados no diretório podem usar seu aplicativo ou API.
- Contas em qualquer diretório organizacional (qualquer diretório do Azure AD - Multitenant) – essa opção é melhor para uma organização que tem vários locatários do Azure AD, mas só precisa de um único ponto de confiança para assinatura de código. Todos os usuários com uma conta corporativa ou de estudante de Microsoft podem usar seu aplicativo ou API. Isso inclui escolas e empresas que utilizam o Office 365.
- Conta em qualquer diretório organizacional (diretório Any Azure AD – Multilocatário) e contas de Microsoft pessoais (por exemplo, Skype, Xbox) – essa opção não é recomendada devido a estar aberta para uso por contas de Microsoft no nível do consumidor. Todos os usuários com uma conta Microsoft corporativa ou de estudante ou pessoais podem usar seu aplicativo ou API. Ele inclui escolas e empresas que usam Office 365, bem como contas pessoais que são usadas para entrar em serviços como Xbox e Skype.
- Somente contas de Microsoft pessoais – Como a última opção, essa opção também não é recomendada. Isso não ocorre apenas por permitir contas pessoais, mas porque essa opção só é compatível com contas pessoais. As contas do Azure AD estão explicitamente bloqueadas. Contas pessoais usadas para entrar em serviços como Xbox e Skype
No menu suspenso Redirecionar URI, selecione Cliente público/nativo (móvel e desktop). Insira
https://dgss.microsoft.comna caixa de texto.Clique em Registrar
No canto superior direito da página, localize a entrada rotulada como Redirecionar URIs. Selecione a linha abaixo dela rotulada como 0 web, 0 spa, 1 cliente público.
Localize a entrada rotulada como Permitir fluxos de cliente público na seção Configurações avançadas. Defina o valor como Sim.
Clique em Salvar na parte superior da página.
No menu à esquerda, selecione Permissões da API.
Na barra de menus, selecione Adicionar uma permissão. No menu de contexto, selecione a guia APIs usadas pela minha organização. Na caixa de pesquisa, insira Windows Store for Business
Observação
Se a Windows Store para Empresas não aparecer na lista, abra uma nova guia do navegador e navegue até o portal Microsoft Store para Empresas (agora desativado), em seguida, entre como administrador global do inquilino. Feche a guia do navegador e pesquise novamente.
- Selecione Windows Store para Empresas e, em seguida, selecione Permissões delegadas. Marque user_impersonation.
- Clique em Adicionar Permissões na parte inferior da página. No menu à esquerda, selecione Visão Geral para retornar à visão geral do registro de aplicativo DGSSv2.
Obter um token de acesso do AD Azure
Em seguida, obtenha um token de acesso Azure AD para seu aplicativo Azure AD no formato JSON. Você pode fazer isso usando uma variedade de linguagens de scripts e de programação. Para obter mais informações sobre esse processo, consulte Authorize o acesso a aplicativos Web Azure Active Directory usando o fluxo de concessão de código OAuth 2.0. Recomendamos que você recupere um token de atualização com o token de acesso, pois seu token de acesso expirará em uma hora.
Observação
Se Windows Store para Empresas não aparecer na lista, abra uma nova guia do navegador e navegue até o portal do Microsoft Store para Empresas (agora desativado) e entre como administrador global do locatário. Feche a guia do navegador e pesquise novamente.
O exemplo do PowerShell a seguir demonstra como solicitar um token de acesso.
function GetToken()
{
$c = Get-Credential -Credential $user
$Credentials = New-Object System.Management.Automation.PSCredential -ArgumentList $c.UserName, $c.password
$user = $Credentials.UserName
$password = $Credentials.GetNetworkCredential().Password
$tokenCache = "outfile.json"
#replace <application-id> and <client_secret-id> with the Application ID from your Azure AD application registration
$Body = @{
'grant_type' = 'password'
'client_id'= '<application-id>'
'client_secret' = '<client_secret>'
'resource' = 'https://onestore.microsoft.com'
'username' = $user
'password' = $password
}
$webpage = Invoke-WebRequest 'https://login.microsoftonline.com/common/oauth2/token' -Method 'POST' -Body $Body -UseBasicParsing
$webpage.Content | Out-File $tokenCache -Encoding ascii
}
Observação
Recomendamos que você salve o arquivo JSON para uso posterior.
Obter a DLL de autenticação do Device Guard versão 2
Para assinar com o Device Guard Signing versão 2, obtenha o Microsoft.Acs.Dlib.dll baixando o pacote NuGet que será usado para assinar o pacote. Isso também é necessário para obter o certificado raiz.
Autentique o seu pacote
Depois de ter seu token de acesso do Azure AD, você estará pronto para usar o SignTool para assinar seu pacote com a assinatura do Device Guard. Para obter mais informações sobre como usar a SignTool para autenticar pacotes, consulte Autenticar um pacote do aplicativo usando a SignTool.
O exemplo de linha de comando a seguir demonstra como autenticar um pacote com a autenticação do Device Guard versão 2.
signtool sign /fd sha256 /dlib Microsoft.Acs.Dlib.dll /dmdf <Azure AAD in .json format> /t <timestamp-service-url> <your .msix package>
Observação
- Os certificados gerados para a autenticação do Device Guard v2 são válidos por um dia. Recomendamos que você use uma das opções de carimbo de data/hora ao autenticar seu pacote. Se você não aplicar um carimbo de data/hora, a autenticação expirará em um dia e o aplicativo precisará ser autenticado novamente.
- Verifique se o nome do fornecedor no manifesto do pacote corresponde ao certificado que você está usando para autenticar o pacote. Com esse recurso, será o seu certificado de folha. Por exemplo, se o certificado de folha for CompanyName, o nome do fornecedor no manifesto deverá ser CN=CompanyName. Caso contrário, haverá uma falha na operação de autenticação.
- Só há suporte para o algoritmo SHA256.
- Quando você autentica seu pacote com a autenticação do Device Guard, ele não está sendo enviado pela Internet.
Teste
Para testar, baixe o certificado raiz clicando em here ou baixando o pacote NuGet e obtendo-o com o comando:
Get-RootCertificate
Instale o certificado raiz em Autoridades de Certificação Raiz Confiáveis no seu dispositivo. Instale seu aplicativo recém-autenticado para verificar se você o autenticou com êxito com a autenticação do Device Guard.
Importante
Para obter o isolamento, implante a política de CI do WDAC para confiar em aplicativos autenticados com DGSSv2. Certifique-se de ler a documentação readme_cmdlets e a documentação de migração do DGSSv1 para o DGSSv2 incluída no pacote NuGet.
Erros comuns
Veja a seguir os erros comuns que podem ser encontrados.
- 0x800700d: esse erro comum significa que o formato do arquivo JSON do Azure AD é inválido.
- Talvez seja necessário aceitar os termos e condições de Microsoft Store para Empresas antes de baixar o certificado raiz da Assinatura do Device Guard. Isso pode ser feito adquirindo um aplicativo gratuito no portal.