Updated Security Client APIs (#450)

Signed-off-by: saimedhi <[email protected]>
This commit is contained in:
Sai Medhini Reddy Maryada
2023-07-26 18:38:49 -04:00
committed by GitHub
parent 87b402c16e
commit caeaa13250
10 changed files with 311 additions and 120 deletions
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env python
# SPDX-License-Identifier: Apache-2.0
#
# The OpenSearch Contributors require contributions made to
# this file be licensed under the Apache-2.0 license or a
# compatible open source license.
# A basic OpenSearch sample that create and manage roles.
from opensearchpy import OpenSearch
# connect to OpenSearch
host = 'localhost'
port = 9200
auth = ('admin', 'admin') # For testing only. Don't store credentials in code.
client = OpenSearch(
hosts = [{'host': host, 'port': port}],
http_auth = auth,
use_ssl = True,
verify_certs = False,
ssl_show_warn = False
)
# Create a Role
role_name = "test-role"
role_content = {
"cluster_permissions": ["cluster_monitor"],
"index_permissions": [
{
"index_patterns": ["index", "test-*"],
"allowed_actions": [
"data_access",
"indices_monitor",
],
}
],
}
response = client.security.create_role(role_name, body=role_content)
print(response)
# Get a Role
role_name = "test-role"
response = client.security.get_role(role_name)
print(response)
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env python
# SPDX-License-Identifier: Apache-2.0
#
# The OpenSearch Contributors require contributions made to
# this file be licensed under the Apache-2.0 license or a
# compatible open source license.
# A basic OpenSearch sample that create and manage users.
from opensearchpy import OpenSearch
# connect to OpenSearch
host = 'localhost'
port = 9200
auth = ('admin', 'admin') # For testing only. Don't store credentials in code.
client = OpenSearch(
hosts = [{'host': host, 'port': port}],
http_auth = auth,
use_ssl = True,
verify_certs = False,
ssl_show_warn = False
)
# Create a User
user_name = "test-user"
user_content = {"password": "opensearch@123", "opendistro_security_roles": []}
response = client.security.create_user(user_name, body=user_content)
print(response)
# Get a User
user_name = "test-user"
response = client.security.get_user(user_name)
print(response)