canonical: https://jentic.com/apis/azure.com/attestationclient

# Microsoft Azure AttestationClient

AttestationClient is the per-tenant Azure Attestation Service API used to verify the integrity of trusted execution environments such as Intel SGX enclaves and TPM-backed workloads. It exposes the OpenID Connect discovery document, the signing certificate set used to verify attestation tokens, and the policy management endpoints that govern how attestation requests are evaluated. Use this client to validate confidential compute workloads or to maintain attestation policy.

## For AI agents

Verify trusted execution environment attestations and manage attestation policies for Intel SGX and TPM-backed workloads on Azure from an AI agent.

## Scope

Does not issue enclave identities, generate attestation evidence, or operate the trusted execution environment itself - use for retrieving attestation tenant metadata and policy only.

## Capabilities

- Retrieve the OpenID Connect discovery metadata for the attestation tenant
- Fetch the signing certificate set used to verify attestation tokens
- Read the current attestation policy for an attestation type
- Update the attestation policy that governs how attestation requests are evaluated
- Validate enclave identity claims against an authoritative attestation tenant

## Use cases

### Confidential Compute Token Verification

Applications that consume attestation tokens issued by Azure Attestation must verify the token signature against the tenant's certificate set before trusting the enclave identity it claims. The /certs endpoint returns the JWKS, which a JWT library uses to verify the token. The /.well-known/openid-configuration endpoint provides the issuer and JWKS URI for standards-based JWT verification.

Example prompt: GET /.well-known/openid-configuration to discover the JWKS URI, GET /certs to fetch the signing keys, then verify the attestation JWT signature using the matching key by kid.

### Attestation Policy Governance

Security teams operating confidential workloads need to control which enclave images and configurations are accepted by the attestation tenant. The policy endpoints expose the current policy text and allow signed updates so audit trails are preserved. Updates are applied per attestation type (SGX, OpenEnclave, TPM, VBS).

Example prompt: Read the current policy via /operations/policy/current, prepare a new policy document signed with the policy management key, and POST to /operations/policy/updatepolicy.

### Enclave Identity Validation Pipeline

A relying party that issues secrets to confidential VMs only after validating the enclave's measurements relies on the attestation tenant to certify those measurements. Calling the certs and OIDC endpoints during startup (and refreshing on a cadence) keeps the verification path stateless and reproducible across instances.

Example prompt: On service startup, fetch and cache /.well-known/openid-configuration and /certs; on each attestation request, verify the JWT against the cached key by kid before releasing the secret.

### Agent-Driven Attestation Audit via Jentic

A security AI agent auditing a tenant's confidential compute posture can use Jentic to retrieve the current attestation policy without holding the tenant's policy management credentials. Jentic returns the policy schema and current text for review, supporting compliance documentation generation against published policy baselines.

Example prompt: Search Jentic for 'get current Azure Attestation policy', execute against the tenant for each attestation type, and compare the returned policy against the organisation's documented baseline.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /.well-known/openid-configuration | Retrieve the OpenID Connect discovery document for the attestation tenant |
| GET | /certs | Fetch the signing certificate set (JWKS) used to verify attestation tokens |
| GET | /operations/policy/current | Read the current attestation policy |
| POST | /operations/policy/updatepolicy | Update the attestation policy for an attestation type |

## Key resources

- **OpenID configuration** — Discover the issuer and JWKS endpoints for the attestation tenant
- **Certificates (JWKS)** — Retrieve the signing keys used to verify attestation tokens
- **Policy** — Read and update the per-attestation-type policy

## Why Jentic

- **Setup:** Wiring the Azure Attestation client by hand means resolving the per-tenant base URL such as https://mytenant.attest.azure.net, fetching the OpenID Connect discovery document and JWKS to verify token signatures, and registering an Azure AD app with OAuth 2.0 tokens for the policy endpoints yourself. Through Jentic you install once, import the Azure Attestation client from the API Directory, store the service principal credential once, and your agent calls it.
- **Permission scoping:** The verification endpoints (/.well-known/openid-configuration and /certs) are anonymous reads, while the policy operations sit at fixed paths (/operations/policy/current and /operations/policy/updatepolicy) with the attestation type carried in the request body, so scoping is by operation. Limit the agent to the operations it needs, such as reading the current policy or fetching signing certificates, so an update-policy call is never available unless you add it.
- **Credential handling:** Your Azure AD service principal credential authorized for attestation policy management is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived bearer token at execution time. The secret and the policy signing key never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get Azure Attestation signing certificates' or 'read the current SGX attestation policy', and Jentic returns the matching operation with its input schema so the agent verifies tokens or reviews policy without separately discovering the JWKS or OIDC discovery URL.

## Related APIs

- **Key Vault Client** — Release secrets to enclaves only after attestation succeeds
- **Authorization Management Client** — Manage RBAC role assignments for the attestation tenant
- **Policy Client** — Azure Policy for general resource governance, not TEE attestation

## FAQ

### What authentication does the AttestationClient use?

Azure Active Directory OAuth 2.0 bearer tokens for the policy management endpoints. The /.well-known/openid-configuration and /certs endpoints are anonymous, since they are needed to verify tokens before any authenticated call. Jentic securely stores the AAD token used for policy operations and issues a scoped session at call time.

### Can I update the SGX attestation policy through this API?

Yes. POST a signed policy document to /operations/policy/updatepolicy with the attestation type set to SGX-IntelSDK or OpenEnclave. The policy must be signed with a key that the tenant has authorised for policy management; the service rejects unsigned or improperly signed updates.

### What are the rate limits for the AttestationClient?

The discovery and JWKS endpoints are designed for high-frequency cached use and have generous limits. Policy management endpoints are infrequent administrative calls and are not a typical bottleneck. Specific quotas are not surfaced in the 2018-09-01-preview spec; consult Azure Attestation service quotas for current values.

### How do I verify an attestation token with this API through Jentic?

Search Jentic for 'get Azure Attestation signing certificates'. Jentic returns the schema for GET /certs. Execute it once and cache the JWKS, then use a JWT library to verify each attestation token's signature against the matching key by kid.

### Is Azure Attestation free?

Azure Attestation has a free tier covering a base volume of attestation calls per month, with paid tiers for higher throughput. The /.well-known/openid-configuration and /certs endpoints used for token verification are not metered. See Azure Attestation pricing for current call quotas.

### Where is the JWKS endpoint for verifying attestation tokens?

The JWKS is served from /certs on the per-tenant attestation URL. The discovery document at /.well-known/openid-configuration also references the JWKS URI under the jwks_uri field, which is the recommended way to locate the keys per OpenID Connect convention.

### Can I limit what my agent is allowed to do with the Azure Attestation API?

Yes. Because Jentic One is self-hosted, your own rules decide which of this API's operations and credentials the agent may use, and scoping here is by operation. You can allow only the reads the agent needs, such as fetching the signing certificates from /certs or reading the current policy at /operations/policy/current, while withholding the update at /operations/policy/updatepolicy. The anonymous discovery and certificate endpoints stay usable for token verification even when no policy write is granted.
