sdap-nexus icon indicating copy to clipboard operation
sdap-nexus copied to clipboard

SDAP-517 - Credential management for AWS collections

Open RKuttruff opened this issue 9 months ago • 1 comments

This PR augments the configurations of Zarr (and eventually future) collections.

Initially, collections in non-public S3 buckets needed to be provided an Access Key ID and Secret Access Key pair:

config:
  aws:
    accessKeyID: <secret>
    secretAccessKey: <secret>
    public: false

Obviously, this is not ideal as long-term AWS keys are not only directly stored, but also need to be maintained by end users. This PR allows more options in defining AWS credentials.

Profiles

You can use credentials defined in AWS named profiles:

config:
  aws:
    profile: <profile name>

NASA DAAC Temporary S3 credentials

NASA DAACs make their data available for direct S3 access for running in the us-west-2 region. You can utilize this by specifying the credential endpoint or by picking from a list of predefined DAACs.

NOTE: This only works if running in the us-west-2 AWS region. A check will be made to see in SDAP is running in that region and these collections will be excluded if not

config:
  earthdata:
    endpoint: https://api.giovanni.earthdata.nasa.gov/s3credentials
config:
  earthdata:
    daac: podaac

An Earthdata login is required for this. Provide either EDL_USERNAME and EDL_PASSWORD environment variables or specify the login on a per-collection basis:

config:
  earthdata:
    daac: gesdisc
    edl_username: <user>
    edl_password: <pass>

Predefined DAACs:

  • podaac
  • podaac-swot
  • gesdisc
  • lpdaac
  • obdaac
  • nsidc
  • laads
  • asfdaac
  • asfdaac-sentinel1

RKuttruff avatar Jun 05 '24 23:06 RKuttruff