Read-only mirror of https://github.com/jeap-admin-ch/jeap-spring-boot-roles-anywhere-starter — Bundesamt für Informatik und Telekommunikation. Issues & pull requests at the source. Catalog: https://www.opensource.admin.ch/en/softwares/ew1lz0 https://www.opensource.admin.ch/en/softwares/ew1lz0
  • Java 99.6%
  • Shell 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-13 07:58:35 +02:00
.mvn/wrapper Added maven wrapper. 2025-07-23 14:47:23 +02:00
docs JEAP-7091: update documentation 2026-07-09 07:16:30 +02:00
jeap-spring-boot-roles-anywhere-starter Version 3.24.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:56:06 +02:00
jeap-spring-boot-roles-anywhere-starter-it Version 3.24.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:56:06 +02:00
.gitignore Initial commit. 2025-07-23 11:38:22 +02:00
AGENTS.md JEAP-7091: update documentation 2026-07-09 07:16:30 +02:00
CHANGELOG.md Version 3.24.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:56:06 +02:00
CONTRIBUTING.md Initial commit. 2025-07-23 12:46:53 +02:00
exclude-patterns.txt Added logic for file loading. 2025-07-23 16:55:53 +02:00
LICENSE Initial commit. 2025-07-23 11:38:22 +02:00
mvnw Initial commit. 2025-07-23 11:38:22 +02:00
pom.xml Version 3.24.0: Update parent from 8.9.1 to 8.10.0 2026-08-13 07:56:06 +02:00
publiccode.yml Update version/date in publiccode.yml 2026-08-13 07:58:35 +02:00
README.md [skip ci] JEAP-7091 Add docs 2026-06-18 16:26:05 +02:00
SECURITY.md Initial commit. 2025-07-23 11:38:22 +02:00
setPomVersions.sh Initial commit. 2025-07-23 11:38:22 +02:00
THIRD-PARTY-LICENSES.md Updating THIRD-PARTY-LICENSES.md 2026-08-13 07:57:15 +02:00

jEAP Spring Boot Roles Anywhere Starter

jEAP Spring Boot Roles Anywhere Starter is a Spring Boot starter that lets a jEAP service obtain temporary AWS credentials via AWS IAM Roles Anywhere. Using an X.509 client certificate and its private key, a service running outside AWS (for example an on-prem VM) can authenticate against a trust anchor and assume an IAM role, without long-lived AWS access keys and without the external aws_signing_helper credential helper. It provides:

  • Spring Boot auto-configuration that registers a @Primary AwsCredentialsProvider bean
  • Certificate-based authentication using AWS IAM Roles Anywhere (SigV4 X.509 request signing)
  • Credentials sourced from inline properties or from PEM files (with sensible default paths)
  • Automatic, non-blocking background refresh of the temporary session credentials before they expire
  • Works with AWS SDK v2 clients (used by jEAP Messaging for Kafka MSK IAM auth, Glue, S3, etc.)

Documentation

Start with Getting started, then follow the links below.

Topic File
Getting started (add the dependency, configure, use) docs/getting-started.md
Configuration reference (jeap.aws.rolesanywhere.*) docs/configuration.md
How it works (credential exchange & refresh) docs/how-it-works.md
Certificates and keys (formats, chains, file layout) docs/certificates-and-keys.md
Messaging integration (Kafka MSK IAM) docs/messaging-integration.md

Modules

Group id for all modules is ch.admin.bit.jeap; the version is managed by the jEAP Spring Boot parent. Consumers depend on the jeap-spring-boot-roles-anywhere-starter artifact.

Module Purpose
jeap-spring-boot-roles-anywhere-starter The starter: auto-configuration, credentials provider, certificate/key handling
jeap-spring-boot-roles-anywhere-starter-it Spring Boot integration tests for the auto-configuration

Changes

This library is versioned using Semantic Versioning and all changes are documented in CHANGELOG.md following the format defined in Keep a Changelog.

Note

This repository is part the open source distribution of jEAP. See github.com/jeap-admin-ch/jeap for more information.

Attributions

This project includes code from the following open-source projects:

[AWS IAM Roles Anywhere Java Client] Link: https://github.com/neuw/aws-iam-roles-anywhere License: Apache 2.0 Included Code: jEAP includes parts of the aws-iam-roles-anywhere project, primarily for integrating AWS certificate-based authentication. Changes: Modifications were made to adapt the code to project-specific requirements and Spring Boot integration.

License

This repository is Open Source Software licensed under the Apache License 2.0.