SAML2.0 による Introscope のセキュリティ保護

SAML 2.0 は、ユーザ認証の中心的な位置となる SSO 認証プロトコルです。1 回のログインのみで Web アプリケーション間を移動するには、SAML 2.0 を使用します。WebView、Web Start Workstation および Command Center は、SAML 2.0 サービス プロバイダとして動作します。WebView、Webstart Workstation、Command Center は、認証のアイデンティティ プロバイダ(IdP)に接続できます。
apmdevops104jp
SAML 2.0 認証
SAML 2.0 は、ユーザ認証の中心的な位置となる SSO 認証プロトコルです。1 回のログインのみで Web アプリケーション間を移動するには、SAML 2.0 を使用します。WebView、Web Start Workstation および Command Center は、SAML 2.0 サービス プロバイダとして動作します。WebView、Webstart Workstation、Command Center は、認証のアイデンティティ プロバイダ(IdP)に接続できます。
内部または外部のアイデンティティ プロバイダを使用するには Introscope を設定します。Introscope がユーザ認証のために既存の会社の IdP を使用できるように、外部のアイデンティティ プロバイダを使用します。また、Enterprise Manager には、ユーザ認証のために有効化できる内部のアイデンティティ プロバイダが含まれます。
内部の IdP による SAML 認証の設定
内部アイデンティティ プロバイダを使用して Introscope を設定します。
以下の手順に従います
  1. IntroscopeEnterpriseManager.properties で WebView、Web Start Workstation および Command Center の SAML 認証を有効にします。
    introscope.saml.enable=true
  2. Enterprise Manager の起動中に開始する内部プロバイダを有効にします。
    introscope.saml.internalIdp.enable=true
  3. Enterprise Manager を再起動します。
  • その他の SAML 設定オプションを変更しないでください。それらを変更すると、CA APM は、内部のアイデンティティ プロバイダと通信できません。
  • ユーザ情報の取得に realms.xml を使用するように内部プロバイダが設定されます。ローカル、LDAP、または EEM 認証を使用するように realms.xml を設定します。
外部の IdP による SAML 認証の設定
外部アイデンティティ プロバイダを使用して Introscope を設定します。
以下の手順に従います。
  1. IntroscopeEnterpriseManager.properties で WebView、Web Start Workstation および Command Center の SAML 認証を有効にします。
    introscope.saml.enable=true
  2. アイデンティティ プロバイダの SAML 2 SSO ページに URL を設定します。正しい値については、アイデンティティ プロバイダの設定を参照してください。
    introscope.saml.idpUrl=http://<hostname>/affwebservices/public/saml2sso
  3. (オプション)アイデンティティ プロバイダ設定に従って、他の SAML 設定を変更します。CA APM のデプロイが 1 つのみの場合は、デフォルト設定を使用します。
    introscope.saml.issuer=com.ca.apm.webview.serviceprovider introscope.saml.webstart.issuer=com.ca.apm.webstart.serviceprovider introscope.saml.principalAttributeName=principalName
  4. realms.xml 設定ファイルに、SAML のレルムを追加します。このレルムは、Enterprise Manager で、アイデンティティ プロバイダが認証するすべてのユーザを認証できるようにします。
    <realm descriptor="SAML Realm" id="SAML Realm" active="true" />
外部のアイデンティティ プロバイダの設定
ログインに成功したらアプリケーションにユーザをリダイレクトして戻すように、サービス プロバイダのメタデータでアイデンティティ プロバイダを設定します。Enterprise Manager には、WebView および Web Start Workstation 用のサービス プロバイダのメタデータ ファイルが含まれています。https://<acc_host>:<acc_port>/saml/metadata から Command Center のメタデータ ファイルをダウンロードできます。メタデータ ファイルには、アサーション コンシューマのアドレスや暗号化キーなどの設定が含まれます。アイデンティティ プロバイダがメタデータのインポートをサポートする場合、これらのファイルを使用して、アイデンティティ プロバイダでサービス プロバイダ エンティティを作成します。メタデータ ファイルは、
<EM_Home>/
config ディレクトリに含まれています。
ログイン後に、ユーザ名は、アサーション属性または nameID タグのいずれかで、SAML アサーション応答で渡されます。
クラスタの場合、MOM からサービス プロバイダのメタデータをインポートします。
Authorization
アイデンティティ プロバイダからの SAML 2.0 アサーションでは、定義された属性を持つ属性ステートメントを提供できます。Enterprise Manager は、ユーザの許可に対して定義済みの属性を使用できます。SAML アサーションで提供される場合、この属性には、ユーザがメンバであるグループの名前が含まれます。これらのグループを使用して、エージェントのドメインまたはサーバに対する Enterrise Manager 行アクセスのリソースを許可できます。この属性のデフォルト名は、
groups
です。名前を変更するには、
introscope.saml.groupsAttributeName
 プロパティを設定します。
セキュリティ オプション
署名
SAML 応答には、アサーションまたは応答全体のシグネチャを含めることができます。
SAML 応答/アサーションのシグネチャを IdP の依存パーティ構成ファイルで設定します。シグネチャは、サービス プロバイダのプロファイル構成ごとに設定されます。内部の IdP では、依存パーティ構成ファイルの場所は、
<EM_Home>
/config/shibboleth/conf/relying-party.xml> です。
アイデンティティ プロバイダの SAML 応答には、応答またはアサーションのシグネチャが含まれ、応答内のキーがシグネチャを検証します。ただし、信頼は WebView 証明書ストア(
<WebView_Home>
/config/internal/server/keystore> ファイル)の証明書で検証されます。信頼の検証を容易にするために、このストアにアイデンティティ プロバイダの証明書を追加します。
シグネチャの検証または信頼の検証に失敗した場合は、ユーザ認証は失敗し、Enterprise Manager に対してユーザが認証されません。
Encryption
SAML 応答のアサーションまたは NameID は暗号化することができます。
SAML アサーション/NameID の暗号化を IdP 依存パーティ構成ファイルで設定します。暗号化は、サービス プロバイダのプロファイル構成ごとに設定されます。内部の IdP では、依存パーティ構成ファイルの場所は、<
EM_Home
>/config/shibboleth/conf/relying-party.xml> です。
サービス プロバイダの公開証明書は、サービス プロバイダのメタデータ ファイル内に存在します。IdP は、この証明書を使用して暗号化します。サービス プロバイダの秘密鍵は、WebView 証明書ストア(<
WebView_Home
>/config/internal/server/keystore>)に存在します。公開証明書は、PEM 形式の RSA キーです。サービス プロバイダ メタデータ ファイル内の公開証明書を変更できます。サービス プロバイダ メタデータ ファイルの変更を行った後は、対応する秘密鍵を WebView 証明書ストアに追加します。これらの変更により、復号化が容易になります。
復号化プロセスが失敗した場合は、ユーザ認証は失敗し、Enterprise Manager に対してユーザが認証されません。
トラスト ストアへの IdP 公開証明書のインポート
Enterprise Manager および WebView トラスト ストア ファイルは <
WebView_Home
>/config/internal/server/keystore> にあります。認証が成功するためには、IdP の公開鍵が Enterprise Manager および WebView のトラスト ストア ファイルに含まれている必要があります。公開鍵をインポートした場合、ldP は署名された SAML 応答を送信できます。インポートにより、受信したシグネチャ(メッセージ)の信頼が確立されます。信頼が検証されていない場合は、認証は失敗します。IdP メタデータ ファイルには、IdP の公開鍵が含まれています。キーストアに証明書をインポートできます。
以下の手順に従います。
  1. IdP メタデータ内の証明書情報を新しいファイルにコピーします(例: idp_public.pem)。IdP メタデータ内の証明書は PEM と呼ばれる形式です。
  2. 新しいファイルにヘッダおよびフッタを追加します。ファイルは、追加後にこの例のようになります。
    -----BEGIN CERTIFICATE-----
    MIIDeTCCAmGgAwIBAgIEb1CaGjANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQGEwJDWjEXMBUGA1UE
    CBMOQ3plY2ggUmVwdWJsaWMxDzANBgNVBAcTBlByYWd1ZTEMMAoGA1UEChMDQVBNMQwwCgYDVQQL
    EwNBUE0xGDAWBgNVBAMTD0NBIFRlY2hub2xvZ2llczAeFw0xNTAyMTgxNjA0NDBaFw0xNTA1MTkx
    NjA0NDBaMG0xCzAJBgNVBAYTAkNaMRcwFQYDVQQIEw5DemVjaCBSZXB1YmxpYzEPMA0GA1UEBxMG
    UHJhZ3VlMQwwCgYDVQQKEwNBUE0xDDAKBgNVBAsTA0FQTTEYMBYGA1UEAxMPQ0EgVGVjaG5vbG9n
    aWVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmEbxIlwPc8yD1JzSN/Fex52Rjfwl
    ImI4QUeKk5f23qFiYM+n/5zMf5aQVfr548E1PrZeuug+PmyiJJzT9waLxXwK7ifQjDndcusYAuYT
    NRALylfse08Z0Wzfd1q54eo7lx+fnzlzFTOhKNa3ecHg5KibPV1TQny/HI+5pRJpMnL7zXu+UkYF
    Xc2VDtX9PXC46M0Z27XkVnx96uQfYI8hHLYkUyw90/8E7U+9/veYbaSafMgPJvmtlgt7jvsk131u
    6YNzB0Kw6eC3J1MJuenu390qYi8hyrifnA969xVNfSzgs8WMo0XWdBWOfFDCqPQlG8O1n24kKjID
    DiwrfwseFwIDAQABoyEwHzAdBgNVHQ4EFgQUQ7SL+nQvflhanTopBW86MfdRrSUwDQYJKoZIhvcN
    AQELBQADggEBAHIcZ/zwuf4w6S6TV58vjy0OS/3Jqc+uGr31AeRzPTip1qjGOJSTVrCSeFzZxcQd
    PsehylsKDAxCdaTsgBuGv0idoC0LofNOJrm2Wwzwxj/1dcUIls4xDXWxHPSjHyLVKUxTtGZLXNKR
    lICLOW1FEUs42G2VR00Zj0t7A1XjHG4Z+UhjclXEXOkWprk9VI9cn2z80jr8VQWlf6sCuEnpkoML
    2G+geeSYvBI5E6QgpjgevIsK0r2NXigH+JTZ+psLa+tPpHhXCkNLNAueq3bgkbodK8E1Dpv8IRX6
    z6LUS/iuMCCtjoA1FGMsF1EZiQ2Pt/MPZgPAAsMrZWkikXqNke4=
    -----END CERTIFICATE-----
  3. ファイルを保存します。
  4. openssl を使用してファイルを PEM から DER 形式に変換します。
     
    openssl x509SAML2.0 による Introscope のセキュリティ保護 -outform der -in idp_public.pem -out idp_public.der
  5. keytool を使用して Enterprise Manager または WebView のキーストアに DER 形式の証明書をインポートします。
     
    keytool -import -alias your-alias -keystore keystore -file idp_public.der
    キーストアのパスワードは、「password」(かぎかっこなし)です。
  6. Enterprise Manager および WebView が同じ場所にインストールされている場合は、キーストアに証明書を 1 回のみインポートします。インストールが同じ場所にない場合は、インストールごとに証明書をインポートします。
制限事項
  • SAML 2.0 は認証にのみ使用できます。
  • クラスタごとに 1 つの WebView サーバのみがサポートされています。
  • クラスタごとに 1 つの Web Start Workstation サーバのみがサポートされています。
  • IdP に対するフェールオーバはサポートされません。
IntroscopeEnterpriseManager.properties の設定オプション
IntroscopeEnterpriseManager.properties ファイルで、以下の設定オプションを使用できます。
introscope.saml.enable
SAML 認証を有効にするオプション
デフォルト: false
introscope.saml.idpUrl 
アイデンティティ プロバイダの SAML 2.0 SSO サービスの URL アドレス。正しい値については、アイデンティティ プロバイダのドキュメントを参照してください。
デフォルト: 内部のアイデンティティ プロバイダの SAML SSO サービスへの URL
introscope.saml.issuer
WebView のサービス プロバイダの識別子文字列は、IdP のサービス プロバイダ識別文字列と一致する必要があります。デフォルト値は、サービス プロバイダのメタデータ ファイル内の値と一致します。メタデータをインポートすると、サービス プロバイダとアイデンティティ プロバイダで値が同じになります。1 つの IdP で複数の WebView を実行する場合は、この設定を変更します。この文字列に一致するように IdP 設定を変更します。
デフォルト: com.ca.apm.webview.serviceprovider
introscope.saml.webstart.issuer
Webstart Workstation のサービス プロバイダの識別子文字列は、IdP 設定のサービス プロバイダ識別文字列と一致する必要があります。デフォルト値は、サービス プロバイダのメタデータ ファイル内の値と一致します。メタデータをインポートすると、サービス プロバイダと IdP で値が同じになります。1 つのアイデンティティ プロバイダで複数の Web Start Workstation を実行する場合は、この設定を変更します。この文字列に一致するように IdP 設定を変更します。
デフォルト: com.ca.apm.webview.serviceprovider
introscope.saml.principalAttributeName
ユーザ名のソースとして使用される SAML アサーション応答属性。アサーション応答に存在しない場合は、nameID が使用されます。
デフォルト: principalName
introscope.saml.groupsAttributeName
許可グループのソースとして使用される SAML アサーション応答属性。
デフォルト: groups
introscope.saml.internalIdp.enable
内部のアイデンティティ プロバイダを有効にするオプション。
デフォルト: false
introscope.saml.sp.privatekey.alias
秘密鍵エイリアスを設定するオプション。
デフォルト: spprivatekey
introscope.saml.idp.time.skew
IdP とサービス プロバイダの間の時間のずれを設定するオプション。値は秒単位です。
デフォルト: 60
apm.webview.saml.sp.truststore
SAML の目的で使用される WebView 構成プロパティ。<
EM_Home
> ディレクトリを基準にキーストア ファイルを設定するオプション。
デフォルト: config/internal/server/keystore
IntroscopeEnterpriseManager.properties での SAML 設定の例:
###############################################################################
# SAML SSO Settings
#
###############################################################################
introscope.saml.enable=true
introscope.saml.idpUrl=http://siteminder01.ca.com/affwebservices/public/saml2sso
introscope.saml.issuer=com.ca.apm.webview.serviceprovider
introscope.saml.webstart.issuer=com.ca.apm.webstart.serviceprovider
introscope.saml.principalAttributeName=principalName
introscope.saml.groupsAttributeName=groups
introscope.saml.internalIdp.enable=false