OktaテンプレートWSフェデレーションアプリケーションを構成する
Oktaは、WS-Fed対応のアプリをオンデマンドで作成できるWS-Federationテンプレートアプリを提供しています。
このテンプレートアプリケーションを使用する場合、OktaはIDP(IDプロバイダー)として機能し、ターゲットアプリケーションはSP(サービスプロバイダー)になります。
WS-Fedの場合、Okta(IDPとして機能)はSP起点の認証をサポートします。認証フローは次のとおりです。
- 最初にターゲットSPに移動するか、Oktaのアプリをクリックします。この時点では、ユーザーとSP間でのセッションは確立しません。
- SPは、ユーザーを構成済みのログインURL(Oktaが生成したアプリインスタンスURL)にリダイレクトし、パッシブリクエストを送信します。
- Oktaにはパッシブリクエストが送信されます(既存のOktaセッションが存在するものと仮定)。
- Oktaは構成されているSPに応答を送信します。
- SPは応答を受信し、クレームが正しいことを確認します。これにより、SP側でセッションが確立されます。
- 認証は完了です。
WS-Fedの構成に使用するターゲットアプリ(SP)では、より多くの構成が必要になります。Oktaは、WS-Fedアプリの説明でこの情報を提供しています(WS-Fedアプリページの[Sign On(サインオン)]タブからアクセスできます)。手順には、レルム、発行者、パッシブURL(前述のように、通常は上記のSP起点フローでのみ必要)が含まれます。構成はアプリに応じて異なります。WS-Fedをオンにすることがオールオアナッシング機能であるかどうかをSPベンダーに確認することをお勧めします。
レルム名
レルム名はIdPに対して一意である必要があります。すべての依拠当事者が、当事者ごとに生成された一意のエンドポイントの使用をサポートしているわけではありません。WS-Federation Template Appは、2つのレルムモードをサポートしています。
-
Oktaで生成されたレルム名を持つ共有エンドポイント
レルム名を空にした場合、Oktaはアプリの外部キーを使用してレルム名を生成します。例:https://[orgname].okta.com/app/template_wsfed/sso/wsfed/passive。証明書利用者はリクエストに共通のエンドポイントを使用し、wtrealm=urn:okta:app:[key]クエリパラメーターはターゲットアプリのインスタンスを識別します。
-
顧客定義のレルム名を持つアプリエンドポイント
お客様がレルム名を指定すると、Oktaはアプリ固有のエンドポイントを生成します。例:https://[orgname].okta.com/apt/template_wsfed/[key]/sso/wsfed/。名前空間はアプリであり、グローバルではないため、レルム名は再利用できます。レルム名は、構成値との一致の検証に使用され、それ以外には使用されません。
どちらの構成でも、SAMLアサーションの発行者は常にアプリインスタンスキーです。たとえば、http://www.okta.com/[key]。オーディエンスは、常に構成されたオーディエンス制限値です。レルム名と同じ値を使用することをお勧めしますが、必要に応じて別の値を使用できます。
テンプレートWS-Fedを追加して構成する
まず、テンプレートWS-Fedアプリをorgに追加する必要があります。最初にスーパーユーザーとしてプライベートアプリを追加する必要があります。
- Admin Consoleで[Applications(アプリケーション)] に移動して[Browse App Catalog(アプリカタログを参照)]をクリックし、[Search(検索)]ボックスにTemplate WS-Fedと入力します。
- テンプレートWS-Fedアプリで次のフィールドに入力します。これらのフィールドに入力する必要がある内容の詳細については、ターゲットアプリケーション(SP)のドキュメントを参照してください。
- [Application Label(アプリケーションラベル)]:ユーザーのホームページに表示されるラベルをアプリに付けます。
- [Web Application URL(WebアプリケーションURL)]:Webアプリケーションの起動URL。例:http://example.com。
- [Realm(レルム)]:リソースを安全に共有するように構成されているいくつかのドメインの1つ。レルムは、アプリケーションのURI(Uniform Resource Identifier)です。サインイン時にOkta IdPに送信されるのはIDです。セットアップ手順に示されているように、レルムを指定しない場合、Oktaはレルムを生成します。「レルム名」を参照してください。
- [ReplyTo URL(返信先URL)]:WS-Fed SPエンドポイント(ユーザーがログインする場所)。例:http://test.acme.com/example-post-sign/。
- [AllowReplyToOverride]:これにより、WebアプリケーションがReplyTo URLをreplyパラメーターでオーバーライドできるようになります。
- [Name ID format(名前IDフォーマット)]:選択する値はアプリケーションによって異なります。これは、WS-Fed応答で送信するユーザー名の形式です。詳細については、SPのドキュメントを参照してください。
- [Audience Restriction(オーディエンス制限)]:SPのエンティティID。SPによって提供され、正確に一致する必要があります。詳細については、SPのドキュメントを参照してください。
- [Assertion Authentication Context(アサーション認証コンテキスト)]:認証制限のタイプを示します。これは通常、パスワードで保護されたトランスポートに設定する必要があります。詳細については、SPのドキュメントを参照してください。
- [Attribute Statements (Optional)(属性ステートメント(任意))]:Oktaプロファイルフィールド、LDAP、Active Directory、Workday値などのユーザー属性を統合できます。SPは、それに応じてフェデレーションWS-Fed属性値を使用します。詳細については、「テンプレートSAML 2.0またはWS FedアプリケーションでのActive Directory、LDAP、および稼働日の値のマッピング」 を参照してください。
- [Group Name (Optional)(グループ名(オプション))]:WS-Fed応答属性ステートメントに含まれるこの属性の名前を入力します。次に、グループフィルターフィールドにグループ(式を使用)を入力して、この属性に含まれるグループを指定します。WS-Fed応答属性ステートメントには、フィルタリングしたグループに属するすべてのユーザーが含まれます。
- [Group Attribute Value(グループ属性値)]:フィルタリングされたグループのWS-Fedアサーション属性値を指定します。この属性は、Active Directoryグループにのみ適用されます。選択肢は、WindowsDomainQualifiedName・samAccountName・dnです。
- [Group filter (Optional)(グループフィルター(オプション))]:Group Nameフィールドで構成した属性に含めるユーザーグループを指定します。グループのフィルタリングに使用される正規表現を入力します。一致するユーザーグループに対応するADグループがある場合、属性ステートメントには、グループ属性値で指定された属性の値が含まれます。一致するユーザーグループに対応するADグループが含まれていない場合、属性ステートメントではグループ名が使用されます。
- [Username Attribute Statements(ユーザー名属性ステートメント)]:WS-Fedアサーションに含めるその他のユーザー名属性ステートメントを指定します。これにより、サブジェクトステートメントを無視する.NETアプリとの統合が簡略化されます。選択肢には、ユーザー名、UPN、ユーザー名、UPNが含まれ、なしが含まれます。
- [Custom Attribute Statements(カスタム属性ステートメント)]:カスタムSAML属性ステートメントを定義します。
- [Signature Algorithm(署名アルゴリズム)]:SHA1またはSHA256のいずれかを選択します。
- [Digest Algorithm(ダイジェストアルゴリズム)]:SHA1またはSHA256のいずれかを選択します。
- [Application Visibility (Optional)(アプリケーションの可視性(任意))]:ユーザーのホームページでアプリケーションアイコンを非表示にすることを選択できます。
ターゲットアプリケーション(SP)でWS-Fedを構成する
WS-Fedを機能させるには、ターゲットアプリケーション(SP)でいくつかの追加手順を実行する必要があります。
SPのベンダーに問い合わせて、SAMLを有効にするかどうかを判断してください。Oktaは、ターゲットSPで作成する必要のある構成情報を提供します。
この情報にアクセスする手順は次のとおりです。
- 追加したテンプレートアプリのインスタンスをクリックします。
- [Sign On(サインオン)]タブを選択し、[View Setup Instructions(設定手順を表示)]をクリックします。
- [Configuration Data(構成データ)]セクションまで手順をスクロールします。ここで、必要なすべてのSPエンドポイント構成情報を取得できます。
アプリをテストする
ユーザーをアプリに割り当て、ユーザーが正常に認証できることを確認します。