kibana api密钥
时间: 2025-06-04 07:15:53 浏览: 21
### 生成或使用 Kibana API 密钥的相关信息
Kibana API 密钥的生成和使用是确保安全访问 Elasticsearch 和 Kibana 的重要步骤。以下是详细的说明:
#### 1. 生成 API 密钥
在 Kibana 中,可以通过 `kibana-encryption-keys` 工具生成加密密钥,并将其配置到 `kibana.yml` 文件中[^1]。具体步骤如下:
- 使用命令 `./bin/kibana-encryption-keys generate` 生成一组加密密钥。
- 将输出的内容复制到 `config/kibana.yml` 文件中,例如:
```yaml
xpack.encryptedSavedObjects.encryptionKey: "dd57efa22caab0c7ee969b4983d9e5c5"
xpack.reporting.encryptionKey: "bf371ec410d2c98cd0a6e3851b294c3e"
xpack.security.encryptionKey: "5286b13e0e7781ed275c4ebb83dac4a4"
```
- 确保在配置完成后重启 Kibana 服务以使更改生效[^4]。
#### 2. 在 Elasticsearch 中生成 API 密钥
API 密钥也可以直接通过 Elasticsearch 的 `_security/api_key` 接口生成[^3]。以下是一个示例命令:
```bash
curl -u elastic:123456 -k -X POST "https://localhost:9201/_security/api_key" \
-H "Content-Type: application/json" \
-d '{
"name": "my-api-key",
"expiration": "1d",
"role_descriptors": {
"my_role": {
"cluster": ["all"],
"index": [
{
"names": ["*"],
"privileges": ["read", "write"]
}
]
}
}
}'
```
该命令会返回一个 JSON 格式的响应,包含生成的 API 密钥 ID 和密钥值。
#### 3. 配置 Kibana 以启用 TLS 和 API 密钥验证
为了增强安全性,建议在 Kibana 中启用 TLS 加密通讯[^5]。具体步骤包括:
- 编辑 `kibana.yml` 文件,添加或修改以下配置项:
```yaml
server.ssl.enabled: true
server.ssl.certificate: "/path/to/your/certificate.pem"
server.ssl.key: "/path/to/your/key.pem"
server.ssl.keystore.password: ""
```
- 如果证书文件受密码保护,则需要设置 `server.ssl.keystore.password` 的值为实际密码[^5]。
#### 4. 使用 API 密钥进行认证
生成的 API 密钥可以用于程序化访问 Elasticsearch 和 Kibana。例如,在 HTTP 请求中通过 `Authorization` 头传递 API 密钥[^3]:
```bash
curl -H "Authorization: ApiKey $(echo -n <api_key_id>:<api_key> | base64)" \
-X GET "https://localhost:9201/_cluster/health?pretty"
```
上述命令将 API 密钥编码为 Base64 格式后传递给目标服务。
#### 注意事项
- 在完成上述配置后,必须始终通过 HTTPS 访问 Kibana,例如 `https://<your_kibana_host>.com`[^2]。
- 确保所有敏感信息(如密码、API 密钥)存储在安全的位置,并避免泄露。
阅读全文
相关推荐



















