Skip to main content

Plug-and-play client for onboarding users against a self-hosted IAM Roles Anywhere Central CA

Project description

rolesanywhere-onboard

Plug-and-play client for onboarding users against a self-hosted IAM Roles Anywhere Central CA.

Cross-platform (Linux, macOS, Windows) — the only non-stdlib dependency is cryptography for local RSA keypair generation (Python has no built-in asymmetric crypto, and this avoids depending on a system openssl binary, which Windows doesn't ship by default).

Install

pip install rolesanywhere-onboard

CLI

rolesanywhere-onboard --url <ApiEndpoint> --secret <ApiKeyValue> --name alice \
    --trust-anchor-arn <arn> --profile-arn <arn> --role-arn <arn> --days 365

Admin mode (uses your own AWS credentials instead of a shared API key):

rolesanywhere-onboard --lambda <IssuerFunctionName> --name alice \
    --trust-anchor-arn <arn> --profile-arn <arn> --role-arn <arn>

As a library

from rolesanywhere_onboard import request_certificate, get_credentials

result = request_certificate(url="...", secret="...", name="alice", days=365)
creds = get_credentials(result.cert_path, result.key_path,
                         trust_anchor_arn, profile_arn, role_arn)
# {"AccessKeyId": ..., "SecretAccessKey": ..., "SessionToken": ..., "Expiration": ...}

Requirements

  • Python 3.13+
  • The aws CLI, but only if using --lambda (admin) mode — the public --url/--secret mode needs no AWS credentials or tooling at all.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rolesanywhere_onboard-1.0.0.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rolesanywhere_onboard-1.0.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file rolesanywhere_onboard-1.0.0.tar.gz.

File metadata

  • Download URL: rolesanywhere_onboard-1.0.0.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for rolesanywhere_onboard-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e9a7176995e12d0798bdc4a99823c9ec72c00f6216e34573f6b3e86bd1a548dd
MD5 86e9645fc4cbabe94aaeb1a77d5fbdb4
BLAKE2b-256 ea88c43b591d24b7bd649f4bfbffd5e6b5662757c122e4252c3921f14a032f28

See more details on using hashes here.

File details

Details for the file rolesanywhere_onboard-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rolesanywhere_onboard-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e45cd7b626d19c0d7c23ff60a7f7d2d462c3821a18a6e5691db6ef3b8811e09b
MD5 1c657b8ba2a47257f6c80f74e6729f6f
BLAKE2b-256 f0821c54f11c6fbae59ae277645bbd04c4b6639f784b96355012b7260dd5a187

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page