Get started with Aembit Desktop
Set up Aembit Desktop: Aembit Desktop gives a person working on a Windows 11 machine access to enterprise HTTP and HTTPS services without holding static credentials. The person signs in through their organization's Identity Provider, and a local proxy injects Aembit-brokered credentials into traffic from the tools they run. from an empty Aembit Tenant configuration to a working GitHub CLI request on a Windows 11 machine. You configure an Identity Provider and an Access Policy, install Aembit Desktop, sign in, and confirm that Aembit supplies the GitHub credential.
The example uses the GitHub REST API because it provides a short, observable test: gh repo list succeeds with a
placeholder token on the workstation while Aembit injects the real token.
Before you begin
Section titled “Before you begin”You need:
-
Administrator access to your Aembit Tenant: Aembit Tenants serve as isolated, dedicated environments within Aembit that provide complete separation of administrative domains and security configurations.Learn more and its default Resource Set: Resource Sets are organizational containers that group Access Policy components together, enabling you to manage configurations across different environments, regions, or use cases.Learn more, where you create every component in this tutorial.
-
Administrator access to an Identity Provider that supports OpenID Connect (OIDC) 1.0 or Security Assertion Markup Language (SAML) 2.0.
-
A GitHub fine-grained personal access token that can read at least one repository. Follow the GitHub REST API Key setup if you need to create one.
-
A Windows 11 machine where you can approve software installation and certificate trust changes.
-
The GitHub CLI installed on that machine. You don’t need to sign in to GitHub CLI.
Configure an Identity Provider if your Aembit Tenant doesn’t have one
- Follow Configure an OIDC 1.0 Identity Provider or Configure a SAML 2.0 Identity Provider to register Aembit with your provider and add the provider to your Aembit Tenant.
Configure Identity Provider user access
Section titled “Configure Identity Provider user access”-
In the Aembit Tenant UI, click Administration, click Identity Providers, open the Identity Provider that people use to sign in, and click Edit.
-
Click the Users tab and turn on Enable User Access.
-
Keep Token Lifetime at
24 Hoursand Absolute Token Lifetime at30 Dayfor this tutorial. -
Copy the Aembit Client ID, then click Save.
The person installing Aembit Desktop uses this client ID to sign in. It identifies the Identity Provider for Aembit Desktop sign-in. A Client Workload’s Aembit Client ID is a different value. See Configure Identity Provider user access for the lifetime limits and other available units.
Create the GitHub Access Policy
Section titled “Create the GitHub Access Policy”The Access Policy: Access Policies define, enforce, and audit access between Client and Server Workloads by cryptographically verifying workload identity and contextual factors rather than relying on static secrets.Learn more connects the signed-in person to the GitHub REST API and its credential. Create all four components in the Access Policy Builder so the example stays together.
Name the Access Policy
Section titled “Name the Access Policy”-
Click Access Policies in the left sidebar, then click New.
-
In the Access Policy panel, enter
Aembit Desktop to GitHubas the Name, then click Save.
Configure the Client Workload
Section titled “Configure the Client Workload”The Client Workload: Client Workloads represent software applications, scripts, or automated processes that initiate access requests to Server Workloads, operating autonomously without direct user interaction.Learn more identifies requests from people who signed in through the selected Identity Provider.
-
In the Client Workload card, click + Configure, then keep the Add New tab selected.
-
Enter
Aembit Desktop usersas the Name. -
Under Client Identification, select User Access IDP Client ID from the Type dropdown.
-
Select the Identity Provider where you enabled user access, click the plus button to add the identifier, then click Save.
Configure the Server Workload
Section titled “Configure the Server Workload”The Server Workload: Server Workloads represent target services, APIs, databases, or applications that receive and respond to access requests from Client Workloads.Learn more represents the GitHub REST API endpoint.
-
In the Server Workload card, click + Configure, then keep the Add New tab selected.
-
Enter
GitHub REST APIas the Name. -
Under Service Endpoint, enter
api.github.comas the Host and selectHTTPas the Application Protocol. -
Set Port to
443with TLS on, and set Forward to Port to443with TLS on. -
Under Authentication, select
HTTP Authenticationas the Authentication Method andBeareras the Authentication Scheme, then click Save.
Configure the Trust Provider
Section titled “Configure the Trust Provider”The Trust Provider: Trust Providers validate Client Workload identities through workload attestation, verifying identity claims from the workload's runtime environment rather than relying on pre-shared secrets.Learn more limits the Access Policy to the person running the test.
-
In the Trust Provider card, click + Configure, then keep the Add New tab selected.
-
Enter
Aembit Desktop test useras the Name and selectUser Identity Providerfrom the Trust Provider dropdown. -
Under Match Rules, select
subas the Attribute and enter the email address used to sign in to the Identity Provider as the Value.Aembit sets
subto the first email address it finds in the NameID, email, or User Principal Name (UPN) claim the Identity Provider sends, in lowercase. When none of them holds an email address,subholds another identifier from the Identity Provider, and a rule that matches an email address doesn’t match. -
Click Save.
Configure the Credential Provider
Section titled “Configure the Credential Provider”The Credential Provider: Credential Providers obtain the specific access credentials—such as API keys, OAuth tokens, or temporary cloud credentials—that Client Workloads need to authenticate to Server Workloads.Learn more stores the real GitHub token outside the workstation.
-
In the Credential Provider card, click + Configure, then keep the Add New tab selected.
-
Enter
GitHub fine-grained tokenas the Name and selectAPI Keyfrom the Credential Type dropdown. -
Paste the GitHub fine-grained personal access token into API Key, then click Save.
-
Click Save Policy & Activate.
The Access Policy is ready when each configured component shows a green check in the builder.
Install Aembit Desktop
Section titled “Install Aembit Desktop”Complete the remaining steps on the Windows 11 machine.
-
Download the Windows installer from the Aembit Desktop releases page.
-
Run
aembit_desktop_windows_amd64_<version>.msiand approve the administrator prompt. -
Open a new PowerShell window and confirm the installation:
Terminal window adt --version
Trust the Aembit Tenant certificate authority
Section titled “Trust the Aembit Tenant certificate authority”Aembit Desktop uses your Aembit Tenant’s certificate authority to handle encrypted requests through the local proxy. Add that certificate authority to the Windows trusted root store before testing GitHub.
-
Replace
abc123with the tenant ID from the beginning of your Aembit Tenant UI address, then save the certificate:Terminal window adt get-tenant-ca-cert --tenant-id abc123 --file aembit-tenant-ca.crtadtalso prints acertutilcommand that trusts the certificate for your Windows user only. The next step trusts it for the whole machine instead. -
Open PowerShell as an administrator and import the certificate:
Terminal window Import-Certificate -FilePath .\aembit-tenant-ca.crt -CertStoreLocation Cert:\LocalMachine\Root -
Close the administrator window, and run the rest of the
adtcommands from a regular PowerShell window. Background services started from an administrator window run with administrator privileges.
Start Aembit Desktop and sign in
Section titled “Start Aembit Desktop and sign in”-
Start the background services:
Terminal window adt start -
Replace the placeholder with the Aembit Client ID you copied from the Identity Provider, then sign in:
Terminal window adt login --client-id <aembit-client-id> -
Complete the Identity Provider sign-in in the browser. PowerShell displays
Login successful.when Aembit Desktop stores the session. -
Check the services and session:
Terminal window adt status
Test GitHub access
Section titled “Test GitHub access”GitHub CLI requires a token before it sends a request. Set an invalid placeholder token to let the command start. Aembit replaces it with the Credential Provider’s token as the request passes through the proxy.
-
In the same PowerShell window, open a shell that sends its HTTP and HTTPS traffic to Aembit Desktop:
Terminal window adt beta shelladt beta shellopens a new shell withHTTP_PROXYandHTTPS_PROXYset to the local proxy. The shell is PowerShell unless theSHELLenvironment variable names another program. -
Set the placeholder token in that shell:
Terminal window $env:GH_TOKEN = "placeholder" -
List repositories available to the token stored in the Credential Provider:
Terminal window gh repo list --limit 5A repository list confirms that the request reached GitHub with the Aembit-brokered credential. The placeholder value isn’t a valid GitHub token.
You now have a fully configured and tested Aembit Desktop path from a signed-in person to the GitHub REST API. The real GitHub token stays in the Credential Provider, while the workstation holds the person’s time-limited Aembit session.
Next steps
Section titled “Next steps”- Set up user access for Aembit Desktop - Adapt the Aembit configuration to another HTTP or HTTPS service or add more people
- Install Aembit Desktop and sign in - Review workstation setup, proxy variables, and session cleanup in more detail
- Use the AWS CLI with Aembit Desktop - Reach AWS through the same signed-in session
- Troubleshoot Aembit Desktop - Fix start, sign-in, settings, and certificate errors
- Aembit Desktop reference - See every
adtcommand, option, default, and limit