Add optional AWS SDK v2-based MONGODB-AWS authenticator submodule

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Authentication
    • None
    • None
    • Go Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      The built in MONGODB-AWS authenticator in the Go driver uses a minimal internal AWS implementation that derives the signing region from the server-sent STS host (sm.Host), ignoring standard AWS SDK environment variables like AWS_STS_REGIONAL_ENDPOINT=regional and AWS_REGION. This forces users to create custom authenticator solutions which can be rather complicated (see here).

      This ticket proposes that we create an optional submodule:

      go.mongodb.org/mongo-driver/v2/x/driver/auth/mongoaws
      

      That depends on github.com/aws/aws-sdk-go-v2 so that users can optionally register an AuthenticatorFactory that uses the official AWS SDK

      import _ "go.mongodb.org/mongo-driver/v2/x/driver/auth/mongoaws" // Registers authenticator using official AWS SDK
      

      Alternatively, we should investigate using a build tag to enable AWS as an optional dependency.

              Assignee:
              Unassigned
              Reporter:
              Preston Vasquez
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:

                  Estimated:
                  Original Estimate - 2 weeks
                  2w
                  Remaining:
                  Remaining Estimate - 3 days
                  3d
                  Logged:
                  Time Spent - Not Specified Time Not Required
                  Not Specified