Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

We are migrating from local AWS IAM user accounts to a centralized identity management system. All users will now access their AWS accounts through a new single sign-on (SSO) workflow.

Getting Started

To access your AWS accounts using the new workflow, visit: http

Login Workflow

...

://aws.sciencecloud.nasa.gov

...

Activating the AWS access portal for first-time IAM Identity Center users

​You should receive an email with the subject Invitation to join AWS IAM Identity Center, open it and choose Accept invitation. On the New user sign up page, enter and confirm a password, and then choose Set new password. You will use that password each time you sign in to the portal. After you activate your user credentials by providing a new password, the AWS access portal signs you in automatically. 

AWS Access Portal

Logging in through the AWS Access Portal will provide you access to all your assigned Science Cloud AWS Accounts​. You can choose permissions needed for session​ and generate short term access keys via the portal.

Image Removed

AWS SSO login directly via the AWS CLI

Configure your sso-session section with aws configure sso-session wizard

...

/

Console Login Experience by User Type

NASA Users

If you have a NASA identity, your login process will be:

  1. Navigate to the access portal link: http://aws.sciencecloud.nasa.gov/
  2. You will be prompted to authenticate using your PIV credentials via Launchpad
  3. Once authenticated, you'll be redirected to the AWS Access Portal

NASA Collaborators

If you do not have a NASA identity, your login process will be:

  1. Navigate to the access portal link: http://aws.sciencecloud.nasa.gov/
  2. Enter the email address you were invited to Entra ID with
  3. Follow login prompts
  4. Complete multi-factor authentication using Microsoft Authenticator
    • If this is your first time logging in, you'll be guided through setting up Microsoft Authenticator on your mobile device
  5. Once authenticated, you'll be redirected to the AWS Access Portal

AWS Access Portal

After successful authentication, you'll land on the AWS Access Portal - your central hub for accessing AWS resources.

What you'll see:

  • A list of AWS accounts you have permission to access
  • Available roles for each account based on your assigned permissions
  • A clean, organized interface showing all your AWS resources in one place

How to access your Science Cloud AWS account:

  1. Select the AWS account you want to access
  2. Choose the appropriate role (if multiple roles are available)
  3. Click to launch the AWS Management Console or use programmatic access options


Programmatic Access to AWS

In addition to using the AWS Management Console through the portal, you can also access AWS programmatically using the AWS CLI and SDKs. There are two main approaches:

Option 1: Temporary Access Keys from the Portal

For quick, short-term programmatic access:

  1. Log into the AWS Access Portal using the steps above
  2. Select your desired AWS account and role
  3. In the account/role view, click "Command line or programmatic access"
  4. Choose your preferred option:
    • Option 1: Copy and paste the temporary credentials as environment variables
    • Option 2: Add the temporary credentials to your ~/.aws/credentials file
    • Option 3: Use the provided aws configure commands

Note: These credentials are temporary (typically 1-12 hours) and will need to be refreshed periodically.

Option 2: AWS CLI SSO Integration (Recommended)

For seamless, long-term programmatic access, configure the AWS CLI to work directly with IAM Identity Center:

Initial Setup

Important: Remove any existing aws_access_key_id and aws_secret_access_key from your ~/.aws/credentials file before proceeding.

Example SSO session & named profile usage

1. Configure the SSO Session:

Configure SSO Session

  1. Set up the SSO session:
    aws configure 

...

  1. sso-session
  2. Enter the required details:

    ...

      • SSO session name: my-

    ...

      • org-sso (choose a memorable name)
      • SSO start URL

    ...

      • :

    ...

    ...

    ...

      • : us-east-1 
      • SSO registration scopes

    ...

      • : sso:account:access

    2. Set Up a Named Profile: - CHECK HOW PROFILE NAMES ARE DETERMINED (IF AT ALL)

    Configure Profiles

    You can create profiles for each AWS account/role combination you need to access:

    aws configure 

    ...

    sso

    Provide the following information:

    • SSO session name: my-

    ...

    • org-sso (same as above)
    • SSO

    ...

    SSO region [None]: us-east-1

    ...

    • account ID: The 12-digit AWS account ID
    • SSO role name

    ...

    • : The role name you want to assume (e.g., Project-Admin, Project-Power-User, Project-Read-Only)
    • CLI default client Region

    ...

    • : us-east-1 (or your preferred region)
    • CLI default output format

    ...

    • : json

    3. Example: How to Use a Profile:

    $ aws s3 ls --profile ScienceCloudProject-devAccount

    The CLI will authenticate via SSO and list your S3 buckets (example use case)

    Manually configure the config file to create additional profiles

    If you access multiple AWS accounts or roles through AWS IAM Identity Center (SSO), you don’t want to repeat the same sso_start_url and sso_region in every profile. Instead, define the SSO session once and reference it. This will allow your to use multiple profiles on the same session, specify environment roles, region and output settings. The sso-session section of the config file is used to group configuration variables for acquiring SSO access tokens, which can then be used to acquire AWS credentials. The following settings are used:

    (Required) sso_start_url
    (Required) sso_region
    sso_account_id
    sso_role_name
    sso_registration_scopes

    You define an sso-session section and associate it to a profile. The sso_region and sso_start_url settings must be set within the sso-session section. Typically, sso_account_id and sso_role_name must be set in the profile section so that the SDK can request SSO credentials.

    The following example configures the SDK to request SSO credentials and supports automated token refresh:

    ...

    Manual Configuration (Alternative)

    For multiple accounts/roles, you can manually edit ~/.aws/config:

    ini

    [sso-session my-org-sso]
    sso_region = us-east-1
    sso_start_url = $LINK
    
    [profile dev-account]
    sso_session = my-org-sso
    sso_account_id = 111122223333
    sso_role_name = Project-Power-User
    region = us-east-1
    output = json
    
    [profile prod-account]
    sso_session = my-org-sso
    sso_account_id = 444455556666
    sso_role_name = Project-Read-Only
    region = us-east-1
    output = json

    Using SSO-Configured Profiles

    1. Sign in to SSO:
      aws sso login --profile dev-account
      This will open your browser for authentication (same process as portal login).
    2. Sign out when finished:
      aws sso logout

    Benefits of AWS CLI SSO Integration

    • Seamless authentication: Uses the same login process as the web portal
    • Automatic token refresh: No need to manually update credentials
    • Multiple account support: Easy switching between accounts and roles
    • Security: No long-term access keys stored locally

    Sign in to an IAM Identity Center session

    Once your profiles are set up, in order to run commands, you will first need to Sign in to an IAM Identity Center session to request and retrieve your temporary credentials.

    To retrieve and cache a set of IAM Identity Center credentials, run the following command for the AWS CLI to open your default browser and verify your IAM Identity Center log in.

    $ aws sso login --profile ScienceCloudProject-devAccount

    SSO authorization page has automatically been opened in your default browser.

    Follow the instructions in the browser to complete this authorization request.

    Successfully logged into Start URL: https://my-sciencecloud-sso-portal-exampleURL.awsapps.com/start 

    Your IAM Identity Center session credentials are cached and the AWS CLI uses them to securely retrieve AWS credentials for the IAM role specified in the profile.

    Sign out of your IAM Identity Center sessions

    When you are done using your IAM Identity Center profile, you can let your credentials expire or run the following command to delete your cached credentials.

    $ aws sso logout

    Successfully signed out of all SSO profiles.

    External Resources

    https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html#cli-configure-sso-configure

    Contact us!

    Please provide feedback on these instructions, questions, concerns, or issues via email to support@sciencecloud.nasa.gov

    ...