概要
このドキュメントでは、アイデンティティプロバイダー(idP)としてAzureを使用してFirepower Management Center(FMC)シングルサインオン(SSO)を設定する方法について説明します。
Security Assertion Markup Language(SAML)は、SSOを可能にする基盤プロトコルとして最も頻繁に使用されます。ある企業が単一のログインページを維持し、その背後にアイデンティティストアとさまざまな認証ルールがあります。SAMLをサポートする任意のWebアプリケーションを簡単に設定でき、すべてのWebアプリケーションにログインできます。また、アクセスが必要なすべてのWebアプリのパスワードをユーザーに強制的に保持(および再利用の可能性がある)させたり、それらのWebアプリにパスワードを公開したりしないことによるセキュリティ上の利点もあります。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Firepower Management Center(FMC)の基礎知識
- シングルサインオンに関する基礎知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Cisco Firepower Management Center(FMC)バージョン6.7.0
- Azure - IdP
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
SAML用語
SAMLの設定は、次の2つの場所で行う必要があります。IdPとSPで確認できますIdPを設定して、特定のSPにログインする際にユーザを送信する場所と方法を把握する必要があります。 SPは、IdPによって署名されたSAMLアサーションを信頼できるように設定する必要があります。
SAMLの中核となる用語の定義:
-
Identity Provider(IdP):認証を実行するソフトウェアツールまたはサービス(通常はログインページやダッシュボードで視覚化)。ユーザ名とパスワードの確認、アカウントのステータスの確認、2ファクタの呼び出しなど
-
サービスプロバイダー(SP):ユーザがアクセスを試行するWebアプリケーション。
-
SAMLアサーション:ユーザのIDおよびその他の属性をアサーションするメッセージ。ブラウザリダイレクトを介してHTTPで送信されます。
IdPの設定
SAMLアサーションの仕様、内容、フォーマット方法は、SPによって提供され、IdPで設定されます。
- EntityID:SPのグローバルに一意な名前。形式は異なりますが、この値をURL形式で表示することは一般的になってきています。
例: <https://<FQDNまたはIPアドレス>/saml/metadata>
- Assertion Consumer Service(ACS)Validator - SAMLアサーションが正しいACSに送信されることを保証する、正規表現(regex)形式のセキュリティ測定値。これは、SAML要求にACSの場所が含まれるSP開始ログイン時にのみ実行されるため、このACS検証ツールは、SAML要求が提供するACSの場所が正当であることを確認します。
例:https://<FQDN-or-IPaddress>/saml/acs
- 属性:属性の数と形式は大きく異なります。通常、少なくとも1つの属性nameIDが存在します。これは通常、ログインを試みるユーザのユーザ名です。
- SAMLシグニチャアルゴリズム:SHA-1またはSHA-256。一般的ではないSHA-384またはSHA-512。このアルゴリズムは、X.509証明書と組み合わせて使用されます。
SPの設定
上記のセクションとは逆に、このセクションではIdPが提供する情報を説明し、SPで設定します。
FMCのSAML
FMCのSSO機能は6.7から導入されました。新しい機能は、FMC権限に存在する情報をマッピングするため、FMC認可(RBAC)を簡素化します。これは、すべてのFMC UIユーザおよびFMCロールに適用されます。現時点では、SAML 2.0仕様およびサポートされるIDPをサポートしています
-
OKTA
-
OneLogin
-
PingID
-
Azure AD
-
その他(SAML 2.0に準拠する任意のIDP)
制限および警告
設定
アイデンティティプロバイダーの設定
ステップ1:Microsoft Azureにログインします。[Azure Active Directory] > [エンタープライゼーションアプリケーション]に移動します。
- ステップ2:次の図に示すように、非ギャラリーアプリケーションの下に新しいアプリケーションを作成します。
ステップ3:作成したアプリケーションを編集し、次の図に示すように、[Set up single sign on > SAML]に移動します。
ステップ4:基本的なSAML設定を編集し、FMCの詳細を指定します(SAML設定の基本はSAML設定です)。
- FMC URL: https://<FMC-FQDNまたはIPアドレス>
- 識別子(エンティティID): https://<FMC-FQDN-or-IPaddress>/saml/metadata
- 返信URL: https://<FMC-FQDN-or-IPaddress>/saml/acs
- サインオンURL: /https://<FMC-QDN-or-IPaddress>/saml/acs
- RelayState:/ui/login
残りはデフォルトのままにします。これは、ロールベースのアクセスに関してさらに説明します。
これにより、IDプロバイダーの設定が終了します。FMCの設定に使用するフェデレーションメタデータXMLをダウンロードします。
Firepower Management Centerの設定
ステップ1:FMCにログインし、[Settings] > [Users] > [Single Sign-On]に移動し、[SSO]を有効にします。プロバイダとしてAzureを選択します。
ステップ2:AzureからダウンロードしたXMLファイルをここにアップロードします。必要なすべての詳細が自動入力されます。
ステップ3:設定を確認し、次の図に示すように[Save]をクリックします。
高度な構成 – AzureによるRBAC
さまざまなロールタイプを使用してFMCのロールにマッピングするには – Azure上のアプリケーションのマニフェストを編集して、ロールに値を割り当てる必要があります。デフォルトでは、ロールの値はNullです。
ステップ1:作成したアプリケーションに移動し、[シングルサインオン]をクリックします。
ステップ2:ユーザ属性と要求を編集します。[Name]に新しい要求を追加します。rolesとし、値としてuser.assignedrolesを選択します。
ステップ3:[<アプリケーション名>] > [マニフェスト]に移動します。 マニフェストを編集します。ファイルはJSON形式で、デフォルトのユーザがコピーできます。たとえば、次の2つのロールが作成されます。ユーザおよびアナリスト。
ステップ4:[<アプリケーション名>] > [ユーザとグループ]に移動します。次の図に示すように、ユーザを編集し、新しく作成したロールを割り当てます。
ステップ4:FMCにログインし、SSOの詳細設定を編集します。を参照, グループメンバー属性:aアプリケーションマニフェストでロールに指定した表示名に署名します。
その後、指定されたロールにログインできます。
確認
ステップ1:ブラウザからFMC URL(https://<FMC URL>)に移動します。次の図に示すように、[Single Sign-On]をクリックします。
Microsoftログインページにリダイレクトされ、ログインに成功するとFMCのデフォルトページが返されます。
ステップ2:FMCで、[System] > [Users]に移動し、データベースに追加されたSSOユーザを確認します。
トラブルシュート
SAML認証を確認します。これは、承認を成功させるために行うワークフローです(このイメージはラボ環境のものです)。
ブラウザのSAMLログ
FMC SAMLログ
/var/log/auth-daemon.logにあるFMCのSAMLログの確認