es设置账号和密码
在Elasticsearch中设置账号和密码通常涉及到使用内置的X-Pack
安全功能。以下是设置账号和密码的步骤:
- 确保Elasticsearch已经安装了
X-Pack
插件。 启用安全功能,这通常需要编辑Elasticsearch的配置文件
elasticsearch.yml
,添加以下行:xpack.security.enabled: true
- 重启Elasticsearch服务以使配置生效。
- 使用有
superuser
权限的用户(通常是elastic
用户)连接到Elasticsearch。 通过运行
elasticsearch-setup-passwords
命令来设置内置用户(如elastic
,kibana
等)的密码。这个命令会提示你输入内置用户的密码。bin/elasticsearch-setup-passwords interactive
- 设置自定义用户及其密码,可以使用
elasticsearch-py
库或其他Elasticsearch客户端与REST API交互。
以下是使用elasticsearch-py
库设置自定义用户的Python代码示例:
from elasticsearch import Elasticsearch, RequestsHttpConnection
from urllib3 import PoolManager, MockConnection
# 假设Elasticsearch运行在localhost的9200端口
es = Elasticsearch(
["localhost:9200"],
http_auth=('elastic', 'changeme'), # 使用elastic账号登录
# 如果没有启用SSL,可以使用verified_ssl=False来忽略SSL证书验证警告
# connection_class=RequestsHttpConnection,
# requests_kwargs={'verify': False}
)
# 创建新用户
response = es.security.put_user(
username='john_smith',
body={
'password': 'johnsmith_pwd',
'roles': ['user_role'], # 用户角色
'full_name': 'John Smith',
'email': 'john.smith@example.com',
'metadata': {
'introduction': 'I am John Smith'
}
}
)
print(response)
请确保Elasticsearch服务正在运行,并且你有足够的权限来设置账号和密码。如果你使用的是Elasticsearch服务,可能需要通过服务提供商的管理控制台来设置账号和密码,或者使用相应的API调用。
评论已关闭