如何设置Kibana SSO(通过OAuth)?

xoshrz7s  于 2023-02-14  发布在  Kibana
关注(0)|答案(3)|浏览(463)

我的公司非常努力地为所有第三方服务保留SSO。我想让Kibana与我们的Google Apps帐户一起工作。这可能吗?怎么做?

b1zrtrql

b1zrtrql1#

在Elasticsearch,Kibana 5.0中,shield插件(安全插件)嵌入在x-pack(付费服务)中。因此,在Kibana 5.0中您可以:

这两个插件都可以用于基本的身份验证,因此您可以应用一个Oauth2代理,如this one。一个额外的代理将转发带有正确的Authorization报头和摘要base64(username:password)的请求
this article中描述了x-pack的过程。因此,您将拥有:

我在this repo中设置了一个docker-compose配置,以便在Kibana/Elasticsearch 6.1.1中使用searchguard或x-pack:

ws51t4hk

ws51t4hk2#

Kibana让您自己来实现安全性,我相信Elastic的Shield产品支持安全插件,但我还没有浏览订阅模型或深入研究它。
我处理这个问题的方法是使用oauth2 proxy application并使用nginx反向代理Kibana。

server {
    listen 80;
    server_name kibana.example.org;

    # redirect http->https while we're at it
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
    # listen for traffic destined for kibana.example.org:443
    listen 443 default ssl;

    server_name  kibana.example.org;
    ssl_certificate /etc/nginx/ssl/cert.crt;
    ssl_certificate_key /etc/nginx/ssl/cert.key.pem;
    add_header Strict-Transport-Security max-age=1209600;

    # for https://kibana.example.org/, send to our oauth2 proxy app
    location / {

        # the oauth2 proxy application i use listens on port :4180
        proxy_pass http://127.0.0.1:4180;
        # preserve our host and ip from the request in case we want to
        # dispatch the request to a named nginx directive
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 15;
        proxy_send_timeout 30;
        proxy_read_timeout 30;
    }
}

请求传入后,触发一个nginx指令,该指令将请求发送到ouath应用程序,ouath应用程序进而处理SSO资源并重定向到服务器本地主机上的侦听Kibana示例。

nhhxz33t

nhhxz33t3#

使用oauth2-proxy应用程序和Kibana,并按照以下配置配置匿名身份验证:

xpack.security.authc.providers:
  anonymous.anonymous1:
    order: 0
    credentials:
      username: "username"
      password: "password"

可以通过Kibana UI或Elasticsearch create or update users API创建在config中指定凭据的用户。

**注意!**Kibana示例不应公开,否则任何人都可以访问Kibana UI。

相关问题