Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Doctrine Aws Iam Rds Auth Bundle Laravel Package

macpaw/doctrine-aws-iam-rds-auth-bundle

Symfony bundle for Doctrine DBAL that enables Amazon RDS connections using AWS IAM authentication. It generates short-lived IAM auth tokens instead of static database passwords, helping PHP applications manage database credentials more securely.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Passwordless database access initiative. This bundle sits on the critical path for removing static RDS credentials from config, .env files, and secrets managers. It generates short-lived IAM auth tokens and hands them to Doctrine DBAL, so the "no database passwords anywhere" roadmap item becomes a config change rather than a re-architecture.
  • Build vs. buy (integrate). The functional core — signing an RDS auth token via the AWS SDK and injecting it as the connection password — is roughly a day of work for a competent PHP engineer. This package's real value is the DBAL/Symfony wiring, token caching, and connection lifecycle handling. That makes it a cheap "adopt and wrap" candidate rather than a strategic dependency.
  • v1.1.0 specifically unlocks the compatibility decision. Support for Doctrine DBAL 3.0 and 4.0 is the reason this is adoptable now: DBAL 3.x is what current Laravel (9/10/11) and Symfony 6/7 stacks actually run on, and DBAL 4 support future-proofs the upgrade path. Before this release the package was effectively pinned to a DBAL generation most teams have already moved past — that was a hard blocker, and it is now removed.
  • Feature work it enables. Per-environment/per-region credential scoping, IAM-role-based access in ECS/EKS/Lambda workloads, and auditable DB connections where CloudTrail records who connected rather than just which shared password was used.
  • Compliance and security posture work. Supports least-privilege narratives for SOC 2 / ISO reviews (no long-lived DB secrets to rotate, scope, or leak) and simplifies credential rotation runbooks — rotation becomes AWS's problem, not an on-call ticket.
  • What it does not decide for you. It is not a Laravel first-party package; it is a Symfony bundle built on Doctrine, so a Laravel adoption is really a "Doctrine DBAL integration" decision. Treat any Laravel framing as indirect and verify the wiring against your actual connection resolver before committing roadmap language to it.

When to Consider This Package

Adopt when most of these are true:

  • You run AWS RDS for MySQL or PostgreSQL with IAM database authentication enabled (Aurora included; check engine/version support first).
  • Your stack is PHP 8+ with Doctrine DBAL 3.x or 4.x — Symfony applications directly, or a Laravel app that either uses Doctrine or can register a custom DBAL connection.
  • Your workloads authenticate via IAM roles (ECS task roles, EKS IRSA, EC2 instance profiles, Lambda execution roles), so tokens can be minted without static AWS keys.
  • You have a secrets-sprawl or rotation burden that is costing engineering time or audit findings.
  • You can tolerate a small, single-maintainer package and are willing to wrap it behind an internal adapter so the exit cost stays low.

Look elsewhere when:

  • You need connection pooling or RDS Proxy semantics. IAM auth through a proxy introduces its own token/username rules that this bundle does not address.
  • You are on Aurora Serverless v1 Data API — different access pattern entirely, no DBAL connection involved.
  • Your app talks to the database without Doctrine (raw PDO, Eloquent without DBAL, or a non-PHP service). The integration value disappears and you should implement token minting directly against the AWS SDK.
  • You require a vendor-supported package with an SLA, security disclosure process, and multiple maintainers. This is a MacPaw open-source utility, maintained by effectively one contributor, with a short release history (v1.0.1 → v1.1.0) and no published support commitments.
  • You are multi-cloud or on non-AWS infrastructure — the whole premise is AWS IAM.
  • You need fine-grained observability (per-connection token refresh metrics, failure alerting) out of the box; expect to instrument this yourself.

Release-specific read for v1.1.0: the meaningful change is the DBAL 3.0/4.0 compatibility expansion. There are no breaking changes signalled, no deprecations, and no new features beyond the version range widening — so this is a green light to adopt, not a migration event. The "revert changes from develop" entry is a release-hygiene smell (branch/release workflow churn) rather than a functional risk, but it reinforces the recommendation to pin the version and review diffs before upgrading.

How to Pitch It (Stakeholders)

One-liner for executives: This is a small, low-cost integration that lets our PHP services connect to AWS RDS without storing database passwords, using the same IAM identity model we already trust for everything else — it advances our passwordless-secrets goal with roughly a sprint-day of engineering, not a project.

For engineering leadership:

  • What it does: generates short-lived AWS IAM authentication tokens and supplies them to Doctrine DBAL as the connection credential, so no static DB password exists in config, images, or CI.
  • Why now: v1.1.0 adds support for Doctrine DBAL 3.0 and 4.0. That is the compatibility band our Laravel and Symfony services actually run on, and it clears the only real adoption blocker. There are no breaking changes in this release.
  • Cost and effort: integration is config-level; the realistic work is enabling IAM auth on the RDS instances, granting rds-db:connect to the relevant roles, and validating connection behaviour under pooling and failover. Estimate in days, not weeks, per service.
  • Risk, stated plainly: single-maintainer open-source dependency with a short release history and no support SLA. Mitigation is standard and cheap — pin the version, wrap the integration behind our own connection factory, and keep a documented fallback to credentials-in-secrets-manager so we are never trapped.
  • Upside if it works: removal of a class of secret-leak incidents, an audit trail that identifies which workload connected rather than which shared password was used, and credential rotation that stops being an on-call responsibility.
  • Recommendation: run a single-service pilot on a non-critical RDS instance before any org-wide standardisation. If the pilot is clean, extend to services already using Doctrine — and explicitly do not promise Laravel-native support until we have verified the DBAL wiring end to end.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console