认证信息 API
1.0 版引入
身份验证信息 API 返回当前已验证用户的信息。这包括用户的名称、角色、后端角色、自定义属性和租户成员资格。此 API 对于调试身份验证问题、验证用户权限以及构建需要了解当前用户访问级别的应用程序非常有用。
端点
GET /_plugins/_security/authinfo
POST /_plugins/_security/authinfo
查询参数
下表列出了可用的查询参数。所有查询参数都是可选的。
参数 | 数据类型 | 描述 |
---|---|---|
auth_type | 字符串 | 当前身份验证请求的类型。 |
verbose | 布尔型 | 是否返回详细响应。 |
请求示例
以下示例请求获取当前已验证用户的身份验证信息
GET /_plugins/_security/authinfo
要获取详细信息
GET /_plugins/_security/authinfo?verbose=true
示例响应
{
"user": "User [name=admin, backend_roles=[admin], requestedTenant=null]",
"user_name": "admin",
"backend_roles": [
"admin"
],
"roles": [
"all_access",
"security_rest_api_access"
],
"tenants": {
"admin": true,
"global_tenant": true
},
"principal": null,
"peer_certificates": "0",
"sso_logout_url": null,
"remote_address": "127.0.0.1:54013"
}
对于详细响应,会包含额外字段
{
"user": "User [name=admin, backend_roles=[admin], requestedTenant=null]",
"user_name": "admin",
"backend_roles": [
"admin"
],
"custom_attribute_names": [],
"roles": [
"all_access",
"security_rest_api_access"
],
"tenants": {
"admin": true,
"global_tenant": true
},
"principal": null,
"peer_certificates": "0",
"sso_logout_url": null,
"remote_address": "127.0.0.1:54013",
"size_of_user": "115",
"size_of_backendroles": "28",
"size_of_custom_attributes": "2",
"user_requested_tenant": null
}
响应正文字段
响应正文是一个包含以下字段的 JSON 对象。
属性 | 数据类型 | 描述 |
---|---|---|
user | 字符串 | 用户对象的字符串表示,包括用户名和后端角色。 |
user_name | 字符串 | 已验证用户的用户名。 |
backend_roles | 字符串数组 | 与用户关联的后端角色,通常从外部身份验证系统获取。 |
roles | 字符串数组 | 分配给用户的 OpenSearch 安全角色,用于确定其权限。 |
tenants | 对象 | 用户有权访问的租户,其中 true 表示读写访问,false 表示只读访问。 |
principal | 字符串 | 用户的身份验证主体(如果可用)。 |
peer_certificates | 字符串 | 与用户身份验证相关的对等证书数量。 |
sso_logout_url | 字符串 | 单点登录 (SSO) 身份验证的注销 URL(如果适用)。 |
remote_address | 字符串 | 发起请求的客户端的 IP 地址和端口。 |
请求详细响应时,会包含以下额外字段。
属性 | 数据类型 | 描述 |
---|---|---|
custom_attribute_names | 字符串数组 | 与用户关联的所有自定义属性的名称。 |
size_of_user | 字符串 | 用户对象在内存中的大小(以字节为单位)。 |
size_of_backendroles | 字符串 | 用户后端角色的大小(以字节为单位)。 |
size_of_custom_attributes | 字符串 | 用户自定义属性的大小(以字节为单位)。 |
user_requested_tenant | 字符串 | 用户请求切换到的租户名称(如果有)。 |