Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-786

Add other supporting options for configuring credentials for AWS processors

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 0.3.0
    • 0.7.0
    • None
    • None

    Description

      I was looking at https://issues.apache.org/jira/browse/NIFI-770 and looked at how the AWS processors credentials are currently configured. As a NFM you have a few options with the properties right now:
      1) set basic, static credentials
      2) set a credentials properties filepath
      3) set neither, use anonymous credentials

      I think it would be better if each AWS could rely on a ControllerService that returns `AWSCredentialsProvider` (instead of `AWSCredentials`) that gives all of the possible implementations that could be used, rather than relying on a static credentials. *Provider implementations can be refreshed and can also other more complicated implementations, but already have built in support for the Static and Properties file that are provided by NiFi today.

      My thinking is that the controller service would be something like

      public interface AwsCredentialsProviderService extends ControllerService {
      AWSCredentialsProvider getCredentialsProvider();
      }

      and you could have `StaticAwsCredentialsProviderService`, `PropertiesFileAwsCredentialsProviderService`, and `AnonymousAwsCredentialsProviderService` to provide the functionality that is supported right now. Additional credential providers could be added later, as there a bunch more AWS provided versions that I think could fit in well.

      Attachments

        Issue Links

          Activity

            People

              jameswing James Wing
              mkobit Michael Kobit
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: