Skip to content

Aembit generates identifiers for tenants, Trust Providers, Client Workloads, and Resource Sets, and you supply some of them to Aembit CLI or an Edge Component at runtime. Three of them refer to Client Workloads and have similar names, so this page states which value each flag, environment variable, and annotation accepts.

Your taskIdentifierHow you supply it
Request credentials with Aembit CLIEdge SDK Client ID--client-id or AEMBIT_CLIENT_ID (Aembit CLI)
Select one Client Workload when two or more share a Trust ProviderAembit Client ID--client-workload-id (Aembit CLI), CLIENT_WORKLOAD_ID (Aembit CLI, Agent Proxy), aembit.io/client-id (Kubernetes)
Register an Agent Controller with your tenantTenant ID, Agent Controller IDAEMBIT_TENANT_ID, AEMBIT_AGENT_CONTROLLER_ID (Agent Controller)
Scope a request to a Resource SetResource Set ID--resource-set-id (Aembit CLI), AEMBIT_RESOURCE_SET_ID (Aembit CLI, Agent Proxy), aembit.io/resource-set-id (Kubernetes)
Look up a Client Workload in your tenant or through the APIClient Workload resource IDNo flag, variable, or annotation accepts this value

These three identifiers all relate to Client Workloads, and two of them share the same UUID format. Supplying the wrong one causes Access Policy matching to fail.

IdentifierWhat it identifiesWhere to find itHow you supply it
Edge SDK Client IDYour tenant and a Trust ProviderThe Trust Provider’s page in your Aembit Tenant--client-id, AEMBIT_CLIENT_ID (Aembit CLI)
Aembit Client IDOne specific Client WorkloadThe Client Workload’s Aembit Client ID Client Identification method--client-workload-id (Aembit CLI), CLIENT_WORKLOAD_ID (Aembit CLI, Agent Proxy), aembit.io/client-id (Kubernetes)
Client Workload resource IDThe Client Workload record itselfThe Aembit Tenant UI, and externalId in the REST APINo flag, variable, or annotation accepts this value

The Edge SDK Client ID is a structured identifier that encodes your region, tenant, and Trust Provider. Aembit generates it when you configure a Trust Provider.

Because it identifies a Trust Provider rather than a workload, every Client Workload that attests through the same Trust Provider uses the same Edge SDK Client ID.

Example:
aembit:useast2:a12bc3:identity:github_idtoken:63ab7be6-9785-4a14-be1c-2acf0253070b

To retrieve it, see Find your Edge SDK Client ID.

The Aembit Client ID is a UUID that Aembit generates when you choose Aembit Client ID as a Client Workload’s Client Identification method. It identifies a single Client Workload. Supply it when two or more workloads attest through the same Trust Provider and would otherwise match the same Access Policy.

A Client Workload has an Aembit Client ID only if you selected that identification method for it. Aembit matches the value only against that identifier type, so a workload identified solely by another method, such as hostname or source IP, never matches.

Example:
7e75e718-7634-480b-9f7b-a07bb5a4f11d

To generate one, see Aembit Client ID.

The Client Workload resource ID is the UUID Aembit assigns to every Client Workload when you create it. It appears in the Aembit Tenant UI and as externalId in the REST API, and you use it to reference that workload through the API.

No flag, environment variable, or annotation accepts this value. It uses the same UUID format as the Aembit Client ID.

Example:
f251f0c5-5681-42f0-a374-fef98d9a5005

The two values exist for different reasons, and they behave differently over time.

Aembit creates the resource ID with the workload itself. Every Client Workload has one, whatever identification method you configure, and it stays the same until you delete the workload. That stability is what automation depends on. The REST API addresses a workload by this value, and the Terraform provider uses it as the resource’s identity, so terraform import takes it.

The Aembit Client ID exists only when you add that Client Identification method, and Aembit generates a new UUID each time you add one. Removing the identifier and adding it back produces a different value, as does switching the type of an existing identifier to Aembit Client ID.

Aembit CLI reports the Client Workload resource ID in Access Policy matching errors, not the Aembit Client ID:

Error matching access policy. No Access Policy found. Matched client workload ID: [client-workload-id]. Matched server workload ID: [server-workload-id].

The phrase client workload ID in that message refers to the resource ID. Use it to look the workload up in your tenant or through the API.

Passing that value to --client-workload-id fails to match, because the flag accepts the Aembit Client ID instead. For the full message format and the other reasons Aembit reports, see Access Policy matching errors.

IdentifierWhat it identifiesWhere to find itHow you supply itFormat
Tenant IDYour Aembit TenantYour tenant’s URLAEMBIT_TENANT_IDShort string, such as 123abc
Agent Controller IDOne Agent ControllerEdge Components > Agent Controllers in your tenantAEMBIT_AGENT_CONTROLLER_IDUUID
Device codeAn Agent Controller registrationGenerated in your tenant for code-based registrationAEMBIT_DEVICE_CODESix digits, such as 123456
Resource Set IDOne Resource SetAdministration > Resource Sets in your tenant--resource-set-id, AEMBIT_RESOURCE_SET_ID, aembit.io/resource-set-idUUID

Agent Controller registration accepts either AEMBIT_AGENT_CONTROLLER_ID or AEMBIT_DEVICE_CODE, so you supply one or the other.

For the full list of variables each Edge Component accepts, see Edge Component environment variables and Client Workload annotations.

This request supplies the Edge SDK Client ID as --client-id and the target workload’s Aembit Client ID as --client-workload-id:

Terminal window
aembit credentials get \
--client-id "aembit:useast2:a12bc3:identity:github_idtoken:63ab7be6-9785-4a14-be1c-2acf0253070b" \
--client-workload-id "7e75e718-7634-480b-9f7b-a07bb5a4f11d" \
--server-workload-host "api.example.com" \
--server-workload-port 443

See aembit credentials get for every option.

Set the workload’s Aembit Client ID in the Agent Proxy service environment:

Terminal window
CLIENT_WORKLOAD_ID=7e75e718-7634-480b-9f7b-a07bb5a4f11d

Annotate the pod template with the workload’s Aembit Client ID:

template:
metadata:
annotations:
aembit.io/agent-inject: "enabled"
aembit.io/client-id: "7e75e718-7634-480b-9f7b-a07bb5a4f11d"