役割取得 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
resp = client.security.get_role(
name="my_admin_role",
)
print(resp)
Js
const response = await client.security.getRole({
name: "my_admin_role",
});
console.log(response);
コンソール
GET /_security/role/my_admin_role
コンソール-結果
{
"my_admin_role": {
"description": "Grants full access to all management features within the cluster.",
"cluster" : [ "all" ],
"indices" : [
{
"names" : [ "index1", "index2" ],
"privileges" : [ "all" ],
"allow_restricted_indices" : false,
"field_security" : {
"grant" : [ "title", "body" ]}
}
],
"applications" : [ ],
"run_as" : [ "other_user" ],
"metadata" : {
"version" : 1
},
"transient_metadata": {
"enabled": true
}
}
}
すべての役割を取得するには、役割名を省略します:
Python
resp = client.security.get_role()
print(resp)
Js
const response = await client.security.getRole();
console.log(response);
コンソール
GET /_security/role