Skip to content

Aembit enables your GitHub Actions workflows to retrieve credentials at runtime instead of storing secrets in GitHub. This eliminates the risk of secret sprawl, leaked credentials, and the operational burden of rotating secrets across repositories.

Aembit provides two ways to integrate with GitHub Actions:

OptionBest forKey benefit
Aembit GitHub ActionMost usersMinimal YAML Ain’t Markup Language (YAML) configuration, automatic OIDC handling
Aembit Edge Command-Line Interface (CLI)Advanced use casesFull CLI flexibility for custom scripts

The following examples show the difference between using the Aembit GitHub Action versus manually handling OIDC credential retrieval.

- name: Get credentials from Aembit
id: aembit
uses: Aembit/get-credentials@v1
with:
client-id: 'your-client-id'
server-host: 'api.example.com'
server-port: '443'
- name: Call API
env:
TOKEN: ${{ steps.aembit.outputs.token }}
run: |
curl -H "Authorization: Bearer $TOKEN" https://api.example.com/endpoint

The Aembit GitHub Action handles OIDC token exchange, credential retrieval, and secret masking automatically. Credentials are available as step outputs.

Attackers commonly target Continuous Integration/Continuous Deployment (CI/CD) pipelines because they often contain credentials for accessing production systems. Traditional approaches store these secrets in GitHub’s secrets manager, creating these risks:

  • Secret sprawl - Credentials duplicated across multiple repositories
  • Rotation burden - Updating secrets requires changes in every repo that uses them
  • Audit gaps - Difficult to track which workflows accessed which credentials
  • Breach exposure - Compromised repository secrets affect all workflows using them

With Aembit, your workflows request credentials at runtime using GitHub’s OpenID Connect (OIDC) identity. Aembit validates the request against your access policies and delivers just-in-time credentials for that job.

Instead of storing secrets in GitHub:

  1. Your workflow authenticates to Aembit using GitHub’s OIDC token
  2. Aembit validates the workflow identity against your 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
  3. If authorized by an 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, Aembit delivers the requested credential
  4. The credential exists only for that job

You can revoke access centrally, see every credential request in Aembit’s audit logs, and remove stored secrets from your repositories.

To use Aembit with GitHub Actions, you need:

  • An Aembit account
  • A GitHub repository with Actions enabled
  • The following Aembit entities configured:
    • 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 with GitHub Identifier (ID) Token identity
    • Trust Provider for GitHub Actions
    • 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 for the service you want to access
    • Server Workload: Server Workloads represent target services, APIs, databases, or applications that receive and respond to access requests from Client Workloads.Learn more for the target service
    • Access Policy linking these entities

Choose based on your experience:

  • New to Aembit? Follow the Guided tutorial for step-by-step setup
  • Experienced user? Jump to the How-To Guide for quick configuration
  • Need parameter reference? See the Reference for all action inputs and outputs