SAML (ADFS)
ADFSとSUSE® Securityの統合設定
このセクションでは、最初にADFSの設定手順を説明し、その後SUSE® Securityコンソールの設定を説明します。
ADFSの設定
-
AD FS管理から、"`Relying Party Trusts`"を右クリックし、"`Add Relying Party Trust…`"を選択します。

-
ウェルカムステップから"`Start`"ボタンを選択します。

-
"`Enter data about the relying party manually`"を選択し、"`Next`"を選択します。

-
表示名フィールドにユニークな名前を入力し、"`Next`"を選択します。

-
トークン暗号化をスキップするには、"`Next`"を選択します。

-
"`Enable support for the SAML 2.0 WebSSO protocol`"を確認し、SUSE® Securityの設定>SAML設定ページからSAMLリダイレクトURIを"`Relying party SAML 2.0 SSO service URL`"フィールドに入力します。 続行するには"`Next`"を選択します。

-
同じSAMLリダイレクトURIを"`Relying party trust identifier`"フィールドに入力し、"`Add`"をクリックします。その後、続行するには"`Next`"を選択します。

-
アクセス制御をカスタマイズし、その後"`Next`"を選択して続行します。

-
続行するには"`Next`"を選択します。

-
完了するには"`Close`"を選択します。
-
クレーム発行ポリシーの編集を選択します…

-
"`Add Rule…`"を選択し、"`Send LDAP Attributes as Claims`"を選択します。その後、"`Next`"を選択します。 ルールに名前を付け、属性ストアとしてActive Directoryを選択します。デフォルトのロールが設定されている場合、認証にはユーザー名の送信クレームのみが必要です。それ以外の場合、ロールマッピングにはグループが必要です。 メールは任意です。
-
SAMアカウント名 → ユーザー名
-
Eメールアドレス → メール
-
トークングループ — 未資格名 → グループ

-
-
"`Add Rule…`"を選択し、"`Transform an Incoming Claim`"を選択します。その後、"`Next`"を選択します。 ルールに名前を付け、以下のスクリーンショットにキャプチャされたフィールドを設定してください。 送信者名ID形式は、一時識別子である必要があります。

SUSE® Security セットアップ
-
アイデンティティプロバイダ シングルサインオンURL
-
AD FS管理 > サービスからエンドポイントを表示し、"`SAML 2.0/WS-Federation`"エンドポイントURLを使用します。
-
例:
https://<adfs-fqdn>/adfs/ls
-
-
アイデンティティプロバイダ発行者
-
AD FS管理コンソールのAD FSを右クリックし、"`Edit Federation Service Properties…`"を選択します; "`Federation Service identifier`"を使用します。
-
例:
http://<adfs-fqdn>/adfs/services/trust
-
-
X.509証明書
-
AD FS管理から、サービス > 証明書を選択し、トークン署名証明書を右クリックして"`View Certificate…`"を選択します。
-
詳細タブを選択し、"`Copy to File`"をクリックします。
-
Base-64エンコードされたx.509(.CER)ファイルとして保存します。
-
ファイルの内容をコピーして、X.509証明書フィールドに貼り付けます。
-
-
グループクレーム
-
グループのための送信クレーム名を入力してください。
-
例: グループ
-
-
デフォルトロール
-
認証されたユーザーにデフォルトの役割を許可したくない限り、"`None`"であることをお勧めします。
-
-
役割マップ
-
適切な役割のユーザーのグループ名を設定します。 (以下のスクリーンショット例を参照してください。)

-
グループを役割とネームスペースにマッピングする
グループをプリセットおよびカスタム役割、ならびにSUSE® Securityのネームスペースにマッピングする方法については、ユーザーと役割セクションをご覧ください。
トラブルシューティング
-
ADFS SamlResponseSignatureは、MessageOnlyまたはMessageAndAssertionのいずれかである必要があります。 Get-AdfsRelyingPartyTrustコマンドを使用して、それを確認または更新します。

-
KubernetesノードとADFSサーバー間の時間同期
成功した認証のためには、KubernetesノードとADFSサーバー間の時間が同じである必要があり、時間同期やクロックドリフトの問題を避けることができます。
すべてのサーバーで同じ時間設定を持つ NTPサーバーの使用をお勧めします。
ADFSとSUSE® Securityホストの両方が同期されており、潜在的な遅延が10秒を超えないことを確認してください。LinuxおよびWindowsコマンドを使用して、日付、時刻、NTPサーバーのアクティビティを確認できます。
|
次のように、SUSE® Security UIで設定を無効にして再度有効にすることで、認証時間を再読み込みできます。
設定が再度有効になったら、ADFSユーザーでログインを試みることができます。これが機能すれば、問題はKubernetesノードとADFSサーバー間の時間同期エラーによるものであることが確認されます。 |
-
SAML文字はSUSE® Security UIで大文字と小文字を区別する必要があります。
属性名は大文字と小文字を区別します。ここに設定されたSAML属性名がアプリケーション設定と完全に一致することを確認してください。SAMLは認証のために正しいURLを指す必要があります。
`SUSE® Security UI → Settings → SAML Settings`のすべてのフィールドは大文字と小文字を区別します。
SUSE® Securityコントローラーログには、ADFSサーバーとの認証に関する関連情報と、根本原因を特定するのに役立つエラーが含まれています。失敗したログイン条件を再現し、ログを確認することをお勧めします。
-
正しいグループ、証明書、およびプロトコルを入力してください。
SAML設定は以下の設定と一致する必要があります:
設定 値 アイデンティティプロバイダ シングルサインオンURL
HTTPSプロトコルが必要です。
アイデンティティプロバイダ発行者
HTTPプロトコルが必要です。
ADFS SamlResponseSignature
MessageOnlyまたはMessageAndAssertionのいずれかである必要があります。
|
これらの設定は、あなたのADFSサーバーとSUSE® Security UIで検証する必要があります。 |
選択した証明書は有効で正しく生成されている必要があり、その`CA Root`と`Intermediate Certificates`を含む必要があります。信頼できる証明書機関、Windows、または LetsEncryptのような自動化ツールを使用して生成できます。
これらのパラメータのいずれかが不正確な場合、SAML認証を使用してADFSユーザーでSUSE® Securityにログインしようとすると、`Authentication Failed`エラーが発生します。