The Science Cloud uses a centralized Identity and Access Management system. This system provides users a single Science Cloud identity to access all of their AWS accounts through a new single sign-on (SSO) workflow.
If you have a NASA identity, once you are notified that your Science Cloud identity is ready, your AWS Console login process will be:
If you do not have a NASA identity, once you are notified that your Science Cloud identity is ready, your AWS Console login process will be:
After successful authentication, you'll land on the AWS Access Portal - your central hub for accessing AWS resources.
What you'll see:
How to access your Science Cloud AWS account:
| Role | Session Duration |
|---|---|
| Project-Admin | 2 Hours |
| Project-Power-User | 8 Hours |
| Project-Read-Only | 12 Hours |
In addition to using the AWS Management Console through the portal, you can also access AWS programmatically using the AWS CLI and SDKs (are these common acronyms that all users will understand? If not, perhaps define.). There are two main approaches:
For seamless, long-term programmatic access, configure the AWS CLI to work directly with IAM Identity Center:
Important: Before proceeding, remove any existing aws_access_key_id and aws_secret_access_key related to your AWS account from your ~/.aws/credentials file.
aws configure sso-sessionus-east-1 sso:account:accessYou can create profiles for each AWS account/role combination you need to access:
aws configure ssoProvide the following information:
your-memorable-sso-name (same as above)us-east-1 (or your preferred region)jsonProfile name [default_provided]: (choose a memorable name)
You can manually edit ~/.aws/config:
[sso-session your-memorable-sso-name]
sso_region = us-east-1
sso_start_url = https://d-9067c5bbc5.awsapps.com/start/#
[profile your-memorable-profile-name-1]
sso_session = your-memorable-sso-name
sso_account_id = your-AWS-account's-numeric-accoun-ID
sso_role_name = your-role(e.g. Project-Power-User)
region = us-east-1
output = json
[profile your-memorable-profile-name-1]
sso_session = your-memorable-sso-name
sso_account_id = your-other-AWS-account's-numeric-account-ID
sso_role_name = your-role(e.g. Project-Read-Only)
region = us-east-1
output = jsonaws sso login --profile your-profile-name
This will open your browser for authentication (same process as portal login). aws sts get-caller-identity --profile your-profile-name
If you do no do not want to specify --profile your-profile-name for every command:
export AWS_PROFILE=your-profile-name
Sign out when finished:
aws sso logoutFor quick, short-term programmatic access: