Search...curity(3pm)
β¨ Search::Elasticsearch::Client::8_0::Direct::Security β¨
πΈ NAME πΈ
Search::Elasticsearch::Client::8_0::Direct::Security β Plugin providing Security API for Search::Elasticsearch 8.x. π
π VERSION π
version 8.12
π SYNOPSIS π
my $response = $es->security->authenticate();
π DESCRIPTION π
This class extends the Search::Elasticsearch client with a "security" namespace, to support the Security APIs. The docs live at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html.
The full documentation for the Security feature is available here: https://www.elastic.co/guide/en/x-pack/current/xpack-security.html. Obsessed. β¨
π GENERAL METHODS π
authenticate() π
$response = $es->security->authenticate()
The authenticate() method checks that the "userinfo" is correct and returns a list of which roles are assigned to the user. Slay.
Peep the authenticate docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-authenticate.html for more information.
Query string parameters, bestie:
error_tracehuman
clear_cached_realms() π§
$response = $es->security->clear_cached_realms(
realms => $realms # required (comma-separated string)
);
The clear_cached_realms() method clears the caches for the specified realms. Fresh start energy.
Query string parameters:
error_tracehumanusernames
See the clear_cached_realms docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-clear-cache.html for more information.
π USER METHODS π
put_user() π«Ά
$response = $es->security->put_user(
username => $username, # required
body => {...} # required
);
The put_user() method creates a new user or updates an existing user. Main character user management.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
Query string parameters:
error_tracehuman
get_user() πΈ
$response = $es->security->get_user(
username => $username | \@usernames # optional
);
The get_user() method retrieves info for the specified users (or all users). Nosy in a cute way.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
Query string parameters:
error_tracehuman
delete_user() π
$response = $es->security->delete_user(
username => $username # required
);
The delete_user() method deletes the specified user. Gone, bye.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
Query string parameters:
error_tracehuman
change_password() π
$response = $es->security->change_password(
username => $username # optional
body => {
password => $password # required
}
)
The change_password() method changes the password for the specified user. Security glow-up.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
disable_user() π
$response = $es->security->disable_user(
username => $username # required
);
The disable_user() method disables the specified user. Not me locking the door.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
Query string parameters:
error_tracehuman
enable_user() β¨
$response = $es->security->enable_user(
username => $username # required
);
The enable_user() method enables the specified user. Welcome back, bestie.
See the User Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-users.html for more information.
Query string parameters:
error_tracehuman
π ROLE METHODS π
put_role() π
$response = $es->security->put_role(
name => $name, # required
body => {...} # required
);
The put_role() method creates a new role or updates an existing role. Role assignment but make it fashion.
See the Role Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-roles.html for more information.
Query string parameters:
error_tracehuman
get_role() π
$response = $es->security->get_role(
name => $name | \@names # optional
);
The get_role() method retrieves info for the specified roles (or all roles). Tell me everything.
See the Role Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-roles.html for more information.
Query string parameters:
error_tracehuman
delete_role() π
$response = $es->security->delete_role(
name => $name # required
);
The delete_role() method deletes the specified role. It's giving removal.
See the Role Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-roles.html for more information.
Query string parameters:
error_tracehuman
clear_cached_roles() π§Ή
$response = $es->security->clear_cached_roles(
names => $names # required (comma-separated string)
);
The clear_cached_roles() method clears the caches for the specified roles. Clean slate, periodt.
See the Role Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-roles.html for more information.
Query string parameters:
error_tracehuman
π ROLE MAPPING METHODS π
put_role_mapping() πΊοΈ
$response = $es->security->put_role_mapping(
name => $name, # required
body => {...} # required
);
The put_role_mapping() method creates a new role mapping or updates an existing role mapping. Mapping the vibes.
See the Role Mapping docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-role-mapping.html for more information.
Query string parameters:
error_tracehuman
get_role_mapping() π
$response = $es->security->get_role_mapping(
name => $name, # optional
);
The get_role_mapping() method retrieves one or more role mappings. Investigation mode.
See the Role Mapping docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-role-mapping.html for more information.
Query string parameters:
error_tracehuman
delete_role_mapping() π«
$response = $es->security->delete_role_mapping(
name => $name, # required
);
The delete_role_mapping() method deletes a role mapping. Unmapped. Unbothered.
See the Role Mapping docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-role-mapping.html for more information.
Query string parameters:
error_tracehuman
π TOKEN METHODS π
get_token() ποΈ
$response = $es->security->get_token(
body => {...} # required
);
The get_token() method enables you to create bearer tokens for access without requiring basic authentication. VIP pass energy.
See the Token Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-tokens.html for more information.
Query string parameters:
error_tracehuman
invalidate_token() ποΈ
$response = $es->security->invalidate_token(
body => {...} # required
);
The invalidate_token() method enables you to invalidate bearer tokens for access without requiring basic authentication. Token revoked, no cap.
See the Token Management docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-tokens.html for more information.
Query string parameters:
error_tracehuman
ποΈ API KEY METHODS ποΈ
create_api_key() π
$response = $es->security->create_api_key(
body => {...} # required
)
The create_api_key() API is used to create API keys which can be used for access instead of basic authentication. Key creation, iconic.
Query string parameters:
error_tracefilter_pathhumanrefresh
See the Create API Key docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-create-api-key.html for more.
get_api_key() π
$response = $es->security->get_api_key(
id => $id, # optional
name => $name, # optional
realm_name => $realm, # optional
username => $username # optional
)
The get_api_key() API is used to get information about an API key. Sleuthing but cute.
Query string parameters:
error_tracefilter_pathhumanidnamerealm_nameusername
See the Get API Key docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-api-key.html for more.
invalidate_api_key() β
$response = $es->security->invalidate_api_key(
id => $id, # optional
name => $name, # optional
realm_name => $realm, # optional
username => $username # optional
)
The invalidate_api_key() API is used to invalidate an API key. Shutting it down.
Query string parameters:
error_tracefilter_pathhumanidnamerealm_nameusername
See the Invalidate API Key docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-invalidate-api-key.html for more.
π USER PRIVILEGE METHODS π
get_user_privileges() π
$response = $es->get_user_privileges();
The get_user_privileges() method retrieves the privileges granted to the current user. Know your power.
Query string parameters:
error_tracefilter_pathhuman
has_privileges() π΅οΈ
$response = $es->has_privileges(
user => $user, # optional
body => {...} # required
);
The has_privileges() method checks whether the current or specified user has the listed privileges. Permission check, bestie.
Query string parameters:
error_tracefilter_pathhuman
See the Has Privileges docs at https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html for more.
π APPLICATION PRIVILEGE METHODS π
okay bestie, this is the part where you get to boss around application privileges β like who's allowed to do what inside a specific app you registered. very main character of you tbh π
π put_privileges() π
$response = $es->put_privileges(
application => $application, # required
name => $name, # required
body => {...} # required
);
Lowkey the whole point: put_privileges() creates or updates the named privilege for a particular application. new privilege? made. existing one? updated. either way it's giving "i'm in charge" β¨
Query string parameters you can pass along:
error_tracefilter_pathhumanrefresh
want the full lore? go read the Create or Update Application Privileges docs fr fr: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-put-privileges.html
π get_privileges() π
$response = $es->get_privileges(
application => $application, # required
name => $name, # required
);
What it does: get_privileges() retrieves the named privilege for a particular application. just a lil peek, no cap π
Query string parameters:
error_tracefilter_pathhuman
more deets in the Get Application Privileges docs: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-get-privileges.html
π delete_privileges() π
$response = $es->delete_privileges(
application => $application, # required
name => $name, # required
);
What it does: delete_privileges() deletes the named privilege for a particular application. it's gone, bestie, periodt π
Query string parameters:
error_tracefilter_pathhumanrefresh
the Delete Application Privileges docs have the rest: https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-delete-privilege.html
π AUTHOR π
Enrico Zimuel <enrico.zimuel@elastic.co> β the icon who wrote this, we love him for it π«Ά
πΈ COPYRIGHT AND LICENSE πΈ
This software is Copyright (c) 2024 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
okay that's the whole page, you're officially done reading a manpage and honestly? slay πβ¨ this was Search...curity(3pm) from the User Contributed Perl Documentation, written by perl v5.38.2, dated 2024-02-04 β go forth and secure ur cluster, bestie, you got this ππ¦
π¦ where this page comes from
- debian trixie: libsearch-elasticsearch-perl 8.12-1 Β· Apache-2.0
- ubuntu noble: libsearch-elasticsearch-perl 8.12-1 Β· Apache-2.0
- ubuntu resolute: libsearch-elasticsearch-perl 8.12-1 Β· Apache-2.0
- ubuntu stonking: libsearch-elasticsearch-perl 8.12-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms