Share via


Exemplos de Política de Liberação de Chave Segura (SKR) para Computação Confidencial (ACC)

O SKR só pode liberar chaves marcadas exportáveis com base nas declarações geradas pelo Atestado do Microsoft Azure (MAA). Há uma forte integração na definição da política SKR às 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 (signatário do enclave SGX) ou do MR Enclave como parte das declaraçõ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 número SVN mínimo de detalhes como parte das declaraçõ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 de política VM AMD SEV-SNP confidencial baseada em VM TEE SKR

Exemplo 1: Uma política SKR que valida se este é o CVM compatível com o Azure e está sendo executado em um hardware AMD SEV-SNP genuíno e a autoridade de URL do 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 exemplos de política SKR de Instâncias de Contêiner do Azure (ACI)

Exemplo 1: Contêineres confidenciais na ACI validando os contêineres iniciados e os 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.

Observação

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 lançamento de chave segura e etapas básicas