IBM Streams 4.3.0

IBM Streams 使用者設定用戶端憑證鑑別

使用此程序,透過使用 X.509 憑證來設定 IBM® Streams 網域的用戶端憑證鑑別。使用用戶端憑證鑑別是選用作業。

開始之前

在下列程序中,使用 openssl 指令來處理憑證。此指令隨附於 openssl 套件。若要下載套件,請移至 OpenSSL 網站。

關於這項作業

在設定用戶端憑證鑑別之後,IBM Streams 會在向網域鑑別使用者時嘗試使用 X.509 憑證鑑別。如果鑑別失敗,則 IBM Streams 會嘗試使用 Kerberos 鑑別。如果 Kerberos 鑑別失敗,則 IBM Streams 將使用網域的預設鑑別方法(LDAP 或 PAM)。

程序

  1. 取得 X.509 憑證。

    可以使用由憑證管理中心 (CA) 的憑證或者自簽憑證。IBM Streams 支援採用「識別編碼規則 (DER)」格式或者「隱私加強型郵件 (PEM)」格式的憑證。

    • 如果是使用 CA 簽署的憑證,請完成下列步驟:
      1. 從 CA 取得下列檔案:
        • 用戶端憑證
        • 發出用戶端憑證之 CA 的 CA 憑證
        • 發出用戶端憑證之 CA 的憑證撤銷清冊 (CRL)

        要求憑證的程序取決於憑證 CA。通常,建立私密金鑰檔,然後建立憑證簽署要求 (CSR) 檔案來傳送至 CA 以進行簽署。如需相關資訊,請聯絡 CA。

        如果收到 PEM 格式的憑證,請移除 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 標記外部的任何文字。可以使用您選擇的編輯器來手動移除此文字。此更新會確保只保留 base64 編碼的資料。下列範例會顯示包含正確文字的用戶端憑證:

        -----BEGIN CERTIFICATE-----
        MIID+jCCA2OgAwIBAgICEA8wDQYJKoZIhvcNAQEFBQAwcTELMAkGA1UEBhMCVVMx
        CzAJBgNVBAgTAk1OMQwwCgYDVQQKEwNJQk0xEDAOBgNVBAsTB1N0cmVhbXMxEzAR
        Y29tMB4XDTE1MTAxNDE1NDkyN1oXDTE2MTAxMzE1NDkyN1owdzELMAkGA1UEBhMC
        VVMxCzAJBgNVBAgTAk1OMQwwCgYDVQQKEwNJQk0xEDAOBgNVBAsTB1N0cmVhbXMx
        FDASBgNVBAMTC3N0cmVhbXN1c2VyMSUwIwYJKoZIhvcNAQkBFhZzdHJlYW1zdXNl
        ckB1cy5pYm0uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCjaQlq1M5d
        YQP6puRLOTqmZdKFFngpuFnoIF6I7uwMJ8jNZx0Y9rkxVTGCqvmxnwvADG0GV5UR
        ilXFhTYJINo1ggo+Ohm819k7YVAESv34kryj+1f86yj00Tzq6ykefYMre7t8PIZo
        QW8QvjLZEdbjZnMgXyOGHWz1rAt+0376XwIDAQABo4IBmTCCAZUwKQYJYIZIAYb4
        QgENBBwWGk9wZW5TU0wgQ2xpZW50IENlcnRpZmljYXRlMEAGCCsGAQUFBwEBBDQw
        MjAwBggrBgEFBQcwAYYkaHR0cDovL3Nob2UucmNoLnN0Z2xhYnMuaWJtLmNvbTo5
        MDgwMIGWBgNVHSMEgY4wgYuAFBQ8NrJJ9ddVW4Z/LvDbtUvsC51UoXCkbjBsMQsw
        CQYDVQQGEwJVUzELMAkGA1UECBMCTU4xEjAQBgNVBAcTCVJvY2hlc3RlcjEMMAoG
        A1UEChMDSUJNMQwwCgYDVQQDEwNJQk0xIDAeBgkqhkiG9w0BCQEWEXNtc2hhb0B1
        cy5pYm0uY29tggFYMAkGA1UdEwQCMAAwPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDov
        L3Nob2UucmNoLnN0Z2xhYnMuaWJtLmNvbS9jZXJ0cy9jcmwucGVtMA4GA1UdDwEB
        /wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUJqFG/AckkKoB
        T8kRhyDCMNzmQ9gwDQYJKoZIhvcNAQEFBQADgYEAtqFIHeHakd1QAlxYRhKefqQg
        VW0X7VRVJe7IhUKHBe8DXwSJmIETdxUbhzwNhmxijJkGyBu055YSlCz4X+wNaSC8
        lDrO5g1ej3wh2cZFzVAYzyDhBo6urXiX9XEi94tc3/UBvwRHGP/MtmRJCbUyr5A7
        p3Xu6ZBlpTyRZ18KRpU=
        -----END CERTIFICATE-----

      2. 透過使用驗證 IBM Streams 使用者的憑證中的程序來驗證憑證。

      為鑑別使用者,IBM Streams 介面可使用憑證或包含此憑證的密碼保護 PKCS #12 檔。可以從 CA 取得 PKCS #12 檔案,或者透過使用為憑證建立密碼保護的 PKCS #12 檔案中的程序來建立此檔案。

    • 如果是使用自簽憑證,請完成下列步驟:
      1. 使用 openssl genpkey 指令來產生 RSA 私密金鑰,例如:
        openssl genpkey -algorithm RSA -out selfsigned.key
        限制: 如果將網域配置成使用「傳輸層安全 (TLS)」1.2,則必須包括 -pkeyopt rsa_keygen_bits:numbits 選項,並將 numbits 設定為 2048 或更大的值,例如:
        openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out
         selfsigned.key

      2. 使用 openssl req 指令從私密金鑰產生用戶端憑證,例如:
        openssl req -x509 -new -key selfsigned.key -out selfsigned.pem -subj '/C=CA/ST=MN/O=IBM/OU=Streams/CN=selfsigned/'
        限制: 如果將網域配置成使用「傳輸層安全 (TLS)」1.2,則必須包括 -sha256 選項,例如:
        openssl req -x509 -sha256 -new -key selfsigned.key -out selfsigned.pem -subj '/C=CA/ST=MN/O=IBM/OU=Streams/CN=selfsigned/'

      為鑑別使用者,IBM Streams 介面可使用憑證或包含此憑證的密碼保護 PKCS #12 檔。若要建立此檔案,請使用為憑證建立密碼保護的 PKCS #12 檔案中的程序。

  2. 新增授信憑證至 Web 管理服務信任儲存庫。
    • 如果使用由 CA 簽署的憑證,則授信憑證是發出用戶端憑證之 CA 的憑證。
      小心: 如果憑證撤銷狀態有效,則在您新增 CA 憑證至 Web 管理服務信任儲存庫後,由該 CA 發出的所有用戶端憑證都可以鑑別。如需憑證撤銷狀態的相關資訊,請參閱為 IBM Streams 使用者設定用戶端憑證撤銷檢查

    • 如果使用自簽憑證,則授信憑證是自簽憑證。
    若要新增授信憑證至 Web 管理服務信任儲存庫,請輸入下列 IBM Streams streamtool 指令:
    streamtool addcertificate -d domainid --clientid trustedcert -f trustedcert.pem
    這時會顯示類似下列範例的訊息:
    Trusted client certificate for trustedcert imported successfully for domain domainid.
    附註:
    • 可以在 streamtool addcertificate 指令上指定包含授信憑證的 PKCS #12 檔案。如果指定的話,則系統會提示您提供 PKCS #12 密碼。如果 PKCS #12 檔案包含多個授信憑證,則系統會提示您選取一個授信憑證。

    • 可以為 clientid 輸入任何名稱,但是偏好的作法是使用與授信憑證相關聯的名稱。在 streamtool 指令範例中,trustedcertclientid 與授信憑證的檔名相關聯。另一個選項是使用授信憑證的主體 CN,如下列範例中所示:
      openssl x509 -noout -subject -in trustedcert.pem 
      subject= /C=US/ST=MN/O=IBM/OU=Streams/CN=trustedcert/emailAddress=admin@example.com

  3. 設定憑證使用者的 IBM Streams 授權。
    依預設,憑證使用者是用戶端憑證的主體 CN。可以透過輸入下列 openssl 指令來顯示用戶端憑證主體資訊:
    openssl x509 -noout -subject -in /streamscertificates/streamsuser.pem 
    subject= /C=US/ST=MN/O=IBM/OU=Streams/CN=streamsuser/emailAddress=streamsuser@example.com
    在此範例中,主體 CN 為 streamsuser。如需主體 CN 的相關資訊以及用戶端憑證中的其他資訊,請參閱設定使用者 ID 型樣以進行憑證鑑別

    藉由使用角色,或設定憑證使用者的存取權,您可配置該使用者的權限。群組不適用於憑證使用者。若要配置許可權,請參閱配置使用者對 IBM Streams 網域及實例的存取權

  4. 如果是使用由 CA 簽署的憑證,則可能需要修改 IBM Streams 使用的預設用戶端撤銷方法。如需相關資訊,請參閱為 IBM Streams 使用者設定用戶端憑證撤銷檢查 用戶端憑證撤銷檢查不適用於自簽憑證。

  5. 為網域啟用用戶端憑證鑑別。

    用於啟用用戶端憑證鑑別的程序取決於您使用的 IBM Streams 介面。

    介面 程序
    Domain Manager 和 streamtool 完成下列步驟:
    1. 將 STREAMS_X509CERT 環境變數設定為用戶端憑證或包含此憑證的 PKCS #12 檔案的路徑。
      • 用戶端憑證範例
        export STREAMS_X509CERT=/streamscertificates/streamsuser.pem
      • PKCS #12 檔案範例
        export STREAMS_X509CERT=/streamscertificates/streamsuser.p12
      附註:
      • 如果指定 PKCS #12 檔案,則 IBM Streams 會提示您提供 PKCS #12 密碼。如果 PKCS #12 檔案包含多個憑證,則 IBM Streams 會提示您選取使用者憑證。

      • 可以透過執行 unset STREAMS_X509CERT 指令來停用憑證鑑別。

    2. 若要使變更在 Domain Manager 中生效,請重新啟動 Domain Manager
    Streams Studio 完成下列步驟:
    1. 透過使用「Streams 瀏覽器」喜好設定頁面來指定用戶端憑證的路徑。

    2. 新增網域連線時,選取使用用戶端憑證進行鑑別選項。連接至網域時,IBM Streams 使用您在上一步指定的憑證進行鑑別。
    附註:
    • 如果指定包含此憑證的 PKCS #12 檔案的路徑,則 IBM Streams 會提示您提供 PKCS #12 密碼。此密碼儲存在 Eclipse 的安全儲存體中。
    • 如果指定包含多個憑證的 PKCS #12 檔案,則 IBM Streams 會提示您選取使用者憑證。
    Streams Console 完成下列步驟:
    1. 透過將 sws.clientAuthenticationEnabled 網域內容設定為 true 來啟用用戶端鑑別。可以使用 Domain Managerstreamtool setdomainproperty 指令來設定此內容。

    2. 若要讓這些變更生效,請重新啟動網域。

    3. 建立包含下列檔案的 PKCS #12 檔案:
      • 使用者憑證
      • 使用者私密金鑰檔
      • CA 憑證(如果使用者憑證由 CA 簽署)
      如需指示,請參閱為憑證建立密碼保護的 PKCS #12 檔案

    4. PKCS #12 檔案匯入瀏覽器。如需相關資訊,請參閱瀏覽器說明。
    Streams for Excel 和 REST API 完成下列步驟:
    1. 透過將 sws.clientAuthenticationEnabled 網域內容設定為 true 來啟用用戶端鑑別。可以使用 Domain Managerstreamtool setdomainproperty 指令來設定此內容。

    2. 若要讓這些變更生效,請重新啟動網域。

    3. 配置 IBM Streams 介面,以使用用戶端憑證進行鑑別。