役割取得 API

ネイティブ領域の役割を取得します。

リクエスト

GET /_security/role

GET /_security/role/<name>

前提条件

  • この API を使用するには、少なくとも read_security クラスター権限を持っている必要があります。

説明

役割管理 API は、ファイルベースの役割管理 を使用するよりも、役割を管理するための一般的に推奨される方法です。役割取得 API は、役割ファイルに定義された役割を取得することはできません。

パスパラメータ

  • name
  • (オプション、文字列)役割の名前。カンマ区切りのリストとして複数の役割を指定できます。このパラメータを指定しない場合、API はすべての役割に関する情報を返します。

レスポンスボディ

成功した呼び出しは、役割の JSON 表現を持つ役割の配列を返します。返される役割の形式は、役割定義 形式の単純な拡張であり、追加のフィールド transient_metadata.enabled を追加するだけです。このフィールドは、役割が自動的に無効化される場合、例えばライセンスレベルが役割が付与するいくつかの権限を許可しない場合に false です。

レスポンスコード

役割がネイティブ領域に定義されていない場合、リクエストは 404 を返します。

以下の例は、ネイティブ領域の my_admin_role 役割に関する情報を取得します:

Python

  1. resp = client.security.get_role(
  2. name="my_admin_role",
  3. )
  4. print(resp)

Js

  1. const response = await client.security.getRole({
  2. name: "my_admin_role",
  3. });
  4. console.log(response);

コンソール

  1. GET /_security/role/my_admin_role

コンソール-結果

  1. {
  2. "my_admin_role": {
  3. "description": "Grants full access to all management features within the cluster.",
  4. "cluster" : [ "all" ],
  5. "indices" : [
  6. {
  7. "names" : [ "index1", "index2" ],
  8. "privileges" : [ "all" ],
  9. "allow_restricted_indices" : false,
  10. "field_security" : {
  11. "grant" : [ "title", "body" ]}
  12. }
  13. ],
  14. "applications" : [ ],
  15. "run_as" : [ "other_user" ],
  16. "metadata" : {
  17. "version" : 1
  18. },
  19. "transient_metadata": {
  20. "enabled": true
  21. }
  22. }
  23. }

すべての役割を取得するには、役割名を省略します:

Python

  1. resp = client.security.get_role()
  2. print(resp)

Js

  1. const response = await client.security.getRole();
  2. console.log(response);

コンソール

  1. GET /_security/role