[
https://issues.apache.org/jira/browse/NIFI-15216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre Villard updated NIFI-15216:
----------------------------------
Status: Patch Available (was: Open)
> Add support for AWS RDS IAM authentication in DBCP Connection Pool
> ------------------------------------------------------------------
>
> Key: NIFI-15216
> URL: https://issues.apache.org/jira/browse/NIFI-15216
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Reporter: Pierre Villard
> Assignee: Pierre Villard
> Priority: Major
>
> The goal is to add support for AWS RDS IAM Authentication when connecting
> over JDBC to an AWS RDS instance.
> [https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.html]
> The approach is the following:
> - nifi-standard-services/nifi-dbcp-service-api
> -- Added org.apache.nifi.dbcp.api.DatabasePasswordProvider
> -- Added org.apache.nifi.dbcp.api.DatabasePasswordRequestContext
> - nifi-extension-utils/nifi-dbcp-base
> -- ProviderAwareBasicDataSource wraps commons‑dbcp BasicDataSource and pulls
> passwords from an injected DatabasePasswordProvider
> -- AbstractDBCPConnectionPool expose the new “Database Password Provider”
> property and forward the request context
> - nifi-aws-bundle/nifi-aws-processors
> -- org.apache.nifi.processors.aws.rds.AwsRdsIamDatabasePasswordProvider
> implements the API, uses the existing AWS credentials service, and generates
> IAM auth tokens per connection
> -- pom.xml now depends on nifi-dbcp-service-api (scope provided) so the
> controller service compiles against the shared API
> - nifi-aws-bundle/nifi-aws-nar
> -- Still depends only on nifi-aws-service-api-nar (which already drags in
> nifi-standard-shared-nar → nifi-standard-services-api-nar)
>
> Class-loader / NAR chain
> nifi-standard-services-api-nar
> ↳ contains nifi-dbcp-service-api.jar (DatabasePasswordProvider, etc.)
> nifi-standard-shared-nar
> ↳ depends on nifi-standard-services-api-nar
> nifi-aws-service-api-nar
> ↳ depends on nifi-standard-shared-nar (so it inherits the entire
> controller-service API set)
> nifi-aws-nar
> ↳ depends on nifi-aws-service-api-nar
> ↳ transitively inherits nifi-standard-shared-nar →
> nifi-standard-services-api-nar
--
This message was sent by Atlassian Jira
(v8.20.10#820010)