| Identity Provider | MFA Support | Cloud Provider |
|---|---|---|
| Okta | webauthn (U2F), Okta Push, TOTP | AWS (Okta's AWS SAML and AWS SSO applications) |
The config file for c9s is located at ~/.config/c9s/settings.toml, but you can use c9s config to manage your configuration.
To add configuration for Okta's AWS application, you'll need to provide an --app-url argument pointing to your AWS application and a --username argument specifying your Okta username.
c9s config aws okta-aws --app-url https://domain.okta.com/home/amazon_aws/0on2crzseasdZUctZ358/272 --username username@domain.comNote:
To set okta-aws as your default SSO provider for AWS, run the following:
c9s config aws defaults --sso-provider okta-awsTo add configuration for Okta's AWS SSO application, you'll need to provide an --app-url argument pointing to your AWS SSO application, --region specifying AWS SSO's region, and a --username argument specifying your Okta username.
c9s config aws okta-aws-sso --app-url https://domain.okta.com/home/amazon_aws/0on2crzseasdZUctZ358/272 --username username@domain.com --region eu-central-1Note:
To set okta-aws-sso as your default SSO provider for AWS, run the following:
c9s config aws defaults --sso-provider okta-aws-ssoDefaults:
If you added configuration, you can run c9s creds aws and it will use your first provided configuration as default values.
c9s creds awsOverride Defaults:
If you want to override the default values, you can provide them as arguments in the command:
c9s creds aws --app-url YOUR_APP_URL --username USERNAME --sso-provider okta-awsSpecify role-arn:
If you want to only retrieve credentials for a single AWS role, provide a value for the --role-arn argument:
c9s creds aws --role-arn YOUR_ROLE_ARNAWS CLI Profile:
Note: Some environments may not work well with stdout prompts to notify a user to plug in a hardware security key. Please see the alternative profile below to help in such scenarios.
- Think of a new AWS CLI profile name. Replace
my-new-profile-namewith it in the following steps. - Not the role arn you want to assume as. Replace
my-role-arnin thecredential_processwith this arn in the next step. - Add a new profile to you AWS CLI config file
~/.aws/config:[profile my-new-profile] region = eu-west-1 credential_process = sh -c "c9s creds aws --sso-provider okta-aws --role-arn my-role-arn --output aws-profile 2> /dev/tty" - Verify the profile with
aws sts get-caller-identityaws --profile my-new-profile sts get-caller-identity
Alternate AWS CLI Profile:
This alternate profile uses desktop notifications instead of a progress bar to alert a user to input a hardware security key.
[profile my-new-profile]
region = eu-west-1
credential_process = sh -c "c9s creds aws --sso-provider okta-aws --role-arn my-role-arn --output aws-profile --desktop-notifications 2> /dev/null"
Defaults:
If you added configuration, you can run c9s creds aws and it will use your first provided configuration as default values.
c9s creds awsOverride Defaults:
If you want to override the default values, you can provide them as arguments in the command:
c9s creds aws --app-url YOUR_APP_URL --username USERNAME --sso-provider okta-aws-ssoSpecify role-arn:
If you want to only retrieve credentials for a single role, provide a value for the --role-arn argument:
c9s creds okta-aws-sso --role-arn YOUR_ROLE_ARNAWS CLI Profile:
Note: Some environments may not work well with stdout prompts to notify a user to plug in a hardware security key. Please see the alternative profile below to help in such scenarios.
- Think of a new AWS CLI profile name. Replace
my-new-profile-namewith it in the following steps. - Not the role arn you want to assume as. Replace
my-role-arnin thecredential_processwith this arn in the next step. - Add a new profile to you AWS CLI config file
~/.aws/config:[profile my-new-profile] region = eu-west-1 credential_process = sh -c "c9s creds okta-aws-sso --sso-provider okta-aws-sso --role-arn my-role-arn --output aws-profile 2> /dev/tty" - Verify the profile with
aws sts get-caller-identityaws --profile my-new-profile sts get-caller-identity
Alternate AWS CLI Profile:
This alternate profile uses desktop notifications instead of a progress bar to alert a user to input a hardware security key.
[profile my-new-profile]
region = eu-west-1
credential_process = sh -c "c9s creds aws --sso-provider okta-aws-sso --role-arn my-role-arn --output aws-profile --desktop-notifications 2> /dev/null"