Guia de início rápido: configurar o Atestado do Azure com o Azure PowerShell
Siga as etapas abaixo para criar e configurar um provedor de atestado usando o Azure PowerShell. Consulte Visão geral do Azure PowerShell para obter informações sobre como instalar e executar o Azure PowerShell.
Nota
O módulo Az.Attestation PowerShell agora está integrado ao módulo Az PowerShell. Versão mínima do módulo Az necessária para suportar operações de atestado:
- Az PowerShell módulo 6.5.0
A Galeria do PowerShell preteriu as versões 1.0 e 1.1 do Transport Layer Security (TLS). TLS 1.2 ou uma versão posterior é recomendado. Portanto, você pode receber os seguintes erros:
- AVISO: Não é possível resolver a origem do pacote 'https://www.powershellgallery.com/api/v2'
- PackageManagement\Install-Package: Não foi encontrada nenhuma correspondência para os critérios de pesquisa especificados e o nome do módulo
Para continuar a interagir com a Galeria do PowerShell, execute o seguinte comando antes dos comandos Install-Module
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Iniciar sessão no Azure
Entre no Azure no console do PowerShell (sem privilégios de acesso elevados).
Connect-AzAccount
Se necessário, mude para a assinatura a ser usada para o Atestado do Azure.
Set-AzContext -Subscription <subscription id>
Registrar provedor de recursos Microsoft.Attestation
Registre o provedor de recursos Microsoft.Attestation na assinatura. Para obter mais informações sobre provedores de recursos do Azure e como configurar e gerenciar provedores de recursos, consulte Provedores e tipos de recursos do Azure. O registro de um provedor de recursos é necessário apenas uma vez para uma assinatura.
Register-AzResourceProvider -ProviderNamespace Microsoft.Attestation
Disponibilidade regional do Atestado do Azure
(Get-AzResourceProvider -ProviderNamespace Microsoft.Attestation)[0].Locations
Criar um grupo de recursos do Azure
Crie um grupo de recursos para o provedor de atestado. Outros recursos do Azure (incluindo uma máquina virtual com instância de aplicativo cliente) podem ser colocados no mesmo grupo de recursos.
$location = "uksouth"
$attestationResourceGroup = "<attestation provider resource group name>"
New-AzResourceGroup -Name $attestationResourceGroup -Location $location
Nota
Depois que um provedor de atestado é criado nesse grupo de recursos, um usuário do Microsoft Entra deve ter a função de Colaborador de Atestado no provedor para executar operações como configuração de política/gerenciamento de certificados de signatário de política. Essas permissões também podem ser herdadas com funções como Proprietário (permissões curinga)/ Colaborador (permissões curinga) no grupo de assinaturas/recursos.
Criar e gerenciar um provedor de atestado
New-AzAttestation cria um provedor de atestado.
$attestationProvider = "<attestation provider name>"
New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location
PolicySignerCertificateFile é um arquivo que especifica um conjunto de chaves de assinatura confiáveis. Se um nome de arquivo for especificado para o parâmetro PolicySignerCertificateFile, o provedor de atestado poderá ser configurado somente com políticas no formato JWT assinado. A política Else pode ser configurada em texto ou em um formato JWT não assinado.
New-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Location $location -PolicySignersCertificateFile "C:\test\policySignersCertificates.pem"
Para o exemplo PolicySignersCertificateFile, consulte exemplos de certificado de signatário de política.
Get-AzAttestation recupera as propriedades do provedor de atestado, como status e AttestURI. Tome nota do AttestURI, pois será necessário mais tarde.
Get-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup
O comando acima deve produzir saída neste formato:
Id:/subscriptions/MySubscriptionID/resourceGroups/MyResourceGroup/providers/Microsoft.Attestation/attestationProviders/MyAttestationProvider
Location: MyLocation
ResourceGroupName: MyResourceGroup
Name: MyAttestationProvider
Status: Ready
TrustModel: AAD
AttestUri: https://MyAttestationProvider.us.attest.azure.net
Tags:
TagsTable:
Os provedores de atestado podem ser excluídos usando o cmdlet Remove-AzAttestation.
Remove-AzAttestationProvider -Name $attestationProvider -ResourceGroupName $attestationResourceGroup
Gestão de políticas
Para gerenciar políticas, um usuário do Microsoft Entra requer as seguintes permissões para "Ações":
- Microsoft.Attestation/attestationProviders/attestation/read
- Microsoft.Attestation/attestationProviders/attestation/write
- Microsoft.Attestation/attestationProviders/attestation/delete
Para executar essas ações, um usuário do Microsoft Entra deve ter a função de Colaborador de Atestado no provedor de atestado. Essas permissões também podem ser herdadas com funções como Proprietário (permissões curinga)/ Colaborador (permissões curinga) no grupo de assinaturas/recursos.
Para ler políticas, um usuário do Microsoft Entra requer a seguinte permissão para "Ações":
- Microsoft.Attestation/attestationProviders/attestation/read
Para executar essa ação, um usuário do Microsoft Entra deve ter a função de Leitor de Atestado no provedor de atestado. As permissões de leitura também podem ser herdadas com funções como Reader (permissões curinga) no grupo de assinatura/recursos.
Esses cmdlets do PowerShell fornecem gerenciamento de políticas para um provedor de atestado (um TEE de cada vez).
Get-AzAttestationPolicy retorna a política atual para o TEE especificado. O cmdlet exibe a política no formato texto e JWT da política.
$teeType = "<tee Type>"
Get-AzAttestationPolicy -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType
Os tipos de TEE suportados são "SgxEnclave", "OpenEnclave" e "VbsEnclave".
Set-AttestationPolicy define uma nova política para o TEE especificado. O cmdlet aceita a política no formato texto ou JWT e é controlado pelo parâmetro PolicyFormat. "Text" é o valor padrão para PolicyFormat.
$policyFormat = "<policy format>"
$policy=Get-Content -path "C:\test\policy.txt" -Raw
Set-AzAttestationPolicy -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType -Policy $policy -PolicyFormat $policyFormat
Se PolicySignerCertificateFile for fornecido durante a criação de um provedor de atestado, as políticas poderão ser configuradas somente no formato JWT assinado. A política Else pode ser configurada em texto ou em um formato JWT não assinado.
A política de atestado no formato JWT deve conter uma declaração chamada "AttestationPolicy". Para a política assinada, o JWT deve ser assinado com a chave privada correspondente a qualquer um dos certificados de signatário de política existentes.
Para exemplos de políticas, consulte exemplos de uma política de atestado.
Reset-AzAttestationPolicy redefine a política como padrão para o TEE especificado.
Reset-AzAttestationPolicy -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Tee $teeType
Gerenciamento de certificados de signatário de políticas
Estes cmdlets do PowerShell fornecem gerenciamento de certificados de signatário de política para um provedor de atestado:
Get-AzAttestationPolicySigners -Name $attestationProvider -ResourceGroupName $attestationResourceGroup
Add-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>
Remove-AzAttestationPolicySigner -Name $attestationProvider -ResourceGroupName $attestationResourceGroup -Signer <signer>
O certificado de signatário da política é um JWT assinado com a declaração denominada "maa-policyCertificate". O valor da declaração é um JWK, que contém a chave de assinatura confiável a ser adicionada. O JWT deve ser assinado com a chave privada correspondente a qualquer um dos certificados de signatário de política existentes.
Toda a manipulação semântica do certificado de signatário da política deve ser feita fora do PowerShell. No que diz respeito ao PowerShell, é uma cadeia de caracteres simples.
Para obter um exemplo de certificado de signatário de política, consulte exemplos de certificado de signatário de política.
Para obter mais informações sobre os cmdlets e seus parâmetros, consulte Azure Attestation PowerShell cmdlets