[英]how to load multiple json records into elasticsearch using elasticsearch-test
[英]How to authenticate Elasticsearch with multiple users
我們正在嘗試在 AWS 獨立租戶(客戶)之上創建管理 Elastic,並將每個租戶分配給不同的索引。
每個客戶都會有他們的用戶名/密碼或類似的令牌等。
我們在 AWS 上設置托管 ES 並與原生 Elastic sdk HighRestClient 集成
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10</version>
</dependency>
一切正常,我們從 Java 代碼執行的所有操作,如創建索引/管理/搜索等。
這段代碼模擬了此處描述的基本身份驗證https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/_basic_authentication.html
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials(settings.getEsUserName(), settings.getEsUserPass()));
restClientBuilder.setHttpClientConfigCallback(builder -> builder.setDefaultCredentialsProvider(credentialsProvider));
現在我們為每個客戶創建不同的索引,這沒問題,但問題是現在我們所有的客戶都將擁有相同的用戶名/密碼。
是否有可能以某種方式對多個用戶執行此操作,有多個用戶名/密碼?
因此,每個用戶只能與通過密碼驗證的索引進行交互。
據我了解,他們正在談論 Kibana 用戶的多租戶。
我是否遺漏了什么,是否有可能以不同的方式實現我們的目標?
您在這里混淆了兩個概念。 您可以參考以下概念並確定最適合您的用例。
細粒度的訪問控制為您提供內部數據庫身份驗證機制,您可以通過該機制創建多個用戶(擁有自己的用戶名/密碼)並將角色/操作組附加到這些用戶 - 因此每個用戶都可以擁有不同的權限。 此后,可以為每個客戶提供不同的用戶名/密碼。
租戶是 Kibana 系統中存在的一個概念(啟用了上述安全性),其中租戶可用於存儲與 Kibana 相關的對象,例如儀表板和可視化。 有兩個默認租戶 - 所有用戶共享的global
租戶和每個客戶獨有的private
租戶。 您可以創建自己的自定義租戶,並將其配置為由一組用戶訪問,以便這些用戶可以共享 kibana 相關對象。
更多關於租戶的信息: https://opendistro.github.io/for-elasticsearch-docs/docs/security/access-control/multi-tenancy/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.