elasticsearch-saml-metadata编辑

elasticsearch-saml-metadata 命令可用于生成 SAML 2.0 服务提供者元数据文件。

概要编辑

bin/elasticsearch-saml-metadata
[--realm <name>]
[--out <file_path>] [--batch]
[--attribute <name>] [--service-name <name>]
[--locale <name>] [--contacts]
([--organisation-name <name>] [--organisation-display-name <name>] [--organisation-url <url>])
([--signing-bundle <file_path>] | [--signing-cert <file_path>][--signing-key <file_path>])
[--signing-key-password <password>]
[-E <KeyValuePair>]
[-h, --help] ([-s, --silent] | [-v, --verbose])

描述编辑

SAML 2.0 规范提供了一种机制,允许服务提供者使用元数据文件来描述其功能和配置。

elasticsearch-saml-metadata 命令根据 Elasticsearch 中 SAML 域的配置生成此类文件。

某些 SAML 身份提供者允许您在将 Elastic Stack 配置为服务提供者时自动导入元数据文件。

您可以选择对元数据文件进行数字签名,以确保其完整性和真实性,然后再与身份提供者共享。用于签名元数据文件的密钥不必与 SAML 域配置中用于 SAML 消息签名的密钥相同。

如果您的 Elasticsearch 密钥库受密码保护,则在运行 elasticsearch-saml-metadata 命令时,系统会提示您输入密码。

参数编辑

--attribute <name>
指定应作为元数据中的 <RequestedAttribute> 元素包含的 SAML 属性。Elasticsearch 域中配置的任何属性都会自动包含,无需作为命令行选项指定。
--batch
不提示用户输入。
--contacts
指定元数据应包含一个或多个 <ContactPerson> 元素。系统会提示用户输入每个人的详细信息。
-E <KeyValuePair>
配置 Elasticsearch 设置。
-h, --help
返回所有命令参数。
--locale <name>
指定用于元数据元素(如 <ServiceName>)的区域设置。默认为 JVM 的默认系统区域设置。
--organisation-display-name <name
指定 <OrganizationDisplayName> 元素的值。仅在也指定了 --organisation-name 时才有效。
--organisation-name <name>
指定应在元数据中包含 <Organization> 元素,并提供 <OrganizationName> 的值。如果指定了此选项,则还必须指定 --organisation-url
--organisation-url <url>
指定 <OrganizationURL> 元素的值。如果指定了 --organisation-name,则需要此选项。
--out <file_path>
指定输出文件的路径。默认为 saml-elasticsearch-metadata.xml
--service-name <name>
指定元数据中 <ServiceName> 元素的值。默认为 elasticsearch
--signing-bundle <file_path>
指定现有密钥对(PKCS#12 格式)的路径。该密钥对的私钥将用于签名元数据文件。
--signing-cert <file_path>
指定现有证书(PEM 格式)的路径,该证书将用于签名元数据文件。您还必须指定 --signing-key 参数。此参数不能与 --signing-bundle 参数一起使用。
--signing-key <file_path>
指定现有密钥(PEM 格式)的路径,该密钥将用于签名元数据文件。您还必须指定 --signing-cert 参数。此参数不能与 --signing-bundle 参数一起使用。
--signing-key-password <password>
指定签名密钥的密码。它可以与 --signing-key--signing-bundle 参数一起使用。
--realm <name>
指定应为其生成元数据的域的名称。如果 Elasticsearch 配置中存在多个 saml 域,则此参数是必需的。
-s, --silent
显示最少输出。
-v, --verbose
显示详细输出。

示例编辑

以下命令为 saml1 域生成默认元数据文件

bin/elasticsearch-saml-metadata --realm saml1

该文件将写入 saml-elasticsearch-metadata.xml。系统可能会提示您提供域使用的任何属性的“friendlyName”值。

以下命令为 saml2 域生成元数据文件,其中 <ServiceName>kibana-finance,区域设置为 en-GB,并包含 <ContactPerson> 元素和 <Organization> 元素

bin/elasticsearch-saml-metadata --realm saml2 \
    --service-name kibana-finance \
    --locale en-GB \
    --contacts \
    --organisation-name "Mega Corp. Finance Team" \
    --organisation-url "http://mega.example.com/finance/"