コンテンツにスキップ

ガイド

SAML 2.0統合を使用して、組織の中央集権的なシングルサインオン(Single Sign-On)を簡単に有効にできます。 組織のメンバーは、仕事用のメールアドレスでOstorlabにサインインできます。

SAML Integration Overview

具体的な例については、以下の統合ガイドのいずれかを参照してください。

用語

  • IdPはアイデンティティプロバイダー(Identity Provider)の略です。IdPは、ユーザーディレクトリとして機能するサービスです。
  • SPはサービスプロバイダー(Service Provider)の略です。サービスプロバイダーは、認証をアイデンティティプロバイダーに依存します。
  • IdP Metadata XMLは、IdPによって提供されるXML設定ドキュメントです。これには、サービスプロバイダーが認証リクエストを行うために使用できる、ユーザーディレクトリに関するパブリック情報が含まれています。

構成プロパティ

以下は、IdPを使用してSAML SSOをセットアップする際に実際に構成するプロパティのみです。

名前 その他の名前 必須
Single sign on URL AssertionConsumerService (ACS) URL はい
Entity ID Metadata または Audience URL はい
Default relay state Start または Application Start URL いいえ
Name identifier format Name Identifier, Name, Name ID format はい

エンティティID

必須

Entity ID(SP)は、サービスプロバイダーがそのSAML構成に関するパブリック情報を公開するURLです。サービスプロバイダーによって公開されたメタデータドキュメントには、サービス自体から開始された認証リクエストの署名を検証するために使用できるパブリック証明書が示されています。

: IdPにもEntity IDがあります。ただし、IdPのEntity IDは、そのIdP内の特定のテナント/組織を一意に識別するために使用されます。SAML SSOを構成する際、ほとんどの場合、Ostorlabの組織に固有となるSPのEntity IDを入力するように求められます。

Assertion Consumer Service (ACS) URL / シングルサインオン (SSO) URL

必須

これは、IdPがSAMLアサーションをPOSTできるURLです。

Assertion Consumer Service Binding

必須

ACSでサポートされているプロトコルバインディングを識別します。バインディングは、ACSで消費するために、アサーションおよび囲まれているコンテンツがIdP(または場合によってはブラウザ)によってどのようにパッケージ化されるかを説明します。

Name ID フォーマット

必須

Name ID formatは、SAML SSO構成の最も重要な側面の1つです。これは、アイデンティティプロバイダーがダウンストリームサービスでユーザーを識別する方法を定義します。フォーマットの値は、ユーザーのサブジェクト(Subject)に使用される値を定義します。

重要: Name ID formatが構成され、ユーザーがSSOの使用を開始したら、名前識別子を変更しないでください。これにより、ユーザーがサインインできなくなります。

(Default) Relay State

Relay StateはURLであり、それ自体がアイデンティティプロバイダーによって開始されたSSOリクエストのクエリパラメータとして渡されます。これはオプションのプロパティです。これはディープリンク(deep-linking)とも呼ばれます。これにより、ユーザーはアイデンティティプロバイダー自体からアプリケーションを起動することで、ダウンストリームサービスに直接移動できます。

使用方法:

SAML統合を構成する:

  1. サイドバーボタンをクリックします Sidebar Button
  2. Integrations/APIをクリックして展開します Integrations Navigation
  3. Integrationsをクリックします
  4. SAML統合をクリックします SAML Integration Selection

Saml統合メニューから、構成(configuration)タブを選択し、次の値を入力します。 SAML Configuration Tab SAML Configuration Tab 1. Idp Identifier : URI - IdPエンティティの識別子: https://your_domain.com/saml/metadata/connector_id IdP Identifier 2. SAML 2.0 Endpoint : 認証リクエストメッセージ(Authentication Request Message)の送信先となるIdPのターゲットURL。 例、 https://your_domain.com/saml2/http-post/sso/connector_id SAML 2.0 Endpoint 3. X.509 Certificate : IdPのパブリックX.509証明書。 X.509 Certificate X.509 Certificate

SAML識別子構成では、Ostorlabのサービスプロバイダー(Service provider of Ostorlab)に次の設定を使用していることを確認してください。

  • Entity Id: https://api.ostorlab.co/saml/metadata/
  • AssertionConsumerService URL: https://api.ostorlab.co/saml/acs/?org=<organisation_prefix>

    URLの<organisation_prefix>には、Ostorlab組織のプレフィックスを入力する必要があります。組織のプレフィックスは、組織の設定ページで確認できます。

  • Assertion Consumer Service Binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
  • NameIDFormat: urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

既存のアカウントの場合、ユーザーはSSOを使用したログインを有効にするために、アイデンティティプロバイダーをホワイトリスト(whitelist)に登録する必要があります。これを行うには:

  1. アカウントセキュリティ(Account security)メニューに移動します。 Account Security Menu Account Security Menu Account Security Menu
  2. Single Sign-Onサブメニューで、サポートされているアイデンティティプロバイダーのリストから組織を選択します。 Single Sign-On Sub-menu Single Sign-On Sub-menu

既存のアカウントを持たない新しいアクセスは、SSO組織への適切なアクセス権を持つ新しいアカウントを自動的にプロビジョニングします。

トラブルシューティング

IdPが提供するメタデータXMLを保存しようとすると検証エラーが発生する

IdPが提供するメタデータXMLにはいくつかのXML要素が含まれており、そのうち<IDPSSODescriptor>はOstorlabに関連する要素です。IDPSSODescriptorでは、有効なKeyDescriptor公開鍵証明書、NameIDFormat、IdP内の組織を識別するEntity ID、およびSSOバインディング(SSO binding)が表示されることが期待されます。

このエラーは通常、以下のいずれかの理由によって発生します。

  • 不正な形式のXML
  • IDPSSODescriptor内のKeyDescriptor公開鍵証明書の有効期限が切れている
  • IDPSSODescriptor内にKeyDescriptor公開鍵証明書がない
  • NameIDFormatが期待される値を持たない、または完全に欠落している。これに関するヘルプについては、次のトラブルシューティングトピックを参照してください。

    ヒント: OneLoginには、無料のSAML関連ツールのスイートがあります。

Name ID Formatが無効である

Name ID Formatセクションで述べたように、OstorlabはIdPメタデータXMLに特定の値があることを想定しています。One LoginのXML Pretty Printを使用してXMLを整形し、<IDPSSODescriptor> XML要素の下にある<NameIDFormat>を探します。

NameIDFormatという要素が見つからない場合は、KeyDescriptorの閉じタグの直後に次の行を追加します。

<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>

これはサンプルのメタデータXMLです。簡潔にするために一部の値が削除されていることに注意してください。

<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="...">
  <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      ....
    </md:KeyDescriptor>
    <!--
        この例では、すべての要素のネームスペースが`md`です。そのため、NameIDFormatに`md:`のプレフィックスが付いています。
        XMLの要素にプレフィックスがない場合は、スキップできます。
    -->
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="..."/>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="..."/>
  </md:IDPSSODescriptor>
</md:EntityDescriptor>

XMLでSSOバインディングが見つかりませんでした。SSOプロバイダーにお問い合わせください。

このエラーは、保存しようとしているメタデータXMLの<IDPSSODescriptor>の下に<SingleSignOnService>要素がない場合に発生します。<SingleSignOnService>は、IDPでサポートされている認証メカニズムを決定するためにOstorlabによって使用されます。SAML 2.0バインディング(SAML 2.0 Bindings)の詳細については、Wikipediaを参照してください。メタデータXMLを修正するには、IdPサポートまたはシステム管理者に連絡する必要があります。

HTTP-POSTのSSOバインディングの例を次に示します。

<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="..."/>

: Location属性は、IDP内のテナントごとに固有です。