Partilhar via


Exemplos de política de Lançamento de Chave Segura para Computação Confidencial do Azure

O Secure Key Release (SKR) só pode liberar chaves marcadas exportáveis com base nas declarações geradas pelo Microsoft Azure Attestation (MAA). Há uma estreita integração na definição da política SKR para reivindicações MAA. As declarações MAA por ambiente de execução confiável (TEE) podem ser encontradas aqui.

Siga a gramática da política para obter mais exemplos sobre como personalizar as políticas SKR.

Exemplos de políticas SKR do Intel SGX Application Enclaves

Exemplo 1: Política SKR baseada em Intel SGX validando os detalhes do MR Signer (signatário do enclave SGX) como parte das declarações MAA


{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Exemplo 2: Política SKR baseada em Intel SGX validando os detalhes do MR Signer (SGX enclave signer) ou MR Enclave como parte das reivindicações MAA


{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-mrenclave",
          "equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Exemplo 3: Política SKR baseada em Intel SGX validando o MR Signer (signatário do enclave SGX) e o MR Enclave com um mínimo de detalhes do número SVN como parte das reivindicações MAA

{
  "anyOf": [
    {
      "authority": "https://sharedeus2.eus2.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-sgx-mrsigner",
          "equals": "9fa48b1629bd246a1de3d38fb7df97f6554cd65d6b3b72e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-mrenclave",
          "equals": "9fa48b1629bg677jfsaawed7772e85b86848ae6b578ba"
        },
        {
          "claim": "x-ms-sgx-svn",
          "greater": 1
        }
      ]
    }
  ],
  "version": "1.0.0"
}

Exemplos confidenciais de políticas VM AMD SEV-SNP baseadas em VM TEE SKR

Exemplo 1: Uma política SKR que valida se este é compatível com o Azure CVM e está sendo executado em um hardware AMD SEV-SNP genuíno e a autoridade de URL MAA está espalhada por muitas regiões.

{
    "version": "1.0.0",
    "anyOf": [
        {
            "authority": "https://sharedweu.weu.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        },
        {
            "authority": "https://sharedeus2.weu2.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        }
    ]
}

Exemplo 2: Uma política SKR que valida se o CVM é um CVM compatível com o Azure e está sendo executado em um hardware AMD SEV-SNP genuíno e é de uma ID de máquina virtual conhecida. (As VMIDs são exclusivas no Azure)

{
  "version": "1.0.0",
  "allOf": [
    {
      "authority": "https://sharedweu.weu.attest.azure.net",
      "allOf": [
        {
          "claim": "x-ms-isolation-tee.x-ms-attestation-type",
          "equals": "sevsnpvm"
        },
        {
          "claim": "x-ms-isolation-tee.x-ms-compliance-status",
          "equals": "azure-compliant-cvm"
        },
        {
          "claim": "x-ms-azurevm-vmid",
          "equals": "B958DC88-E41D-47F1-8D20-E57B6B7E9825"
        }
      ]
    }
  ]
}

Contêineres confidenciais em instâncias de contêiner do Azure (ACI) Exemplos de política SKR

Exemplo 1: Contêineres confidenciais no ACI validando os contêineres iniciados e metadados de configuração de contêiner como parte da inicialização do grupo de contêineres com validações adicionais de que se trata de um hardware AMD SEV-SNP.

Nota

Os metadados de contêineres são um hash de política baseado em rego refletido como neste exemplo.

{
    "version": "1.0.0",
    "anyOf": [
        {
            "authority": "https://fabrikam1.wus.attest.azure.net",
            "allOf": [
                {
                    "claim": "x-ms-attestation-type",
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-compliance-status",
                    "equals": "azure-compliant-uvm"
                },
                {
                    "claim": "x-ms-sevsnpvm-hostdata",
                    "equals": "532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25"
                }
            ]
        }
    ]
}

Referências

Atestado do Microsoft Azure (MAA)

Conceito de liberação de chave segura e etapas básicas