2016-10-14 9 views
0

一般ユーザーがGET以外のリクエストを使用することを禁止する方法を教えてください。elasticsearchでのユーザーの動作を制限する

これは、端末およびウェブブラウザに適用する必要があります。

例えば、一般的なユーザーは、ターミナルで次のコマンドを使用できないようにする必要があり:

curl -XDELETE 'http://www.example.com:9200/customer/external/1?pretty' 

は、目標を達成するために、これは十分ですか? https://www.elastic.co/guide/en/elasticsearch/reference/current/url-access-control.htmlまた、上記の目標を達成するために他のパラメータを設定する必要がありますか?

また、一般ユーザーがGETリクエストを使用して大量のデータを取得できないようにするにはどうすればよいですか。たとえば:

curl 'https://www.example.com:9200/dummyindex1/_search?q=*:*&pretty' 

おかげ

+0

これは役立つかもしれません:https://www.elastic.co/guide/en/shield/current/configuring-rbac.html – jay

答えて

0

シールドは間違いなく弾性からエンタープライズグレードのセキュリティ製品です。 Shieldには、認証とともに多くのセキュリティ機能が搭載されています。認可、SSL、およびLDAP統合が付属しています。

シールドをダウンロードして再生を開始することができます。Field and Document level securityセクションに直接ジャンプして、ユーザーが設定した認証ルールに基づいてインデックスを読み取るアクセス権を設定できます。

これらのルールは、弾性REST APIを使用して動的に変更することも、展開中に設定ファイルで設定することもできます。

残りのAPIに続く認証ルールを動的に変更します。

POST /_shield/role/my_fls_role 
{ 
    "indices": [ 
    { 
     "names": [ "index1", "index2" ], 
     "privileges": ["read"], 
     "fields": [ "title", "body" ] 
    } 
    ] 
} 

これはまた、あなたは異なるアクセス層のための、あなたであれば、複数のクライアントアプリケーションのための複数のロールを設定することができますが、特定の役割

POST /_shield/role/customer_care 
{ 
    "indices": [ 
    { 
     "names": [ "*" ], 
     "privileges": ["read"], 
     "fields": [ 
      "issue_id", 
      "description", 
      "customer_handle", 
      "customer_email", 
      "customer_address", 
      "customer_phone" 
     ] 
    } 
    ] 
} 

のためにも、フィールドのルールを設定することができ、複雑な認証ルールをサポートより多くのエンタープライズレベルのセキュリティソリューションを検討しています。LDAPからこれらのロールを構成することもできます。これは、ネットワークを介してLDAPから受信したユーザー資格情報をキャッシュしてパフォーマンスを向上させるので非常に美しく扱われます。

また、このような等級のセキュリティソリューションを探していない場合は、nginx/apache reverse proxyを参照すると、検索要求をクラスタに投げる前に認証することができます。

関連する問題