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
...
...
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.
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:
- Navigate to the access portal link: http://aws.sciencecloud.nasa.gov/
- You will be prompted to authenticate using your PIV credentials via Launchpad
- 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:
- Navigate to the access portal link: http://aws.sciencecloud.nasa.gov/
- Enter the email address you were invited to Entra ID with
- Follow login prompts
- 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
- 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:
- Select the AWS account you want to access
- Choose the appropriate role (if multiple roles are available)
- 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:
- Log into the AWS Access Portal using the steps above
- Select your desired AWS account and role
- In the account/role view, click "Command line or programmatic access"
- Choose your preferred option:
- Option 1: Copy and paste the temporary credentials as environment variables
- Option 2: Add the temporary credentials to your
~/.aws/credentialsfile - Option 3: Use the provided
aws configurecommands
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
- Set up the SSO session:
aws configure
...
sso-session- Enter the required details:
...
- SSO session name:
my-
- SSO session name:
...
org-sso(choose a memorable name)- SSO start URL
...
- :
...
...
aws.sciencecloud.nasa.gov/- SSO region
...
- :
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 ...
ssoProvide 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_regionsso_account_idsso_role_namesso_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 = jsonUsing SSO-Configured Profiles
- Sign in to SSO:
This will open your browser for authentication (same process as portal login).aws sso login --profile dev-account - 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
...
