Skip to main content

Configure single sign-on (SSO)

Configure single sign-on (SSO)

This page provides an overview of configuring single sign-on (SSO) for an Anyscale organization.

You complete this process in two distinct steps:

  1. Configuring an Identity Provider (IdP), such as Okta, Ping Identity, or a similar service.
  2. Configuring your Service Provider (SP), which is Anyscale.

Identity provider (IdP) configuration

The specific steps to configure an IdP vary between provider. Ensure that you complete all steps before you configure Anyscale. If your organization uses an IdP other than the following, contact Anyscale support because additional allow-listing may be necessary.

After you complete IdP configuration, continue with SP Configuration.

  1. Log in to your organization's admin Okta account, which is the admin-<organization>.okta.com domain.

  2. Navigate to the Applications tab.

  3. Create a new app integration by clicking the Create App Integration button and selecting the SAML 2.0 option. SAML 2.0

  4. Add an appropriate App Name and (optionally) App logo. App Name

  5. Continue to the Configure SAML page and fill out the following two fields:

  • Single sign-on URL: Find your organization_id in your console.
https://console.anyscale.com/api/v2/organizations/<organization_id>/saml_acs
  • Audience URI (SP Entity ID): Note that the trailing / is required.
https://console.anyscale.com/

Advanced SAML Configuration

  1. Scroll down and fill out the Attribute Statements. Anyscale requires that you provide email, name, and username attributes. The source of each value is not important to Anyscale. Advanced SAML Attributes

  2. Finish the application configuration by clicking Next and completing the Feedback page.

  3. Ensure that your integration is active and assign appropriate users to the application.


Service provider (SP) configuration (Anyscale)

You must be an Anyscale organization owner to configure SSO.

Acquire IdP metadata

Start by acquiring the metadata you need to configure the relationship between your IdP and Anyscale. The type of metadata you require varies by your IdP.

MetadataDescription
Metadata URLA URL that Anyscale uses to retrieve your IdP metadata.

When supported, use this method as it's more robust to changes.

The following IdPs support using a metadata URL on Anyscale:
  • Okta
  • Ping
  • Azure
Static configAll other IdPs require passing a static configuration with the following JSON format:```
{
"idp_entity_id": "string",
"idp_sso_url": "string",
"idp_sso_binding": "string",
"idp_x509cert": "string"
}

Click on the tab for your IdP for more details:

Okta supports an idp_metadata_url for sign-on. Navigate to your application's Sign On tab and copy the Metadata URL field for the next step.

SSO Config

Configure SSO for Anyscale

Complete the following steps to configure SSO for your Anyscale organization:

important

These instructions use the interactive FastAPI documentation for the Anyscale API. This API experience is experimental and subject to change.

Each endpoint documented has a button that prompts you to Try it out. You use the interactive Request body to specify your request.

When you click Execute, the request runs against your Anyscale organization.

Anyscale doesn't recommend interacting with any API endpoints other than those specifically referenced in the following instructions.

  1. Navigate to the Anyscale API for SSO configuration.

    • Make sure you are looking at the correct /sso_configs/ endpoint. It should be a POST command with the title Upsert Sso Config.
  2. Click Try it out. The Request body expands and shows the following:

    {
    "idp_metadata_url": "string",
    "static_idp_config": {
    "idp_entity_id": "string",
    "idp_sso_url": "string",
    "idp_sso_binding": "string",
    "idp_x509cert": "string"
    }
    }
  3. Update the request body JSON with the metadata you collected for your IdP. See Acquire IdP metadata.

    • Use the idp_metadata_url field for supported IdPs.
    • Use the static_idp_config field for all other IdPs.
    • Delete the field that you're not using.
  4. Click Execute. You receive a 200 response code if your settings applied successfully.

  5. Navigate to the Anyscale API for SSO enforcement.

    • Make sure you are looking at the correct /organizations/{organization_id} endpoint. It should be a PUT command with the title Partial Update Organization.
  6. Enter your Anyscale organization ID in the organization_id field.

  7. Click Try it out. The Request body expands and shows the following:

    {
    "sso_mode": "off"
    }
  8. Update the request body JSON to specify the enablement level for SSO for your organization. The following are the options for sso_mode:

    • off: SSO login isn't enabled for your organization.
    • optional: SSO login is optional for your organization. Users normally log in with SSO, but can also log in with a password.
    • required: SSO login is the only way for users to log in to your organization.
    note

    Anyscale recommends starting with optional and moving to required once you have manually confirmed SSO is working as expected. This prevents users from losing access if you've misconfigured any SSO settings.

    The API doesn't display the current setting for this field. If you want to enforce SSO and are uncertain about your current setting, you should set the required option.

    Organization owners can always log in to Anyscale with a password. See Fallback access.

  9. Click Execute. You receive a 200 response code if your settings applied successfully.

To test your SSO login, open a private browsing window and log in to the Anyscale console.

Log in with SSO

After you configure SSO, users can log in to Anyscale in two ways: IdP initiated and SP initiated.

IdP initiated

The IdP initiated flow begins from your identity provider, for example, Okta or Azure AD. Log in to your IdP's website and select the link for Anyscale. If Anyscale isn't visible, ensure that you assigned your user to the application.

note

First-time Anyscale users must use the IdP initiated flow to log in to Anyscale in order to trigger just-in-time account creation.

SP initiated

The SP initiated flow begins on the Anyscale console. Enter your work email and click Next. You should be automatically redirected to your IdP and then back to Anyscale.

If your email is associated with multiple organizations, you are prompted to select the organization you wish to log in to after confirming you have access to the email address through a magic link sent to your email. If the organization requires SSO, you are redirected to your IdP to log in and then back to Anyscale.

Fallback access

Anyscale organization owners have the ability to log in to Anyscale with a username and password. This fallback mechanism is for the case when SSO is unavailable or misconfigured. Use following cURL command to log in using your password:

curl -X POST https://console.anyscale.com/api/v2/users/login \
-H 'Content-Type: application/json' \
-d '{"email": "<email>", "password": "<password>", "organization_id": "<organization_id>"}'