[ 
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)

Reply via email to