はじめに
このドキュメントでは、Identity Provider(idP)としてAzureを使用してFirepower Management Center(FMC)シングルサインオン(SSO)を設定する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Firepower Management Center(FMC)に関する基本的な知識
- シングルサインオンの基本的な知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- Cisco Firepower Management Center(FMC)バージョン6.7.0
- Azure - IdP
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
SAMLの用語
Security Assertion Markup Language(SAML)は、SSOを可能にする基盤プロトコルとして最も一般的です。ある企業が1つのログインページを保持し、その背後にはアイデンティティストアとさまざまな認証ルールがあります。SAMLをサポートする任意のWebアプリケーションを簡単に設定でき、すべてのWebアプリケーションにログインできます。また、ユーザがアクセスする必要があるすべてのWebアプリのパスワードを維持(および再利用の可能性)したり、それらのWebアプリにパスワードを公開したりすることを強制しないことによるセキュリティ上の利点もあります。
SAMLの設定は、IdPとSPの2箇所で行う必要があります。IdPは、特定のSPにログインするユーザの送信先と送信方法を認識できるように設定する必要があります。SPは、IdPによって署名されたSAMLアサーションを信頼できることを認識するように設定する必要があります。
SAMLの中核となる用語の定義:
-
アイデンティティプロバイダー(IdP):認証を実行するソフトウェアツールまたはサービス(ログインページやダッシュボードで視覚化されることもあります)。ユーザ名とパスワードの確認、アカウントステータスの確認、2要素の呼び出し、およびその他の認証を行います。
-
サービスプロバイダー(SP):ユーザがアクセスを試行するWebアプリケーション。
-
SAMLアサーション:ユーザのアイデンティティや、多くの場合は他の属性をアサーションするメッセージ。ブラウザリダイレクトを介してHTTPで送信されます。
IdPの設定
SAMLアサーションの仕様、アサーションに含まれる内容、アサーションのフォーマット方法は、SPによって提供され、IdPで設定されます。
- EntityID:SPのグローバルに一意な名前。フォーマットは異なりますが、この値がURLとしてフォーマットされていることが一般的になってきています。
例:https://<FQDN-or-IPaddress>/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で設定される情報について説明します。
- 発行者URL:IdPを表す一意の識別子。SPが受信するSAMLアサーションが正しいIdPから発行されていることを検証できるように、IdPに関する情報を含むURLとしてフォーマットされます。
FMCでのSAML
FMCのSSO機能は、6.7から導入されています。この新機能により、既存の情報がFMCロールにマッピングされるため、FMC許可(RBAC)が簡素化されます。すべてのFMC UIユーザとFMCロールに適用されます。現時点では、SAML 2.0仕様とサポートされるIDPをサポートしています
制限および警告
設定
アイデンティティプロバイダーの設定
ステップ 1:Microsoft Azureにログインします。Azure Active Directory > Enterprise Applicationに移動します。
- ステップ 2:次の図に示すように、Non-Gallery Applicationの下にNew Applicationを作成します。
ステップ 3:次の図に示すように、作成したアプリケーションを編集し、シングルサインオンの設定> SAMLに移動します。
ステップ 4:基本的なSAML設定を編集し、FMCの詳細を指定します。
- FMCのURL:https://<FMC-FQDN-or-IPaddress>
- 識別子(エンティティID):https://<FMC-FQDN-or-IPaddress>/saml/metadata
- 応答URL:https://<FMC-FQDN-or-IPaddress>/saml/acs
- サインオンURL:https://<FMC-QDN-or-IPaddress>/saml/acs
- リレー状態:/ui/login
その他はデフォルトのままにしておきます。これは、ロールベースのアクセスについてさらに詳しく説明します。
これで、アイデンティティプロバイダーの設定は終了です。FMCの設定に使用するフェデレーションメタデータXMLをダウンロードします。
Firepower Management Center(FMC)の設定
ステップ 1:FMCにログインし、Settings > Users > Single Sign-Onの順に移動し、SSOを有効にします。プロバイダーとしてAzureを選択します。
ステップ 2:AzureからダウンロードしたXMLファイルをここにアップロードします。必要なすべての詳細情報が自動的に入力されます。
ステップ 3:設定を確認し、次の図に示すようにSaveをクリックします。
高度な構成 – RBACとAzure
さまざまなロールタイプを使用してFMCのロールにマッピングするには、Azure上のアプリケーションのマニフェストを編集してロールに値を割り当てる必要があります。デフォルトでは、ロールの値はNullです。
ステップ 1:作成したApplicationに移動し、Single sign-onをクリックします。
ステップ 2:ユーザー属性と要求を編集します。名前:rolesの新しい要求を追加し、値にuser.assignedrolesを選択します。
ステップ 3:<Application-Name> > Manifestに移動します。 マニフェストを編集するファイルはJSON形式であり、コピーできるデフォルトのユーザが存在します。たとえば、ここではユーザとアナリストの2つのロールが作成されます。
ステップ 4:<Application-Name> > Users and Groupsに移動します。次の図に示すように、ユーザを編集し、新しく作成されたロールを割り当てます。
ステップ 4:FMCにログインし、SSOでAdvanced Configurationを編集します。グループメンバー属性:の場合、アプリケーションマニフェストで指定した表示名をロールに割り当てます。
この操作を行うと、指定したロールにログインできます。
確認
ステップ 1:ブラウザから、https://<FMC URL>のFMC URLに移動します。次の図に示すように、Single Sign-Onをクリックします。
Microsoftログインページにリダイレクトされ、ログインに成功すると、FMCのデフォルトページが返されます。
ステップ 2:FMCで、System > Usersの順に移動し、データベースに追加されたSSOユーザを確認します。
トラブルシュート
SAML認証を確認します。これは、認証を正常に行うためのワークフローです(この図はラボ環境を示しています)。
ブラウザのSAMLログ
FMC SAMLログ
/var/log/auth-daemon.logでFMCのSAMLログを確認します。