SSO 用の SAML の設定

ユーザーが Anypoint Platform にアクセスするときに追加のログイン情報を提供せずに済むように、ユーザーの外部認証とシングルサインオン (SSO) 機能を提供する SAML を設定します。

SSO 用の SAML の設定には、以下が含まれます。

  • 設定された SAML ID プロバイダー (IdP) で開始する

  • Anypoint Platform で ​[External Identity - Identity Management SAML 2.0 (外部 ID - ID 管理 SAML 2.0)]​ フォームに移動して入力し、必要に応じていくつかの詳細設定を定義する

  • 新しい設定を保存してテストする

前提条件

  • Anypoint Platform 組織がオーディエンスとしてセットアップされている必要があります。

  • POST​ 要求を ​https://anypoint.mulesoft.com/accounts/login/:org-domain/providers/:providerId/receive-id​ に送信するようにアサーションコンシューマーサービスが設定されている必要があります。
    :providerId​ は、プロバイダー設定を作成した後でのみ使用できます。

  • Anypoint Platform EU コントロールプレーンを使用している場合、エンドポイントは ​https://eu1.anypoint.mulesoft.com/accounts/login/:org-domain/providers/:providerId/receive-id​ です。

  • Anypoint Platform Gov Cloud を使用している場合、エンドポイントは ​https://gov.anypoint.mulesoft.com/accounts/login/:org-domain/providers/:providerId/receive-id​ です。

ID 管理で SAML を設定する

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  4. [Identity Providers (ID プロバイダー)]​ > ​[SAML 2.0]​ を選択します。

  5. [Configurations (設定)]​ タブで、​[Identity Management SAML 2.0 (ID 管理 SAML 2.0)]​ フォームの必須項目を入力します。

    • Sign On URL (サインオン URL)

      サインイン用に IdP によって提供されるリダイレクト URL。例: https://example.com/sso/saml​。

    • Sign Off URL (サインオフ URL)

      サインアウト要求をリダイレクトするための URL。そのため、ユーザーは Anypoint Platform からサインアウトすると同時に、SAML ユーザーの状況がサインアウトに設定されます。

    • Issuer (発行者)

      SAML アサーションを送信する ID プロバイダーインスタンスの ID。

    • Public Key (公開キー)

      SAML アサーションに署名するために ID プロバイダーによって提供される公開キー。SAML 応答の「X509Certificate」値です。

    • Audience (オーディエンス)

      Anypoint Platform 組織を識別する任意の文字列値。この文字列の通常の値は ​<organizationDomain>.anypoint.mulesoft.com​ です。

    • Single Sign-On Initiation (シングルサインオンの開始)

      Anypoint Platform、ID プロバイダー (Okta など)、またはその両方で SSO を開始できるかどうかを指定します。

      • [Service Provider Only (サービスプロバイダーのみ)]​ オプションでは、Anypoint Platform のみが SSO を開始できます。

      • [Identity Provider Only (ID プロバイダーのみ)]​ オプションでは、外部 ID プロバイダーのみが SSO を開始できます。

      • [Both (両方)]​ オプションでは、Anypoint Platform または外部 ID プロバイダーが SSO を開始できます。

        新しく設定された ID プロバイダー設定の場合、この設定のデフォルト値は ​[Both (両方)]​ です。

  6. [Advanced settings (詳細設定)]​ を展開し、必要に応じて以下の値を入力します。

    • Username Attribute (ユーザー名属性)

      ユーザー名にマップされる SAML ​AttributeStatements​ の項目名。値が設定されていない場合は、SAML ​Subject​ の ​NameID​ 属性が使用されます (注意: これは SAML ​AttributeStatements​ の外部となります)。

    • First Name Attribute (名属性)

      First Name​ にマップされる SAML ​AttributeStatements​ の項目名。

    • Last Name Attribute (姓属性)

      Last Name​ にマップされる SAML ​AttributeStatements​ の項目名。

    • Email Attribute (メール属性)

      Email​ にマップされる SAML ​AttributeStatements​ の項目名。

    • Group Attribute (グループ属性)

      Group​ にマップされる SAML ​AttributeStatements​ の項目名。

    • Require encrypted SAML assertions (暗号化された SAML アサーションが必須)

      有効化されている場合は、ID プロバイダーから送信される SAML アサーションが暗号化されていて、​「前提条件」​に記述されているガイドラインに準拠している必要があります。

  7. [Create (作成)]​ をクリックします。

  8. Anypoint Platform からログアウトし、​[Identity Management SAML 2.0 (ID 管理 SAML 2.0)]​ フォームで入力した [sign-on URL (サインオン URL)] に移動します。次に、ID プロバイダーを通じてログインして設定をテストします。

SAML 鍵の循環

セキュリティのベストプラクティスとして、多くの組織は SAML 2.0 アサーションの暗号化に使用する鍵を循環します。鍵の循環機能により、Anypoint Platform で新しい鍵を生成したり、公開キーと非公開キーのペア (最大 3 つの鍵) をアップロードしたりできます。鍵を循環する場合、Anypoint Platform や IdP で新しい​主キー​を指定したり、不用な鍵を失効させて、鍵循環から削除したりできます。

作成する鍵や Anypoint Platform にアップロードする鍵は、IdP にも存在している必要があります。Anypoint Platform に存在するすべての鍵で、IdP によって送信される SAML 2.0 アサーションを復号化できます。ただし、SAML 2.0 AuthnRequest および SLO 要求の署名には Anypoint Platform で主キーのみが使用されます。署名を検証するには、IdP で主キーが設定されている必要があります。

デフォルトの Anypoint Platform SSO 証明書から新しい証明書に移行する場合、IdP のアサーションコンシューマーサービス (ACS) URL を更新する必要があります。鍵の循環機能で生成される鍵は、新しい ACS URL でのみサポートされます。すでに ACS URL が ​…​/accounts/login/:org-domain/providers/:providerId/receive-id​ のパターンに従っている場合、ACS URL を変更する必要はありません。

鍵の循環で使用する鍵の追加

鍵の循環機能を使用する場合、IdP で使用する鍵が Anypoint Platform で利用できる必要があります。Anypoint Platform では、新しい鍵を生成したり、既存の公開/非公開キーのペアをアップロードしたりできます。

新しい鍵を生成する

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  4. SAML 2.0 IdP の横で、​[Edit (編集)]​ をクリックします。

  5. [Anypoint Keys (Anypoint 鍵)]​ タブをクリックします。

  6. [+ New key (+ 新しい鍵)]​ をクリックし、​[Generate (生成)]​ を選択します。
    新しく生成された鍵が鍵のリストに表示されます。

既存の非公開キーと公開キーのペアをアップロードする

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  4. SAML 2.0 IdP の横で、​[Edit (編集)]​ をクリックします。

  5. [Anypoint Keys (Anypoint 鍵)]​ タブをクリックします。

  6. [+ New key (+ 新しい鍵)]​ をクリックし、​[Upload (アップロード)]​ を選択します。

  7. [Private key (非公開キー)]​ 項目に非公開キーを貼り付けます。

  8. [Public key (公開キー)]​ 項目に証明書を貼り付けます。

  9. [Upload (アップロード)]​ をクリックします。
    アップロードした鍵が鍵のリストに表示されます。

主キーを循環する

最大 3 つの鍵を保存できるため、Anypoint Platform からの要求の署名に使用される​主キー​を指定する必要があります。 主キーを再割り当てする前に、使用する鍵に IdP がアクセスできることを確認します。

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  4. SAML 2.0 IdP の横で、​[Edit (編集)]​ をクリックします。

  5. [Anypoint Keys (Anypoint 鍵)]​ タブをクリックします。

  6. 主キーにする鍵の横で、​[…​]​ をクリックし、​[Use as primary key…​ (主キーとして使用…​)]​ を選択します。

  7. [Apply (適用)]​ をクリックします。

鍵を失効させる

セキュリティを確保するために、すでに主キーとして使用した鍵を失効させます。 鍵を失効させる前に、IdP でその鍵が使用されていないことを確認します。 公開キーを失効させると、Anypoint Platform によって対応する非公開キーも失効します。セキュリティの上の理由から、失効した鍵は取得できません。

  1. 組織のシステム管理者権限を持つアカウントを使用して Anypoint Platform にログインします。

  2. ナビゲーションバーまたは Anypoint Platform のメインページで、​[Access Management (アクセス管理)]​ をクリックします。

  3. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  4. SAML 2.0 IdP の横で、​[Edit (編集)]​ をクリックします。

  5. [Anypoint Keys (Anypoint 鍵)]​ タブをクリックします。

  6. 失効させる鍵の横で、​[…​]​ をクリックし、​[Revoke (失効)]​ を選択します。

  7. [Revoke (失効)]​ をクリックします。

SAML メタデータのインポート

新しい SAML 2.0 設定を作成するときに、​[Import IdP Metadata (IdP メタデータをインポート)]​ リンクを使用して、ID プロバイダーの SAML 2.0 メタデータを含む XML ファイルを Anypoint Platform にアップロードできます。アップロードすると、XML ファイルの値が ​[Identity Management SAML 2.0 (ID 管理 SAML 2.0)]​ フォームに自動的に入力されます。

XML ファイルをアップロードしてメタデータをインポートする場合:

  • ファイルは 16 KB 未満である必要があります。

  • 複数のエントリを含む XML ファイルをアップロードした場合、Anypoint Platform は最初の ID プロバイダー設定を使用します。

  • Anypoint Platform はアップロードした XML の値の有効性をチェックしません。
    ID プロバイダー設定を作成する前に、ID 設定が正しいことを確認してください。

SAML メタデータのエクスポート

ID プロバイダーがサービスプロバイダーメタデータのアップロードをサポートしている場合は、​[Anypoint service provider metadata (Anypoint サービスプロバイダーメタデータ)]​ リンクをクリックして、SAML 設定を XML ファイルにダウンロードできます。その場合、このファイルを ID プロバイダーにアップロードして Anypoint Platform を設定できます。このデータをエクスポートするには、SAML 2.0 ID 設定が必要である点に注意してください。

Anypoint Platform は Cookie を使用して、SSO ユーザーがログインを開始した場所と同じ場所にユーザーを確実にリダイレクトします。

  1. ユーザーが Anypoint Platform にログインすると、ログインセッションに対する Cookie (​mulesoft.sess=xxxxx​) が作成されます。
    この Cookie には、ユーザーがログインを開始した場所 (公開ポータルなど) が含まれます。

  2. Cookie はユーザーのブラウザーに渡されます。

  3. ユーザーは認証のために SSO プロバイダーに転送されます。

  4. SSO を使用してユーザーが認証されると、プロバイダーはユーザーを認証決定 SAML 応答と共に Anypoint Platform に戻します。

  5. ブラウザーからセッション Cookie (​mulesoft.sess=xxxxx​) が渡され、ユーザーはログインプロセスを開始した場所に返されます。

  6. ユーザーが Anypoint Platform に正常にログインすると、​mulesoft.sess​ Cookie は OWASP 標準に基づいてそのデフォルト値に戻ります。

ユーザーをその権限に基づいてリダイレクトすることもできます。たとえば、次のような場合です。

  • ブラウザーが Cookie を渡さない。

  • Cookie の有効期限が切れた。

  • Cookie がデフォルト値に設定されている。

このような場合、組織のシステム管理者権限を持つユーザーは Anypoint Platform ランディングページにリダイレクトされます。 組織のシステム管理者権限を持たないユーザーは Anypoint Exchange に転送されます。

SAML ID プロバイダーの更新

組織のシステム管理者は既存の SAML プロバイダーを更新できます。ただし、​[Issuer (発行者)]​ または ​[Audience (オーディエンス)]​ を更新すると、別の IdP に切り替わり、意図しないユーザーの重複などの問題が発生する可能性があります。詳細は、 ユーザーの重複防止に関するヘルプ記事​を参照してください。

SAML ID プロバイダーの制限を表示する

設定された各 SAML IdP には、Anypoint Platform によって課された制限にどれだけ近づいているかを示す ​[Limits (制限)]​ セクションがあります。

制限を表示する手順は、次のとおりです。

  1. [Access Management (アクセス管理)] ナビゲーションメニューで、​[Identity Providers (ID プロバイダー)]​ をクリックします。

  2. 制限を表示する SAML IdP をクリックします。

  3. [Limits (制限)]​ タブをクリックします。

アクセス管理での制限についての詳細は、​「制限」​を参照してください。