时基用户帐户到期
Time base user account expiration
我们正在使用 CloudFoundry UAA 进行用户身份验证,authorization.As 据我了解,我们可以将用户设置为活动用户,inactive.But 我们需要在给定 time.How 我们可以使用UAA 实现时基用户帐户到期吗?
它可能不是您要查找的内容,但您可以为此目的使用密码过期功能。它允许为属于特定区域的所有用户设置以月为单位的到期时间,这意味着最小的时间段为一个月。
如果您向自己展示区域的身份提供者,您将在配置中找到 'expirePasswordInMonths' 属性:
{
"type": "uaa",
"config": "{\"emailDomain\":null,\"additionalConfiguration\":null,\"providerDescription\":null,\"passwordPolicy\":{\"minLength\":0,\"maxLength\":255,\"requireUpperCaseCharacter\":0,\"requireLowerCaseCharacter\":0,\"requireDigit\":0,\"requireSpecialCharacter\":0,\"expirePasswordInMonths\":1},\"lockoutPolicy\":{\"lockoutPeriodSeconds\":300,\"lockoutAfterFailures\":5,\"countFailuresWithin\":3600},\"disableInternalUserManagement\":false}",
"id": "fe5d0b8d-4d65-4090-b65a-3c17682bec7e",
"originKey": "uaa",
"name": "uaa",
"version": 2,
"created": 946684800000,
"last_modified": 1473569982108,
"active": true,
"identityZoneId": "uaa"
}
这是需要更改的属性。但令人惊讶的是,到达那里并不那么容易。
首先,您必须获得具有两个附加范围的访问令牌:“zones.read”和“zones.{zone id}.admin”,其中 {zone id} 是区域名称 - 'uaa'对于默认值。
例如,如果您在名为“admin”的客户端上使用 uaac,您可以这样添加范围:
$ uaac client update admin --authorities "EXISTING-PERMISSIONS zones.read zones.uaa.admin"
记得在更改权限后更新访问令牌:
$ uaac token client get admin -s <password_here>
一旦我们拥有所有必需的权限,我们就可以使用“curl”子命令更新密码策略:
uaac curl -k /identity-providers/fe5d0b8d-4d65-4090-b65a-3c17682bec7e -X PUT -H "Content-Type: application/json" \
-d '{ "type": "uaa", "config": "{\"emailDomain\":null,\"additionalConfiguration\":null,\"providerDescription\":null,\"passwordPolicy\":{\"minLength\":0,\"maxLength\":255,\"requireUpperCaseCharacter\":0,\"requireLowerCaseCharacter\":0,\"requireDigit\":0,\"requireSpecialCharacter\":0,\"expirePasswordInMonths\":1},\"lockoutPolicy\":{\"lockoutPeriodSeconds\":300,\"lockoutAfterFailures\":5,\"countFailuresWithin\":3600},\"disableInternalUserManagement\":false}", "id": "fe5d0b8d-4d65-4090-b65a-3c17682bec7e", "originKey": "uaa", "name": "uaa", "version": 2, "created": 946684800000, "last_modified": 1473569982108, "active": true, "identityZoneId": "uaa"}'
我知道,这有点麻烦,这可能就是为什么在 Pivotal 版本的 Cloudfoundry 中,您会得到一个很好的 Web 表单来管理密码策略:
https://docs.pivotal.io/pivotalcf/1-7/opsguide/pw-policy.html
请记住,此功能仅在使用 ‘internal’ 身份提供商时可用。另一方面,如果您的 UAA 依赖于 LDAP 等外部身份验证源,您可能需要使用另一种特定于该外部系统的机制。
UAA 文档中有关身份提供者管理的更多信息:
我们正在使用 CloudFoundry UAA 进行用户身份验证,authorization.As 据我了解,我们可以将用户设置为活动用户,inactive.But 我们需要在给定 time.How 我们可以使用UAA 实现时基用户帐户到期吗?
它可能不是您要查找的内容,但您可以为此目的使用密码过期功能。它允许为属于特定区域的所有用户设置以月为单位的到期时间,这意味着最小的时间段为一个月。
如果您向自己展示区域的身份提供者,您将在配置中找到 'expirePasswordInMonths' 属性:
{
"type": "uaa",
"config": "{\"emailDomain\":null,\"additionalConfiguration\":null,\"providerDescription\":null,\"passwordPolicy\":{\"minLength\":0,\"maxLength\":255,\"requireUpperCaseCharacter\":0,\"requireLowerCaseCharacter\":0,\"requireDigit\":0,\"requireSpecialCharacter\":0,\"expirePasswordInMonths\":1},\"lockoutPolicy\":{\"lockoutPeriodSeconds\":300,\"lockoutAfterFailures\":5,\"countFailuresWithin\":3600},\"disableInternalUserManagement\":false}",
"id": "fe5d0b8d-4d65-4090-b65a-3c17682bec7e",
"originKey": "uaa",
"name": "uaa",
"version": 2,
"created": 946684800000,
"last_modified": 1473569982108,
"active": true,
"identityZoneId": "uaa"
}
这是需要更改的属性。但令人惊讶的是,到达那里并不那么容易。
首先,您必须获得具有两个附加范围的访问令牌:“zones.read”和“zones.{zone id}.admin”,其中 {zone id} 是区域名称 - 'uaa'对于默认值。
例如,如果您在名为“admin”的客户端上使用 uaac,您可以这样添加范围:
$ uaac client update admin --authorities "EXISTING-PERMISSIONS zones.read zones.uaa.admin"
记得在更改权限后更新访问令牌:
$ uaac token client get admin -s <password_here>
一旦我们拥有所有必需的权限,我们就可以使用“curl”子命令更新密码策略:
uaac curl -k /identity-providers/fe5d0b8d-4d65-4090-b65a-3c17682bec7e -X PUT -H "Content-Type: application/json" \
-d '{ "type": "uaa", "config": "{\"emailDomain\":null,\"additionalConfiguration\":null,\"providerDescription\":null,\"passwordPolicy\":{\"minLength\":0,\"maxLength\":255,\"requireUpperCaseCharacter\":0,\"requireLowerCaseCharacter\":0,\"requireDigit\":0,\"requireSpecialCharacter\":0,\"expirePasswordInMonths\":1},\"lockoutPolicy\":{\"lockoutPeriodSeconds\":300,\"lockoutAfterFailures\":5,\"countFailuresWithin\":3600},\"disableInternalUserManagement\":false}", "id": "fe5d0b8d-4d65-4090-b65a-3c17682bec7e", "originKey": "uaa", "name": "uaa", "version": 2, "created": 946684800000, "last_modified": 1473569982108, "active": true, "identityZoneId": "uaa"}'
我知道,这有点麻烦,这可能就是为什么在 Pivotal 版本的 Cloudfoundry 中,您会得到一个很好的 Web 表单来管理密码策略:
https://docs.pivotal.io/pivotalcf/1-7/opsguide/pw-policy.html
请记住,此功能仅在使用 ‘internal’ 身份提供商时可用。另一方面,如果您的 UAA 依赖于 LDAP 等外部身份验证源,您可能需要使用另一种特定于该外部系统的机制。
UAA 文档中有关身份提供者管理的更多信息: