For Agents
Issue temporary AWS credentials so an agent can assume a role, federate an external identity, or call AWS services with scoped, short-lived permissions.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the AWS Security Token Service, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with AWS Security Token Service API.
Assume an IAM role across accounts and receive temporary credentials via AssumeRole
Federate SAML 2.0 identity providers into AWS with AssumeRoleWithSAML
Exchange OIDC tokens (Cognito, Google, GitHub Actions) for AWS credentials via AssumeRoleWithWebIdentity
Issue short-lived session tokens for MFA-protected workflows with GetSessionToken
GET STARTED
Use for: I need to assume an IAM role and get temporary AWS credentials, Get the caller identity for the current AWS credentials, Federate a SAML user into AWS and return session credentials, Exchange a Google or Cognito OIDC token for AWS access keys
Not supported: Does not handle long-term IAM user creation, permission policy authoring, or directory management — use for issuing temporary, limited-privilege AWS credentials only.
Jentic publishes the only available OpenAPI document for AWS Security Token Service, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for AWS Security Token Service, keeping it validated and agent-ready. AWS Security Token Service (STS) issues temporary, limited-privilege credentials for IAM users and federated identities. It supports role assumption, SAML federation, web identity federation (OIDC), and short-lived session tokens used to call other AWS APIs. STS exposes 8 core actions covering AssumeRole, AssumeRoleWithSAML, AssumeRoleWithWebIdentity, GetSessionToken, GetFederationToken, GetCallerIdentity, GetAccessKeyInfo, and DecodeAuthorizationMessage, with both GET and POST variants for each.
Resolve the AWS account, ARN, and user ID behind the current credentials with GetCallerIdentity
Decode encoded authorization failure messages returned by AWS APIs
Look up the AWS account that owns a specific access key ID
Patterns agents use AWS Security Token Service API for, with concrete tasks.
★ Cross-Account Role Assumption
Grant an application running in account A temporary, scoped permissions in account B. AssumeRole returns a set of credentials valid from 15 minutes up to 12 hours, optionally restricted further by a session policy. Cross-account roles are the recommended pattern for CI pipelines, multi-tenant SaaS, and partner integrations where long-term access keys are unsafe to share.
Call AssumeRole with RoleArn arn:aws:iam::123456789012:role/ReadOnlyAccess, RoleSessionName agent-session, and DurationSeconds 3600, then return the AccessKeyId, SecretAccessKey, and SessionToken.
Web Identity Federation for OIDC Workloads
Let a workload that already holds an OIDC token (GitHub Actions job, Kubernetes pod with IRSA, mobile app authenticated via Cognito) call AWS without provisioning long-term keys. AssumeRoleWithWebIdentity validates the JWT, checks the trust policy on the target role, and returns short-lived AWS credentials, eliminating static secrets from CI runners and edge devices.
Call AssumeRoleWithWebIdentity with the GitHub Actions OIDC JWT in WebIdentityToken, RoleArn arn:aws:iam::123456789012:role/GitHubDeployer, and RoleSessionName gh-actions-build-42.
Identity Verification for Audit Logs
Confirm which principal is making AWS calls before logging or branching on identity. GetCallerIdentity returns the Account, Arn, and UserId of the credentials in use without requiring any IAM permissions. It is the standard probe for sanity-checking which role a Lambda, CodeBuild project, or assumed-role session is actually running as.
Call GetCallerIdentity and return the Account, Arn, and UserId of the active session.
Agent-Driven Temporary Credential Provisioning via Jentic
When an AI agent needs to call other AWS services on behalf of a user, it should not hold long-lived keys. Through Jentic, the agent submits an intent like 'assume the read-only role and list S3 buckets'; Jentic executes AssumeRole with a scoped session policy, holds the resulting credentials in its vault, and signs subsequent API calls on the agent's behalf. The agent never sees the SecretAccessKey.
Through Jentic, search for 'assume an aws iam role', load the AssumeRole operation schema, and execute it with RoleArn and a session policy that restricts the agent to s3:GetObject on a single bucket.
16 endpoints — jentic publishes the only available openapi specification for aws security token service, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/#Action=AssumeRole
Assume an IAM role and receive temporary credentials
/#Action=AssumeRoleWithSAML
Federate a SAML 2.0 identity into AWS
/#Action=AssumeRoleWithWebIdentity
Exchange an OIDC token for AWS credentials
/#Action=GetCallerIdentity
Return the principal of the current credentials
/#Action=GetSessionToken
Get an MFA-protected session token
/#Action=DecodeAuthorizationMessage
Decode an encoded AWS authorization failure
/#Action=AssumeRole
Assume an IAM role and receive temporary credentials
/#Action=AssumeRoleWithSAML
Federate a SAML 2.0 identity into AWS
/#Action=AssumeRoleWithWebIdentity
Exchange an OIDC token for AWS credentials
/#Action=GetCallerIdentity
Return the principal of the current credentials
/#Action=GetSessionToken
Get an MFA-protected session token
Three things that make agents converge on Jentic-routed access.
Credential isolation
AWS access keys for AWS Security Token Service (used to compute the AWS Signature v4 HMAC in the Authorization header) are held encrypted in the Jentic vault. Agents receive scoped, short-lived execution permissions; the raw access key ID and secret access key never enter the agent's prompt or memory.
Intent-based discovery
Agents call Jentic with an intent like 'assume an aws iam role and get temporary credentials' and Jentic returns the matching AWS Security Token Service operation along with its input schema, so the agent can invoke the right action without parsing AWS service docs.
Time to first call
Direct integration with AWS Security Token Service: 2-4 days to wire up SigV4 signing, error handling, retries, and IAM scoping. Through Jentic: under an hour — search by intent, load the operation schema, execute.
Alternatives and complements available in the Jentic catalogue.
Amazon Cognito Identity
Cognito Identity issues AWS credentials to mobile and web app users via identity pools, while STS targets server-side role assumption.
Choose Cognito Identity when end-users authenticate from a mobile or web client; choose STS when a backend service or agent needs to assume an IAM role.
AWS Single Sign-On
AWS SSO manages workforce identity and SAML federation into AWS accounts; STS is the underlying mechanism that issues the resulting temporary credentials.
Use AWS SSO to manage which users can access which accounts; use STS to fetch the actual session credentials once federated.
AWS CloudTrail
CloudTrail records every STS call (AssumeRole, GetCallerIdentity, etc.) so you can audit who assumed what role and when.
Pair STS with CloudTrail when you need a forensic trail of role-assumption activity.
Specific to using AWS Security Token Service API through Jentic.
Why is there no official OpenAPI spec for AWS Security Token Service?
AWS does not publish an OpenAPI specification for AWS Security Token Service; it ships Smithy models and language-specific SDKs instead. Jentic generates and maintains this OpenAPI spec so that AI agents and developers can call AWS Security Token Service via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the AWS Security Token Service use?
STS uses AWS Signature Version 4 (SigV4): an HMAC-SHA256 signature over the request, sent in the Authorization header. Through Jentic, your AWS access key ID and secret access key sit encrypted in the vault and Jentic computes the SigV4 signature for each call, so the raw secret never enters the agent's context.
Can I use STS to grant cross-account access to an external partner?
Yes. Create an IAM role in your account whose trust policy lists the partner's AWS account ID (and optionally an ExternalId), then have the partner call AssumeRole with that RoleArn. They receive temporary credentials scoped to that role's permissions, with no long-term keys exchanged.
What are the rate limits for the AWS Security Token Service?
STS has a default account-level rate of around 600 transactions per second per region for AssumeRole and similar actions, with higher limits available on request. The regional STS endpoint (sts.us-east-1.amazonaws.com style) gives lower latency than the global sts.amazonaws.com endpoint.
How do I assume a role through Jentic?
Search Jentic with the intent 'assume an aws iam role', load the schema for AssumeRole, and execute with RoleArn, RoleSessionName, and an optional DurationSeconds. Jentic returns the temporary AccessKeyId, SecretAccessKey, and SessionToken in a structured response.
Is AWS STS free to use?
Yes. STS itself has no charge; you pay only for the underlying AWS resources the temporary credentials are used to access.
What is the difference between AssumeRole and GetSessionToken?
AssumeRole switches into a different IAM role (often in another account) and returns credentials with that role's permissions. GetSessionToken keeps the same identity as the calling user but returns short-lived credentials, typically used to satisfy an MFA requirement before performing a privileged action.
/#Action=DecodeAuthorizationMessage
Decode an encoded AWS authorization failure