ユーザープロファイルAPI
ユーザープロファイル機能は、KibanaおよびElasticのObservability、Enterprise Search、Elastic Securityソリューション専用に設計されています。個々のユーザーや外部アプリケーションは、このAPIを直接呼び出すべきではありません。Elasticは、事前通知なしに将来のリリースでこの機能を変更または削除する権利を留保します。
一意のプロファイルIDのリストを使用してユーザープロファイルを取得します。
リクエスト
GET /_security/profile/<uid>
前提条件
このAPIを使用するには、少なくともread_security
クラスター権限(またはmanage_user_profile
やmanage_security
などのより高い権限)が必要です。
説明
get user profile APIは、指定されたuid
に一致するユーザープロファイルドキュメントを返します。これは、ユーザープロファイルを有効化するときに生成されます。
パスパラメータ
uid
- (必須、文字列)ユーザープロファイルの一意の識別子。カンマ区切りのリストとして複数のIDを指定できます。
クエリパラメータ
data
- (オプション、文字列)プロファイルドキュメントの
data
フィールドのフィルターのカンマ区切りリスト。すべてのコンテンツを返すにはdata=*
を使用します。コンテンツのサブセットを返すには、指定された<key>
の下にネストされたコンテンツを取得するためにdata=<key>
を使用します。デフォルトでは、コンテンツは返されません。
レスポンスボディ
成功した呼び出しは、ユーザープロファイルのJSON表現とその内部バージョン番号を返します。提供されたuid
に対してプロファイルドキュメントが見つからない場合、APIは空のオブジェクトを返します。data
フィールドの内容は、潜在的に大きなペイロードのデシリアライズを避けるためにデフォルトでは返されません。
例
Python
resp = client.security.get_user_profile(
uid="u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
)
print(resp)
Js
const response = await client.security.getUserProfile({
uid: "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
});
console.log(response);
コンソール
GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0
APIは、uid
がu_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0
に一致する場合、次のレスポンスを返します:
コンソール-結果
{
"profiles": [
{
"uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
"enabled": true,
"last_synchronized": 1642650651037,
"user": {
"username": "jacknich",
"roles": [
"admin", "other_role1"
],
"realm_name": "native",
"full_name": "Jack Nicholson",
"email": "[email protected]"
},
"labels": {
"direction": "north"
},
"data": {},
"_doc": {
"_primary_term": 88,
"_seq_no": 66
}
}
]
}
デフォルトではdata フィールドにコンテンツは返されません。 |
次のリクエストは、ユーザープロファイルとともに、キーapp1
の下にネストされたdata
のサブセットを取得します:
Python
resp = client.security.get_user_profile(
uid="u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
data="app1.key1",
)
print(resp)
Js
const response = await client.security.getUserProfile({
uid: "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
data: "app1.key1",
});
console.log(response);
コンソール
GET /_security/profile/u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0?data=app1.key1
コンソール-結果
{
"profiles": [
{
"uid": "u_79HkWkwmnBH5gqFKwoxggWPjEBOur1zLPXQPEl1VBW0_0",
"enabled": true,
"last_synchronized": 1642650651037,
"user": {
"username": "jacknich",
"roles": [
"admin", "other_role1"
],
"realm_name": "native",
"full_name": "Jack Nicholson",
"email": "[email protected]"
},
"labels": {
"direction": "north"
},
"data": {
"app1": {
"key1": "value1"
}
},
"_doc": {
"_primary_term": 88,
"_seq_no": 66
}
}
]
}
ユーザープロファイルの取得中にエラーが発生した場合、それらはerrors
フィールドに返されます:
Js
{
"profiles": [],
"errors": {
"count": 1,
"details": {
"u_FmxQt3gr1BBH5wpnz9HkouPj3Q710XkOgg1PWkwLPBW_5": {
"type": "resource_not_found_exception",
"reason": "profile document not found"
}
}
}
}