AuthFI Connect

One login for
AWS, GCP, Azure, and OCI.

Your team shouldn't need 4 logins, 4 MFA tokens, and 4 admin consoles. AuthFI gives every user one identity that works across all clouds — with permissions you control from a single dashboard.

👤 USER one login
🔑 AuthFI role → cloud IAM
☁️ AWS STS AssumeRole
☁️ GOOGLE CLOUD Workload Identity
☁️ AZURE Managed Identity
☁️ ORACLE CLOUD Workload Identity

The multi-cloud IAM problem

Every cloud has its own identity system. Your team juggles 4 directories, 4 MFA setups, 4 admin consoles. Onboarding takes hours. Offboarding is a security risk. Audits take weeks.

Before — Without AuthFI
AWS
AWS IAM Identity Center
Separate directory, separate MFA, separate console
GCP
Google Cloud IAM
Separate directory, separate MFA, separate console
Azure
Azure Entra ID
Separate directory, separate MFA, separate console
OCI
Oracle Cloud IAM
Separate directory, separate MFA, separate console
4
directories
4
MFA setups
30+
min to onboard
After — With AuthFI
One AuthFI Login
Email + password + MFA (one time)
|
AWS
Federated SSO
GCP
Workforce IdP
Azure
OIDC Federation
OCI
Identity Federation
1
directory
1
MFA setup
30s
to onboard

How federation works

No cloud passwords. No cloud IAM users. AuthFI acts as a trusted Identity Provider. Each cloud trusts AuthFI's OIDC tokens and issues temporary credentials. Five steps, zero static keys.

1

User authenticates with AuthFI

Email + password, SSO, magic link, passkey — any method you've configured.

alice@acme.com logs in via SAML SSO (Okta)
MFA verified (TOTP)
Session established
Roles: [admin, cloud-admin] Groups: [engineering]
2

AuthFI issues an OIDC token

Standard JWT with user identity, roles, groups, and MFA status. Signed by AuthFI's JWKS.

JWT payload:
{
  "sub": "user_abc123",
  "email": "alice@acme.com",
  "roles": ["admin", "cloud-admin"],
  "groups": ["engineering"],
  "mfa_verified": true,
  "iss": "https://acme.authfi.app"
}
3

Cloud trusts AuthFI as Identity Provider

You configure each cloud to trust AuthFI's OIDC issuer. One-time setup per cloud account.

AWS  OIDC Identity Provider → trusts acme.authfi.app
GCP  Workforce Identity Pool → provider: authfi
Azure Federated Credential → issuer: acme.authfi.app
OCI  Identity Provider → OIDC: acme.authfi.app

// Each cloud validates AuthFI's JWT signature via JWKS endpoint
4

Temporary credentials issued

Cloud exchanges AuthFI token for time-limited cloud credentials. No static keys.

AWS  STS AssumeRoleWithWebIdentity → temp AccessKey (1h)
GCP  STS token exchange → federated access_token (1h)
Azure JWT-bearer OBO flow → Azure access_token (1h)
OCI  OIDC token exchange → OCI session token (1h)
5

User lands in cloud console

Already logged in, scoped to their role. No cloud password. No cloud MFA. Just AuthFI.

AWS
console.aws.amazon.com
GCP
console.cloud.google.com
Azure
portal.azure.com
OCI
cloud.oracle.com

Role mapping

Map AuthFI roles and groups to cloud IAM roles. One mapping controls access across all four clouds. Change a role in AuthFI, access updates everywhere.

AuthFI RoleAWS AWS IAM RoleGCP GCP RoleAzure Azure RoleOCI OCI Role
doctorHealthcareViewerHealthcare Dataset ViewerFHIR Data Reader
adminPowerUserAccessroles/editorContributorComputeAdmin
financeBillingViewAccessroles/billing.viewerBilling ReaderBillingViewer
developerS3ReadOnlyroles/viewerReaderObjectViewer
devopsAdministratorAccessroles/ownerOwnerAdministrator
Configuration example:

role: doctor
  mappings:
    - provider: aws  role: arn:aws:iam::123:role/HealthcareViewer
    - provider: gcp  role: roles/healthcare.datasetViewer
    - provider: azurerole: FHIR Data Reader

group: engineering
  mappings:
    - provider: aws  role: arn:aws:iam::123:role/DevReadOnly
    - provider: gcp  role: roles/viewer

Console SSO — one click to any cloud

Users click "Open Console" and land inside the cloud provider's dashboard — already logged in, scoped to their role. No cloud password. No cloud MFA prompt. Just AuthFI.

alice@acme.com — role: cloud-admin
AWS
AWS Production
PowerUserAccess
Open Console Copy Creds
GCP
GCP Analytics
roles/editor
Open Console Copy Creds
Azure
Azure Enterprise
Contributor
Open Console Copy Creds
OCI
OCI Production
ComputeAdmin
Open Console Copy Creds
Click "Open Console" → lands in cloud dashboard, already logged in.
Click "Copy Creds" → temp credentials copied to clipboard for CLI/SDK.

Workload identity — no static keys

Your applications get cloud credentials on behalf of users — without storing any static keys. The SDK handles the token exchange. Credentials are temporary and scoped.

SDK — your app gets cloud creds

// Node.js — upload to GCS on behalf of user
const creds = await authfi.cloud("gcp", {
  account: "analytics-prod",
  token: req.user.token
});

// Returns temporary access_token
creds.access_token // ya29.xxx (1h)
creds.expires_in   // 3600

API — direct credential exchange

POST /v1/acme/cloud/user-credentials
Authorization: Bearer <user-jwt>

{ "account_id": "aws-prod-uuid" }

→ Response:
{
  "credentials": {
    "access_key_id": "ASIA...",
    "secret_access_key": "...",
    "session_token": "..."
  },
  "expires_in": 3600
}
Python — deploy to S3 on behalf of user:

creds = authfi.cloud("aws", account="production", token=user.token)

s3 = boto3.client("s3",
  aws_access_key_id=creds["access_key_id"],
  aws_secret_access_key=creds["secret_access_key"],
  aws_session_token=creds["session_token"]
)
s3.upload_file("report.pdf", "acme-reports", "q1/report.pdf")

# Credentials expire in 1 hour. No static keys anywhere.

Policy conditions

Control when and how cloud access is granted. Attach conditions to any role mapping — MFA, IP, time windows, max session duration.

MFA required

Force MFA verification before issuing cloud credentials. Critical for admin and production roles.

require_mfa: true
// User must have mfa_verified in their JWT

IP restrictions

Restrict cloud access to trusted networks. Office IPs, VPN ranges, or specific CIDR blocks.

allowed_ips: ["10.0.0.0/8", "203.0.113.0/24"]
// Access denied from untrusted IPs

Time windows

Limit access to business hours. No production access at 3 AM on a Saturday.

time_window:
  start: "09:00" end: "18:00"
  tz: "America/New_York" days: ["mon"-"fri"]

Max session duration

Limit how long cloud credentials are valid. Short sessions for sensitive environments.

max_session: 1800 // 30 minutes
// Credentials auto-expire, must re-authenticate
Full mapping with conditions:

role: cloud-admin → AWS FullAccess
conditions:
  require_mfa: true
  allowed_ips: ["10.0.0.0/8"]
  time_window: 09:00–18:00 UTC, Mon–Fri
  max_session: 3600

// Access denied outside business hours, from untrusted IPs, or without MFA.

Full cloud access audit trail

Every cloud credential issuance and console signin is logged. Who accessed what cloud, with which role, when, for how long, with or without MFA. One report for auditors.

TIMEUSERPROVIDERROLETYPEDURATIONMFA
10:30:05alice@acme.comAWSPowerUserAccessconsole1hverified
10:32:12alice@acme.comGCPEditorcredentials1hverified
10:45:00bob@acme.comAWSS3ReadOnlycredentials30m---
11:00:33charlie@acme.comAzureContributorconsole1hverified
11:15:08diana@acme.comOCIComputeAdmincredentials1hverified
11:20:44eve@acme.comGCPViewerconsole2h---

vs. other approaches

AuthFIAWS AWS IAM Identity CenterEntra Azure EntraManual IAM
Multi-cloud from one IdPAWS + GCP + Azure + OCIAWS onlyAzure onlyPer-cloud config
Onboarding time30 seconds~10 min~10 min30+ min x4 clouds
OffboardingDisable user, all clouds lockedAWS onlyAzure onlyDisable in each cloud
Console SSOOne click, all cloudsAWS onlyAzure + GCP (limited)Per-cloud login
Temporary credentialsAll clouds via API/SDKAWS STSAzure tokensStatic keys
Role mappingCentral, group + role basedPermission setsApp rolesPer-cloud IAM
MFA per mappingYes, per cloud + roleSession-levelConditional AccessPer-cloud config
IP restrictionsPer mappingSCP/policyNamed locationsPer-cloud config
Time-based accessBuilt-inPIM (P2 license)Manual rotation
Unified audit logAll clouds, one logCloudTrail onlyAzure AD logs onlySeparate per cloud
Workload identitySDK + APIManaged identityStatic keys

Available on Pro and above. See pricing →

One platform. Every identity layer.
Free to start.

Free for 5,000 users. Upgrade when you're ready.

Start building free →

Startups and enterprises get 1 year free →