14.4.2. 使用 IdM CLI 将身份验证指示符与 IdM 服务相关联
作为身份管理(IdM)管理员,您可以配置主机或服务,来要求客户端应用程序提供的服务票据包含特定的验证指标。例如,您可以确保在获取 Kerberos 票据授予票据(TGT)时,只有使用带有密码的有效的 IdM 双因素身份验证令牌的用户才能访问该主机或服务。
按照以下流程将服务配置为需要来自传入服务票据请求的特定的 Kerberos 身份验证指标。
在配置服务时,您必须使用 --auth-ind 参数指定 身份验证指标。common --auth-ind 值包括:
- otp
- 对于双因素身份验证。
- radius
- 用于 RADIUS 身份验证。
- pkinit
- 用于 PKINIT、智能卡或证书身份验证。
- hardened
- 用于强化的密码(SPAKE 或 FAST)。
先决条件
- 您已为运行在 IdM 主机上的服务创建了 IdM 服务条目。请参阅 创建 IdM 服务条目及其 Kerberos keytab。
- 您已在 IdM 中获得了管理用户的票据授予票据。
不要 将身份验证指标分配给内部 IdM 服务。以下 IdM 服务无法执行 PKINIT 和多因素身份验证方法所需的交互式身份验证步骤:
host/server.example.com@EXAMPLE.COM
HTTP/server.example.com@EXAMPLE.COM
ldap/server.example.com@EXAMPLE.COM
DNS/server.example.com@EXAMPLE.COM
cifs/server.example.com@EXAMPLE.COM
流程
使用
ipa service-mod命令为服务指定一个或多个所需的身份验证指标,用--auth-ind参数标识。例如,要求用户通过智能卡或 OTP 身份验证来检索主机
client.example.com上testservice主体的服务票据:[root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind otp --auth-ind pkinit ------------------------------------------------------------- Modified service "testservice/client.example.com@EXAMPLE.COM" ------------------------------------------------------------- Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Authentication Indicators: otp, pkinit Managed by: client.example.com要从服务中删除所有验证指标,请提供一个空的指标列表:
[root@server ~]# ipa service-mod testservice/client.example.com@EXAMPLE.COM --auth-ind '' ------------------------------------------------------ Modified service "testservice/client.example.com@EXAMPLE.COM" ------------------------------------------------------ Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Managed by: client.example.com
验证
使用
ipa service-show命令显示关于 IdM 服务的信息,包括其所需的身份验证指标。[root@server ~]# ipa service-show testservice/client.example.com Principal name: testservice/client.example.com@EXAMPLE.COM Principal alias: testservice/client.example.com@EXAMPLE.COM Authentication Indicators: otp, pkinit Keytab: True Managed by: client.example.com