AWS SAML Implementation

This article contains AWS-specific help for configuring login with SSO via SAML 2.0. For help configuring login with SSO for another IdP, refer to SAML 2.0 Configuration.

Configuration involves working simultaneously within the Bitwarden web vault and the AWS Console. As you proceed, we recommend having both readily available and completing steps in the order they are documented.

tip

Already an SSO expert? Skip the instructions in this article and download screenshots of sample configurations to compare against your own.

Download Sample

Open SSO in the web vault

Navigate to your organization's SettingsSingle Sign-On screen:

SAML 2.0 Configuration  |
SAML 2.0 Configuration

If you haven't already, create a unique SSO Identifier for your organization. Otherwise, you don't need to edit anything on this screen yet, but keep it open for easy reference.

tip

If you are self-hosting Bitwarden, you can use alternative Member Decryption Options. This feature is disabled by default, so continue with Master Password decryption for now and learn how to get started using Key Connector once your configuration is complete and successfully working.

Create an AWS SSO application

In the AWS Console, navigate to AWS SSO, select Applications from the navigation, and select the Add a new application button:

Add a new application  |
Add a new application

Underneath the search bar, select the Add a custom SAML 2.0 application option:

Add a custom SAML app  |
Add a custom SAML app

Details

Give the application a unique, Bitwarden-specific Display name.

AWS SSO metadata

You will need the information in this section for a later configuration step. Copy the AWS SSO sign-in URL and AWS SSO issuer URL, and download the AWS SSO certificate:

AWS SSO Metadata  |
AWS SSO Metadata

Application properties

In the Application start URL field, specify the login URL from which users will access Bitwarden. For cloud-hosted customers, this is always https://vault.bitwarden.com/#/sso. For self-hosted instances, this is determined by your configured server URL, for example https://your.domain/#/sso.

Application metadata

In the application metadata section, select the option to manually enter metadata values:

Enter metadata values  |
Enter metadata values

Configure the following fields:

Field

Description

Application ACS URL

Set this field to the pre-generated Assertion Consumer Service (ACS) URL retrieved from the Bitwarden SSO configuration screen.

For cloud-hosted customers, this is always https://sso.bitwarden.com/saml2/your-org-id/Acs. For self-hosted instances, this is determined by your configured server URL, for example https://your.domain/sso/your-org-id/Acs.

Application SAML audience

Set this field to the pre-generated SP Entity ID retrieved from the Bitwarden SSO Configuration screen.

For cloud-hosted customers, this is always https://sso.bitwarden.com/saml2. For self-hosted instances, this is determined by your configured server URL, for example https://your.domain.com/sso/saml2.

When you are finished, select Save changes.

Attribute mappings

Navigate to the Attribute mappings tab and configure the following mappings:

Attribute mappings  |
Attribute mappings

User attribute in the application

Maps to this string value or user attribute in AWS SSO

Format

Subject

${user:email}

emailAddress

email

${user:email}

Unspecified

Assigned users

Navigate to the Assigned users tab and select the Assign users button:

Assign users  |
Assign users

You can assign users to the application on an individual level, or by Group.

Back to the web vault

At this point, you have configured everything you need within the context of the AWS Console. Return to the Bitwarden web vault to complete configuration.

The Single Sign-On screen separates configuration into two sections:

  • SAML Service Provider Configuration will determine the format of SAML requests.

  • SAML Identity Provider Configuration will determine the format to expect for SAML responses.

Service provider configuration

Service provider configuration should already be complete, however you may choose to edit any of the following fields:

Field

Description

Name ID Format

Set to Email Address.

Outbound Signing Algorithm

The algorithm Bitwarden will use to sign SAML requests.

Signing Behavior

Whether/when SAML requests will be signed.

Minimum Incoming Signing Algorithm

By default, AWS SSO will sign with SHA-256. Unless you have changed this, select sha256 from the dropdown.

Want Assertions Signed

Whether Bitwarden expects SAML assertions to be signed.

Validate Certificates

Check this box when sing trusted and valid certificates from your IdP through a trusted CA. Self-signed certificates may fail unless proper trust chains are configured within the Bitwarden Login with SSO docker image.

When you are done with the service provider configuration, Save your work.

Identity provider configuration

Identity Provider Configuration will often require you to refer back to the AWS Console to retrieve application values:

Field

Description

Entity ID

Enter the AWS SSO issuer URL, retrieved from the AWS SSO metadata section in the AWS Console. This field is case sensitive.

Binding Type

Set to HTTP POST or Redirect.

Single Sign On Service URL

Enter the AWS SSO sign-in URL, retrieved from the AWS SSO metadata section in the AWS Console.

Single Log Out Service URL

Login with SSO currently does not support SLO. This option is planned for future development, however you may pre-configure it with the AWS SSO sign-out URL retrieved from the AWS SSO metadata section in the AWS Console.

X509 Public Certificate

Paste the downloaded certificate, removing

-----BEGIN CERTIFICATE-----

and

-----END CERTIFICATE-----

The certificate value is case sensitive, extra spaces, carriage returns, and other extraneous characters will cause certificate validation to fail.

Outbound Signing Algorithm

By default, AWS SSO will sign with sha256. Unless you have changed this, select sha256 from the dropdown.

Disable Outbound Logout Requests

Login with SSO currently does not support SLO. This option is planned for future development.

Want Authentication Requests Signed

Whether AWS SSO expects SAML requests to be signed.

When you are done with the identity provider configuration, Save your work.

tip

You can require users to log in with SSO by activating the single sign-on authentication policy. Please note, this will require activating the single organization policy as well. Learn more.

Test the configuration

Once your configuration is complete, test it by navigating to https://vault.bitwarden.com, entering your email address, selecting Continue, and selecting the Enterprise Single-On button:

Enterprise single sign on and master password  |
Enterprise single sign on and master password

Enter the configured organization identifier and select Log In. If your implementation is successfully configured, you will be redirected to the AWS SSO login screen:

AWS login screen  |
AWS login screen

After you authenticate with your AWS credentials, enter your Bitwarden master password to decrypt your vault!

note

Bitwarden does not support unsolicited responses, so initiating login from your IdP will result in an error. The SSO login flow must be initiated from Bitwarden.


Language
© 2023 Bitwarden, Inc.
TermsPrivacySitemap