Kibana的SAML认证
目标
在这篇文章中,我们将总结启用Kibana上的SAML验证(通过Okta)的步骤。
前提 tí)
-
- SSLを使用したネットワークトラフィックの暗号化が設定されていること(以下URLを参照)。
- https://www.elastic.co/jp/blog/configuring-ssl-tls-and-https-to-secure-elasticsearch-kibana-beats-and-logstash#prepare-logstash
程序
1. Okta的设置步骤
根据连接的Kibana信息提供的以下信息进行输入。

/api/security/v1/saml需要注意,似乎是固定的。
设置组属性的值。

2. Elasticsearch的配置步骤
请设置以下内容并重新启动Elasticsearch。
将元数据创建在/etc/elasticsearch/saml中。
# pwd
/etc/elasticsearch/saml
# ls -ll
total 4
-rw-r--r-- 1 root elasticsearch 2380 Mar 21 13:03 idp-metadata.xml
您可以通过以下方式获得idp-metadata.xml文件的内容:
[查看设置说明] -> [将以下IDP元数据提供给您的SP提供商。]
然后将其复制并粘贴到idp-metadata.xml文件中。

我們將修改elasticsearch.yml配置文件的值如下:
# ----------------------------------- SAML Setting ------------------------------------
xpack.security.authc.token.enabled: true
xpack.security.authc.realms.saml:
saml1:
order: 2
attributes.principal: "nameid"
attributes.groups: "groups"
idp.metadata.path: saml/idp-metadata.xml
idp.entity_id: "https://sso.example.com/"
sp.entity_id: "https://kibana.example.com/"
sp.acs: "https://kibana.example.com/api/security/v1/saml"
sp.logout: "https://kibana.example.com/logout"
sp.acs: "https://sso.example.com/api/security/v1/saml"
sp.logout: "https://sso.example.com/logout"
3. Kibana的设置步骤
请按照以下设定重新启动Kibana。
我們將編輯 kibana.yml,設定如下所示。basic.basic1用於配置基本認證。
這是為了當無法通過SMAL登錄到Kibana時的恢復所創建的。
據說可以通過KibanaIP:Port/login進行基本認證切換。
xpack.security.authc.providers:
saml.saml1:
order: 0
realm: "saml1"
basic.basic1:
order: 1
4. 创建Okta用户和组。
创建一个名为OK_Kibana_Admin的群组,并将现有的Okta用户加入该群组中。

5. 将Okta组与Kibana的Roll进行关联
为了将现有的Kibana Roll(superuser)与Okta的组进行关联,
我们可以使用Kibana的DevTool来执行以下命令。
但是根据7.12版本,似乎不再使用Dev Tool,而是在GUI界面上进行编辑。
详情请参考https://www.elastic.co/guide/en/kibana/current/role-mappings.html
PUT /_security/role_mapping/saml-kibana-admins
{
"enabled": true,
"roles": [ "superuser" ],
"rules": { "all" : [
{ "field": { "realm.name": "saml1" } },
{ "field": { "groups": "OK_Kibana_Admin" } }
]},
"metadata": { "version": 1 }
}
就是这些了。
请提供相关链接
-
- mappingの設定
-
- 技術ブログ
-
- kibana SAML設定
-
- Elasticsearch SAML設定
-
- SAMLの処理フロー
-
- ElasticsearchのTLS化
- elasticの技術ブログ