Azure ADをSAML IdPとして構成し、Citrix ADCをSAML SPとして構成する
SAML サービスプロバイダ (SP) は、サービスプロバイダーによって展開される SAML エンティティです。ユーザーが保護されたアプリケーションにアクセスしようとすると、SPはクライアント要求を評価します。クライアントが認証されていない(有効な NSC_TMAA または NSC_TMAS Cookie がない)場合、SP は要求を SAML アイデンティティプロバイダ(IdP)にリダイレクトします。また、SP は IdP から受信した SAML アサーションも検証します。
SAML IdP (ID プロバイダー) は、顧客ネットワークにデプロイされる SAML エンティティです。IdP は SAML SP からリクエストを受信し、認証情報を入力する必要があるログオンページにユーザーをリダイレクトします。IdP は、これらの認証情報をユーザディレクトリ(LDAP などの外部認証サーバ)で認証し、SP に送信される SAML アサーションを生成します。SPはトークンを検証し、要求された保護されたアプリケーションへのアクセス権をユーザーに付与します。
次の図は、SAML 認証メカニズムを示しています。
Azure AD サイド構成
シングルサインオン設定を構成します。
-
Azure ポータルで、[ Azure Active Directory] をクリックします。
-
ナビゲーションペインの [ 管理 ] セクションで、[ エンタープライズアプリケーション] をクリックします。Azure AD テナント内のアプリケーションのランダムなサンプルが表示されます。
-
検索バーに「Citrix ADC」と入力します。
-
[ 管理 ] セクションで、[ シングルサインオン] を選択します。
-
[ SAML ] を選択して、シングルサインオンを構成します。[ SAML でシングルサインオンを設定する-プレビュー ] ページが表示されます。ここで、Azure は SAML IdP として機能しています。
-
基本的な SAML オプションを設定します。
識別子 (エンティティ ID) -一部のアプリで必須です。シングルサインオンが設定されているアプリケーションを一意に識別します。Azure AD は、SAML トークンのオーディエンスパラメータとして識別子をアプリケーションに送信します。アプリケーションは、それを検証することが期待されます。この値は、アプリケーションによって提供されるすべての SAML メタデータにもエンティティ ID として表示されます。
返信 URL -必須。アプリケーションが SAML トークンの受信を期待する場所を指定します。応答 URL は、アサーションコンシューマサービス(ACS)URL とも呼ばれます。
サインオン URL -ユーザーがこの URL を開くと、サービスプロバイダーは Azure AD にリダイレクトしてユーザーを認証し、サインインします。
Relay State :認証の完了後にユーザーをリダイレクトする場所をアプリケーションに指定します。
-
Citrix ADCをSAML SPとして構成するときに、SAML署名証明書の下に存在する証明書 (Base64)をsamlidPCertNameとして使用するダウンロードします。
Citrix ADC側の構成
-
[ セキュリティ] > [AAA アプリケーショントラフィック] > [ポリシー] > [認証] > [詳細ポリシー] > [アクション] > [SAML]に移動します。
-
[ サーバ ] タブを選択し、[ 追加] をクリックし、次のパラメータの値を入力して、[ 作成] をクリックします。
パラメータの説明:
太字のパラメーターの値は、Azure 側の構成から取得する必要があります。
Name:サーバーの名前
リダイレクトURL -Azure AD の「Citrix ADC セットアップ」セクションに以前使用したログインURLを入力します。
https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2
シングルログアウト URL-
https://login.microsoftonline.com/3e6d1786-4e0c-4c70-86d2-ae7811f97f79/saml2
SAML バインディング-ポスト
ログアウトバインド-リダイレクト
IDP 証明書名 -SAML 署名証明書の下にある IdPCert 証明書 (Base64)。
ユーザーフィールド -UserPrincipalName。Azure IdP の「ユーザー属性とクレーム」セクションから取得されます。
署名証明書名 -Azure AD では必要ありません。Citrix ADCがIdPへの認証要求に署名するために使用するSAML SP証明書(秘密キー付き)を選択します。IdP が認証要求署名を検証できるように、同じ証明書(秘密キーなし)を IdP にインポートする必要があります。このフィールドは、ほとんどの IdP では必要ありません。
issuerName -識別子。
https://idp.g.nssvctesting.net
符号なしアサーションを拒否する-オン
Audience-IdP によって送信されたアサーションが適用されるオーディエンス。これは通常、ServiceProvider を表すエンティティ名または URL です。
署名アルゴリズム-RSA-SHA256
ダイジェストメソッド-SHA256
デフォルト認証グループ-抽出されたグループに加えて、認証が成功した場合に選択されるデフォルトグループ。
Group Name Field:ユーザグループを含むアサーション内のタグの名前。
スキュー時間(分)-このオプションは、Citrix ADC ServiceProviderが着信アサーションで許可するクロックスキューを分単位で指定します。
2 つの要素- オフ
要求された認証コンテキスト-正確
認証クラスタイプ-なし
サムプリントを送信-オフ
ユーザー名を強制する-オン
認証を強制する-オフ
SAML レスポンスを保存-オフ
同様に、対応する SAML ポリシーを作成し、認証仮想サーバーにバインドします。
注:Azure AD は SAML リクエストの [件名 ID] フィールドを期待していません。Citrix ADCが[サブジェクトID]フィールドを送信しないようにするには、 Citrix ADCコマンドプロンプトで次のコマンドを入力します 。
nsapimgr_wr.sh -ys call="ns_saml_dont_send_subject"