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ベンダーに確認することをお勧めします。Okta
レルム名
レルム名は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アプリケーションURL(Web Application URL):Webアプリケーションの起動URL。例:
http://example.com。 - レルム(Realm):リソースを安全に共有するように構成されているいくつかのドメインの1つ。レルムは、アプリケーションのURI(Uniform Resource Identifier)です。サインイン時にOkta IdPに送信されるのはIDです。セットアップ手順に示されているように、レルムを指定しない場合、Oktaはレルムを生成します。レルム名を参照してください。
- 返信先URL(ReplyTo URL):WS-Fed SPエンドポイント(ユーザーがログインする場所)。例:
http://test.acme.com/example-post-sign/。 - AllowReplyToOverride:これにより、WebアプリケーションがReplyTo URLをreplyパラメーターでオーバーライドできるようになります。
- 名前IDフォーマット(Name ID format):選択する値はアプリケーションによって異なります。これは、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グループがある場合、属性ステートメントには、グループ属性値(Group Attribute Value)で指定された属性の値が含まれます。一致するユーザーグループに対応する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)をクリックします。
- ドメインを構成する(Configure your domain)セクションまで手順をスクロールします。ここで、必要なすべてのSPエンドポイント構成情報を取得できます。
アプリをテストする
ユーザーをアプリに割り当て、ユーザーが正常に認証できることを確認します。
関連項目