監査イベント

セキュリティイベントを監査する際、単一のクライアントリクエストが複数の監査イベントを生成する可能性があります。共通のrequest.id属性を使用して関連するイベントを相関させることができます。

  1. 特定の監査イベントは、関連するイベントアクションを監査するために`````security_config_change`````イベントタイプを必要とします。影響を受ける監査イベントの説明には、そのイベントタイプが必要かどうかが示されています。
  2. [](#event-access-denied)
  3. - `````access_denied
  • 認証されたユーザーが実行するために必要な特権を持っていないアクションを実行しようとしたときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:30:06,949+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action":
  3. "access_denied", "authentication.type":"REALM", "user.name":"user1",
  4. "user.realm":"default_native", "user.roles":["test_role"], "origin.type":
  5. "rest", "origin.address":"[::1]:52434", "request.id":"yKOgWn2CRQCKYgZRz3phJw",
  6. "action":"indices:admin/auto_create", "request.name":"CreateIndexRequest",
  7. "indices":["<index-{now/d+1d}>"]}

  • access_granted
  • 認証されたユーザーが実行するために必要な特権を持っているアクションを実行しようとしたときに記録されます。これらのイベントは、非システムユーザーのみに記録されます。
    すべてのユーザー(_xpackのような内部ユーザーを含む)に対してaccess_grantedイベントを含めたい場合は、access_grantedに加えてsystem_access_grantedをイベントタイプのリストに追加します。system_access_granted特権は、ログが混雑するのを避けるためにデフォルトでは含まれていません。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:30:06,947+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action":
  3. "access_granted", "authentication.type":"REALM", "user.name":"user1", "user
  4. realm":"default_native", "user.roles":["test_role"], "origin.type":"rest",
  5. "origin.address":"[::1]:52434", "request.id":"yKOgWn2CRQCKYgZRz3phJw",
  6. "action":"indices:data/write/bulk", "request.name":"BulkRequest"}

  • anonymous_access_denied
  • 認証資格情報が不足しているため、リクエストが拒否されたときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T21:56:43,608+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action":
  3. "anonymous_access_denied", "origin.type":"rest", "origin.address":
  4. "[::1]:50543", "url.path":"/twitter/_async_search", "url.query":"pretty",
  5. "request.method":"POST", "request.id":"TqA9OisyQ8WTl1ivJUV1AA"}

  • authentication_failed
  • 認証資格情報が既知のユーザーに一致しないときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:10:15,510+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action":
  3. "authentication_failed", "user.name":"elastic", "origin.type":"rest",
  4. "origin.address":"[::1]:51504", "url.path":"/_security/user/user1",
  5. "url.query":"pretty", "request.method":"POST",
  6. "request.id":"POv8p_qeTl2tb5xoFl0HIg"}

  • authentication_success
  • ユーザーが正常に認証されたときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:03:35,018+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action":
  3. "authentication_success", "authentication.type":"REALM", "user.name":
  4. "elastic", "user.realm":"reserved", "origin.type":"rest", "origin.address":
  5. "[::1]:51014", "realm":"reserved", "url.path":"/twitter/_search",
  6. "url.query":"pretty", "request.method":"POST",
  7. "request.id":"nHV3UMOoSiu-TaSPWCfxGg"}

  • change_disable_user
  • ユーザーを有効にするAPIが呼び出され、ネイティブまたは組み込みのユーザーを無効にするときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T23:17:28,308+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"change_disable_user", "request.id":"qvLIgw_eTvyK3cgV-GaLVg",
  4. "change":{"disable":{"user":{"name":"user1"}}}}

  • change_enable_user
  • ユーザーを有効にするAPIが呼び出され、ネイティブまたは組み込みのユーザーを有効にするときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T23:17:34,843+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"change_enable_user", "request.id":"BO3QU3qeTb-Ei0G0rUOalQ",
  4. "change":{"enable":{"user":{"name":"user1"}}}}

  • change_password
  • パスワード変更APIが呼び出され、ネイティブまたは組み込みのユーザーのパスワードを変更するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2019-12-30T22:19:41,345+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"change_password", "request.id":"bz5a1Cc3RrebDMitMGGNCw",
  4. "change":{"password":{"user":{"name":"user1"}}}}

  • create_service_token
  • サービスアカウントトークン作成APIが呼び出され、サービスアカウントの新しいインデックスベースのトークンを作成するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2021-04-30T23:17:42,952+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"create_service_token", "request.id":"az9a1Db5QrebDMacQ8yGKc",
  4. "create":{"service_token":{"namespace":"elastic","service":"fleet-server","name":"token1"}}}`

  • connection_denied
  • 特定のプロファイルのIPフィルターを通過しない受信TCP接続が記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T21:47:31,526+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"ip_filter", "event.action":
  3. "connection_denied", "origin.type":"rest", "origin.address":"10.10.0.20:52314",
  4. "transport.profile":".http", "rule":"deny 10.10.0.0/16"}

  • connection_granted
  • 特定のプロファイルのIPフィルターを通過する受信TCP接続が記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T21:47:31,526+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"ip_filter", "event.action":
  3. "connection_granted", "origin.type":"rest", "origin.address":"[::1]:52314",
  4. "transport.profile":".http", "rule":"allow ::1,127.0.0.1"}

  • create_apikey
  • APIキー作成またはAPIキー付与APIが呼び出され、新しいAPIキーを作成するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:33:52,521+0200", "node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.action":
  3. "create_apikey", "request.id":"9FteCmovTzWHVI-9Gpa_vQ", "create":{"apikey":
  4. {"name":"test-api-key-1","expiration":"10d","role_descriptors":[{"cluster":
  5. ["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges":
  6. ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"],
  7. "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}],
  8. "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names":
  9. ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}],
  10. "metadata":{"application":"my-application","environment":{"level": 1,
  11. "tags":["dev","staging"]}}}}}

  • change_apikey
  • APIキー更新APIが呼び出され、既存のAPIキーの属性を更新するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:33:52,521+0200", "node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.action":
  3. "change_apikey", "request.id":"9FteCmovTzWHVI-9Gpa_vQ", "change":{"apikey":
  4. {"id":"zcwN3YEBBmnjw-K-hW5_","role_descriptors":[{"cluster":
  5. ["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges":
  6. ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"],
  7. "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}],
  8. "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names":
  9. ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}],
  10. "metadata":{"application":"my-application","environment":{"level": 1,
  11. "tags":["dev","staging"]}},"expiration":"10d"}}}

  • change_apikeys
  • バルクAPIキー更新APIが呼び出され、複数の既存のAPIキーの属性を更新するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit","timestamp":"2020-12-31T00:33:52,521+0200","node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ","event.type":"security_config_change",
  3. "event.action":"change_apikeys","request.id":"9FteCmovTzWHVI-9Gpa_vQ",
  4. "change":{"apikeys":
  5. {"ids":["zcwN3YEBBmnjw-K-hW5_","j7c0WYIBqecB5CbVR6Oq"],"role_descriptors":
  6. [{"cluster":["monitor","manage_ilm"],"indices":[{"names":["index-a*"],"privileges":
  7. ["read","maintenance"]},{"names":["in*","alias*"],"privileges":["read"],
  8. "field_security":{"grant":["field1*","@timestamp"],"except":["field11"]}}],
  9. "applications":[],"run_as":[]},{"cluster":["all"],"indices":[{"names":
  10. ["index-b*"],"privileges":["all"]}],"applications":[],"run_as":[]}],
  11. "metadata":{"application":"my-application","environment":{"level":1,
  12. "tags":["dev","staging"]}},"expiration":"10d"}}}

  • delete_privileges
  • アプリケーション特権削除APIが呼び出され、1つ以上のアプリケーション特権を削除するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:39:30,246+0200", "node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.
  3. action":"delete_privileges", "request.id":"7wRWVxxqTzCKEspeSP7J8g",
  4. "delete":{"privileges":{"application":"myapp","privileges":["read"]}}}

  • delete_role
  • ロール削除APIが呼び出され、ロールを削除するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:08:11,678+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.action":
  3. "delete_role", "request.id":"155IKq3zQdWq-12dgKZRnw",
  4. "delete":{"role":{"name":"my_admin_role"}}}

  • delete_role_mapping
  • ロールマッピング削除APIが呼び出され、ロールマッピングを削除するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:12:09,349+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"delete_role_mapping", "request.id":"Stim-DuoSTCWom0S_xhf8g",
  4. "delete":{"role_mapping":{"name":"mapping1"}}}

  • delete_service_token
  • サービスアカウントトークン削除APIが呼び出され、サービスアカウントのインデックスベースのトークンを削除するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2021-04-30T23:17:42,952+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"delete_service_token", "request.id":"az9a1Db5QrebDMacQ8yGKc",
  4. "delete":{"service_token":{"namespace":"elastic","service":"fleet-server","name":"token1"}}}

  • delete_user
  • ユーザー削除APIが呼び出され、特定のネイティブユーザーを削除するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:19:41,345+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change",
  3. "event.action":"delete_user", "request.id":"au5a1Cc3RrebDMitMGGNCw",
  4. "delete":{"user":{"name":"jacknich"}}}

  • invalidate_apikeys
  • APIキー無効化APIが呼び出され、1つ以上のAPIキーを無効化するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:36:30,247+0200", "node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change", "event.
  3. action":"invalidate_apikeys", "request.id":"7lyIQU9QTFqSrTxD0CqnTQ",
  4. "invalidate":{"apikeys":{"owned_by_authenticated_user":false,
  5. "user":{"name":"myuser","realm":"native1"}}}}

  • put_privileges
  • 特権の作成または更新APIが呼び出され、1つ以上のアプリケーション特権を追加または更新するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:39:07,779+0200", "node.id":
  2. "9clhpgjJRR-iKzOw20xBNQ", "event.type":"security_config_change",
  3. "event.action":"put_privileges", "request.id":"1X2VVtNgRYO7FmE0nR_BGA",
  4. "put":{"privileges":[{"application":"myapp","name":"read","actions":
  5. ["data:read/*","action:login"],"metadata":{"description":"Read access to myapp"}}]}}

  • put_role
  • ロールの作成または更新APIが呼び出され、ロールを作成または更新するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:27:01,978+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change",
  3. "event.action":"put_role", "request.id":"tDYQhv5CRMWM4Sc5Zkk2cQ",
  4. "put":{"role":{"name":"test_role","role_descriptor":{"cluster":["all"],
  5. "indices":[{"names":["apm*"],"privileges":["all"],"field_security":
  6. {"grant":["granted"]},"query":"{\"term\": {\"service.name\": \"bar\"}}"},
  7. {"names":["apm-all*"],"privileges":["all"],"query":"{\"term\":
  8. {\"service.name\": \"bar2\"}}"}],"applications":[],"run_as":[]}}}}

  • put_role_mapping
  • ロールマッピングの作成または更新APIが呼び出され、ロールマッピングを作成または更新するときに記録されます。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-31T00:11:13,932+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change", "event.
  3. action":"put_role_mapping", "request.id":"kg4h1l_kTDegnLC-0A-XxA",
  4. "put":{"role_mapping":{"name":"mapping1","roles":["user"],"rules":
  5. {"field":{"username":"*"}},"enabled":true,"metadata":{"version":1}}}}

  • put_user
  • ユーザーの作成または更新APIが呼び出され、ネイティブユーザーを作成または更新するときに記録されます。ユーザーの更新は、ユーザーのパスワードを変更することもあります。
    関連するイベントアクションを監査するためにsecurity_config_changeイベントタイプを含める必要があります。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:10:09,749+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"security_config_change",
  3. "event.action":"put_user", "request.id":"VIiSvhp4Riim_tpkQCVSQA",
  4. "put":{"user":{"name":"user1","enabled":false,"roles":["admin","other_role1"],
  5. "full_name":"Jack Sparrow","email":"[email protected]",
  6. "has_password":true,"metadata":{"cunning":10}}}}

  • realm_authentication_failed
  • 有効な認証トークンを提示できなかったすべてのレルムについて記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:10:15,510+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"rest", "event.action":
  3. "realm_authentication_failed", "user.name":"elastic", "origin.type":"rest",
  4. "origin.address":"[::1]:51504", "realm":"myTestRealm1", "url.path":
  5. "/_security/user/user1", "url.query":"pretty", "request.method":"POST",
  6. "request.id":"POv8p_qeTl2tb5xoFl0HIg"}

  • run_as_denied
  • 認証されたユーザーが必要な特権を持っていない別のユーザーとして実行しようとしたときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:49:34,859+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action":
  3. "run_as_denied", "user.name":"user1", "user.run_as.name":"user1",
  4. "user.realm":"default_native", "user.run_as.realm":"default_native",
  5. "user.roles":["test_role"], "origin.type":"rest", "origin.address":
  6. "[::1]:52662", "request.id":"RcaSt872RG-R_WJBEGfYXA",
  7. "action":"indices:data/read/search", "request.name":"SearchRequest", "indices":["alias1"]}

  • run_as_granted
  • 認証されたユーザーが必要な特権を持っている別のユーザーとして実行しようとしたときに記録されます。

Js

  1. {"type":"audit", "timestamp":"2020-12-30T22:44:42,068+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type":"transport", "event.action":
  3. "run_as_granted", "user.name":"elastic", "user.run_as.name":"user1",
  4. "user.realm":"reserved", "user.run_as.realm":"default_native",
  5. "user.roles":["superuser"], "origin.type":"rest", "origin.address":
  6. "[::1]:52623", "request.id":"dGqPTdEQSX2TAPS3cvc1qA", "action":
  7. "indices:data/read/search", "request.name":"SearchRequest", "indices":["alias1"]}

  • system_access_granted
  • access_grantedイベントは、_xpackのような内部ユーザーに対してのみ記録されます。この設定をaccess_grantedに加えて含めると、access_grantedイベントはすべてのユーザーに対して記録されます。
    このイベントタイプは、ログが混雑するのを避けるためにデフォルトで無効になっています。

  • tampered_request
  • セキュリティ機能がリクエストが改ざんされたことを検出したときに記録されます。通常、スクロールIDが改ざんされたと考えられるsearch/scrollリクエストに関連しています。

Js

  1. {"type":"audit", "timestamp":"2019-11-27T22:00:00,947+0200", "node.id":
  2. "0RMNyghkQYCc_gVd1G6tZQ", "event.type": "rest", "event.action":
  3. "tampered_request", "origin.address":"[::1]:50543", "url.path":
  4. "/twitter/_async_search", "url.query":"pretty", "request.method":"POST",
  5. "request.id":"TqA9OisyQ8WTl1ivJUV1AA"}

監査イベント属性

監査イベントはJSONドキュメントとしてフォーマットされ、各イベントは監査ログの別々の行に印刷されます。エントリ自体には行末区切り文字は含まれていません。詳細については、ログエントリ形式を参照してください。

以下のリストは、すべての監査イベントタイプに共通する属性を示しています:

  • @timestamp
  • イベントが発生した時刻(ISO9601形式)。
  • node.name
  • ノードの名前。この名前はelasticsearch.yml設定ファイルで変更できます。
  • node.id
  • ノードID。これは自動的に生成され、完全なクラスター再起動を通じて持続します。
  • host.ip
  • ノードのバウンドIPアドレス。これにより、ノードと通信できます。
  • host.name
  • 解決されていないノードのホスト名。
  • event.type
  • イベントを生成した内部処理層: resttransportip_filterまたはsecurity_config_change。これは、REST APIから発信されたリクエストが複数のトランスポートメッセージに変換され、origin.type: restおよびevent.type: transportを持つ監査イベントを生成するため、origin.typeとは異なります。
  • event.action
  • 発生したイベントのタイプ: anonymous_access_deniedauthentication_failedauthentication_successrealm_authentication_failedaccess_deniedaccess_grantedconnection_deniedconnection_grantedtampered_requestrun_as_denied、またはrun_as_granted
    さらに、event.typesecurity_config_changeに等しい場合、event.action属性は次のいずれかの値を取ります: put_userchange_passwordput_roleput_role_mappingchange_enable_userchange_disable_userput_privilegescreate_apikeydelete_userdelete_roledelete_role_mappinginvalidate_apikeysdelete_privilegeschange_apikey、またはchange_apikeys
  • request.id
  • 特定のRESTリクエストに関連するイベントを相関させるために使用できる合成識別子。

さらに、resttransportおよびip_filterタイプのすべてのイベント(ただしsecurity_config_changeを除く)には、リクエストクライアントに関する詳細を示す次の追加属性があります:

  • origin.address
  • このイベントに関連するリクエストのソースIPアドレス。これは、リモートクライアントのアドレス、別のクラスターノードのアドレス、またはリクエストがローカルから発信された場合のローカルノードのバウンドアドレスである可能性があります。リモートクライアントがクラスターに直接接続しない限り、クライアントアドレスは実際にはクラスターの前にある最初のOSI層3プロキシのアドレスになります。
  • origin.type
  • このイベントに関連するリクエストの起源タイプ: rest(リクエストはREST APIリクエストから発信された)、transport(リクエストはトランスポートチャネルで受信された)、またはlocal_node(ローカルノードがリクエストを発行した)。
  • opaque_id
  • このイベントに関連するリクエストのX-Opaque-Id HTTPヘッダーの値(存在する場合)。詳細については、X-Opaque-Id HTTPヘッダー - APIの慣例を参照してください。
  • trace_id
  • このイベントに関連するリクエストのtraceparent HTTPヘッダーから抽出された識別子(存在する場合)。これにより、監査ログをElastic APMのトレースログ機能に表示できます。
  • x_forwarded_for
  • この監査イベントに関連するリクエストのX-Forwarded-For HTTPリクエストヘッダーのそのままの値(存在する場合)。このヘッダーは、リクエストを転送する際にプロキシによって一般的に追加され、値はプロキシされたクライアントのアドレスです。リクエストが複数のプロキシを通過する場合、ヘッダーはカンマ区切りのリストで、最後の値は前のプロキシサーバーのアドレス(最後のプロキシサーバーのアドレスはorigin.addressフィールドによって指定されます)です。

RESTイベントタイプの監査イベント属性

event.typerestに等しいイベントは、次のいずれかのevent.action属性値を持ちます: authentication_successanonymous_access_deniedauthentication_failedrealm_authentication_failedtampered_requestまたはrun_as_denied。これらのイベントには、次の追加属性もあります(共通のものに加えて):

  • url.path
  • このイベントに関連するRESTリクエストのURLのパス部分(ポートとクエリ文字列の間)。これはURLエンコードされています。
  • url.query
  • このイベントに関連するRESTリクエストのURLのクエリ部分(存在する場合、”?”の後)。これはURLエンコードされています。
  • request.method
  • このイベントに関連するRESTリクエストのHTTPメソッド。これはGET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH、TRACE、CONNECTのいずれかです。
  • request.body
  • このイベントに関連するRESTリクエストの完全な内容(有効な場合)。これにはHTTPリクエストボディが含まれます。ボディはJSON RFC 4627に従って文字列値としてエスケープされます。

トランスポートイベントタイプの監査イベント属性

event.typetransportに等しいイベントは、次のいずれかのevent.action属性値を持ちます: authentication_successanonymous_access_deniedauthentication_failedrealm_authentication_failedaccess_grantedaccess_deniedrun_as_grantedrun_as_denied、またはtampered_request。これらのイベントには、次の追加属性もあります(共通のものに加えて):

  • action
  • 実行されたトランスポートアクションの名前。これはRESTリクエストのURLのようなものです。
  • indices
  • このイベントに関連するリクエストに関するインデックス名の配列(該当する場合)。
  • request.name
  • 実行されたリクエストハンドラーの名前。

IPフィルターイベントタイプの監査イベント属性

event.typeip_filterに等しいイベントは、次のいずれかのevent.action属性値を持ちます: connection_grantedまたはconnection_denied。これらのイベントには、次の追加属性もあります(共通のものに加えて):

  • transport_profile
  • リクエストがターゲットにしたトランスポロファイル。
  • rule
  • リクエストを拒否したIPフィルタリングルール。

security_config_changeイベントタイプの監査イベント属性

event.type属性がsecurity_config_changeに等しいイベントは、次のいずれかのevent.action属性値を持ちます: put_userchange_passwordput_roleput_role_mappingchange_enable_userchange_disable_userput_privilegescreate_apikeydelete_userdelete_roledelete_role_mappinginvalidate_apikeysdelete_privilegeschange_apikey、またはchange_apikeys

これらのイベントには、event.type属性に特有の次の1つの追加属性があります。属性の値はネストされたJSONオブジェクトです:

  • put
  • 作成されるセキュリティ構成のオブジェクト表現、または既存の構成の上書き。userrolerole_mapping、またはアプリケーションprivilegesの構成が含まれます。
  • delete
  • 削除されるセキュリティ構成のオブジェクト表現。userrolerole_mapping、またはアプリケーションprivilegesの構成が含まれます。
  • change
  • 変更されるセキュリティ構成のオブジェクト表現。これは、ネイティブまたは組み込みユーザーのpasswordenable、またはdisableの構成オブジェクトである可能性があります。APIキーが更新される場合、構成オブジェクトはapikeyになります。
  • create
  • 作成される新しいセキュリティ構成のオブジェクト表現。これは現在、APIキー監査にのみ使用されます。APIキーがAPIキー作成APIを使用して作成されると、apikey構成オブジェクトのみが含まれます。APIキーがAPIキー付与APIを使用して作成されると、grant構成オブジェクトも含まれます。
  • invalidate
  • 無効化されるセキュリティ構成のオブジェクト表現。現在、無効化をサポートしている構成はapikeysのみで、APIキー無効化APIを通じて行われます。

上記のセキュリティ構成オブジェクトのスキーマは次のとおりです。これらは、対応するセキュリティAPIのリクエストボディに非常に似ています。

  • user
  • 次のようなオブジェクト:

Js

  1. "full_name": <string>, "email": <string>, "has_password": <boolean>,
  2. "metadata": <object>}`.
  1. - `````role
  • 次のようなオブジェクト:

Js

  1. {"application":{"manage":{<string>:<string_list>}}}, "indices": [ {"names": <string_list>, "privileges": <string_list>, "field_security":
  2. {"grant": <string_list>, "except": <string_list>}, "query": <string>,
  3. "allow_restricted_indices": <boolean>}], "applications":[{"application": <string>,
  4. "privileges": <string_list>, "resources": <string_list>}], "run_as": <string_list>,
  5. "metadata": <object>}}`.
  1. - `````role_mapping
  • 次のようなオブジェクト:

Js

  1. "format": <string>}], "rules": <object>, "enabled": <boolean>, "metadata": <object>}`.
  1. - `````privileges
  • 次のようなオブジェクトの配列:

Js

  1. "metadata": <object>}`.
  • password
  • 次のような単純なオブジェクト:

Js

  • enable
  • 次のような単純なオブジェクト:

Js

  • disable
  • 次のような単純なオブジェクト:

Js

  • apikey
  • 次のようなオブジェクト:

Js

  1. "metadata": [<object>]}`
  1. APIキーの更新用のオブジェクトは、`````name`````を含まない点で異なります。
  2. - `````grant
  • 次のようなオブジェクト:

Js

  1. "has_access_token": <boolean>}`
  • apikeys
  • 次のようなオブジェクト:

Js

  1. <boolean>, "user":{"name": <string>, "realm": <string>}}`

バルクAPIキー更新用のオブジェクトは、nameowned_by_authenticated_user、またはuserを含まない点で異なります。代わりに、metadataおよびrole_descriptorsを含む場合があり、これらは上記のapikey設定オブジェクトのフィールドと同じスキーマを持っています。

  • service_token
  • 次のようなオブジェクト:

Js

特定イベントのための追加監査イベント属性

いくつかのイベントには、以前に説明されたものに加えて、いくつかの追加属性があります:

    1. - `````realm
    • ユーザーを正常に認証したレルムの名前。APIキーを使用して認証された場合、これは_es_api_keyの特別な値です。これは、user.realmuser.run_by.realm、およびauthentication.type属性によって説明される同じ情報の短縮属性です。
    • user.name
    • 効力のあるユーザーの名前。これは通常、認証されたユーザーと同じですが、実行としての認可機能を使用している場合、これは偽装されたユーザーの名前を示します。APIキーを使用して認証された場合、これはAPIキーの所有者の名前です。サービスアカウントトークンを使用して認証された場合、これはサービスアカウントのプリンシパル、すなわちnamespace/service_nameです。
    • user.realm
    • 効力のあるユーザーが所属するレルムの名前。APIキーを使用して認証された場合、これはAPIキーの所有者が所属するレルムの名前です。
    • user.run_by.name
    • この属性は、リクエストが実行としての認可機能を使用している場合にのみ存在し、認証されたユーザーの名前を示します。これは偽装者としても知られています。
    • user.run_by.realm
    • 認証された(偽装者)ユーザーが所属するレルムの名前。この属性は、リクエストが実行としての認可機能を使用している場合にのみ提供されます。
    • authentication.type
    • ユーザーを認証するために使用されるメソッド。可能な値はREALMAPI_KEYTOKENANONYMOUSまたはINTERNALです。
    • apikey.id
    • APIキーの作成リクエストによって返されるAPIキーID。この属性は、APIキーを使用して認証する場合にのみ提供されます。
    • apikey.name
    • APIキーの作成リクエストで提供されるAPIキーの名前。この属性は、APIキーを使用して認証する場合にのみ提供されます。
    • authentication.token.name
    • サービスアカウントトークンの名前。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。
    • authentication.token.type
    • サービスアカウントトークンのタイプ。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。
    1. - `````user.name
    • 認証に失敗したユーザーの名前。リクエストの認証トークンが無効または解析不可能な場合、この情報は欠落している可能性があります。
    • authentication.token.name
    • サービスアカウントトークンの名前。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。リクエストの認証トークンが無効または解析不可能な場合、この情報は欠落している可能性があります。
    • authentication.token.type
    • サービスアカウントトークンのタイプ。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。リクエストの認証トークンが無効または解析不可能な場合、この情報は欠落している可能性があります。
    1. - `````user.name
    • 認証に失敗したユーザーの名前。
    • realm
    • この認証を拒否したレルムの名前。このイベントは、チェーン内の各参照されたレルムに対して生成されます。
    1. - `````user.roles
    • 偽装アクションを付与または拒否されている認証されたユーザーの役割名の配列。サービスアカウントとして認証された場合、これは常に空の配列です。
    • user.name
    • 偽装アクションを付与または拒否されている認証されたユーザーの名前。
    • user.realm
    • 認証されたユーザーが所属するレルムの名前。
    • user.run_as.name
    • 偽装アクションが付与または拒否されているユーザーの名前。
    • user.run_as.realm
    • 偽装されたユーザーが所属するレルムの名前。
    1. - `````user.roles
    • ユーザーの役割名の配列。APIキーを使用して認証された場合、これはAPIキーの所有者の役割名を含みます。サービスアカウントとして認証された場合、これは常に空の配列です。
    • user.name
    • 効力のあるユーザーの名前。これは通常、認証されたユーザーと同じですが、実行としての認可機能を使用している場合、これは偽装されたユーザーの名前を示します。APIキーを使用して認証された場合、これはAPIキーの所有者の名前です。
    • user.realm
    • 効力のあるユーザーが所属するレルムの名前。APIキーを使用して認証された場合、これはAPIキーの所有者が所属するレルムの名前です。
    • user.run_by.name
    • この属性は、リクエストが実行としての認可機能を使用している場合にのみ存在し、認証されたユーザーの名前を示します。これは偽装者としても知られています。
    • user.run_by.realm
    • この属性は、リクエストが実行としての認可機能を使用している場合にのみ存在し、認証された(偽装者)ユーザーが所属するレルムの名前を示します。
    • authentication.type
    • ユーザーを認証するために使用されるメソッド。可能な値はREALMAPI_KEYTOKENANONYMOUSまたはINTERNALです。
    • apikey.id
    • APIキーの作成リクエストによって返されるAPIキーID。この属性は、APIキーを使用して認証する場合にのみ提供されます。
    • apikey.name
    • APIキーの作成リクエストで提供されるAPIキーの名前。この属性は、APIキーを使用して認証する場合にのみ提供されます。
    • authentication.token.name
    • サービスアカウントトークンの名前。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。
    • authentication.token.type
    • サービスアカウントトークンのタイプ。この属性は、サービスアカウントトークンを使用して認証する場合にのみ提供されます。