资源选项

资源选项是可以在 keystone 中的实体上可选设置的属性。这些选项用于控制 keystone 中的特定功能或行为。这允许基于每个资源的基础上的灵活性,而不是设置控制部署中所有资源行为的配置文件值。

这种灵活性对于设置不同用户身份验证要求的部署非常有用。例如,操作员可以使用资源选项来设置每个用户的失败身份验证尝试次数,而不是设置应用于所有用户的全局值。

本文档的目的是正式记录 keystone 中使用的受支持的资源选项,它们的预期行为以及如何使用它们。

用户选项

以下选项可在用户资源上使用。如果未定义,则假定为 false 或禁用。

这些可以在初始用户创建 (POST /v3/users) 或通过更新现有用户以包含新选项 (PATCH /v3/users/{user_id}) 来设置

{
    "user": {
        "options": {
            "ignore_lockout_failure_attempts": true
        }
    }
}

注意

类型为 Boolean 的用户选项可以设置为 TrueFalseNone;如果将选项设置为 None,则将其从用户的的数据结构中删除。

ignore_user_inactivity

类型: Boolean

选择忽略在 keystone.conf [security_compliance] 中定义的全局非活动锁定设置,基于每个用户。将此选项设置为 True 将使即使达到全局配置的非活动时间,用户也不会被设置为禁用。

{
    "user": {
        "options": {
            "ignore_user_inactivity": true
        }
    }
}

注意

为已经禁用的用户设置此选项不会自动启用它们。在为它们设置此选项为 True 后,必须手动启用这些用户。

有关更多详细信息,请参阅 安全合规文档

ignore_change_password_upon_first_use

类型: Boolean

控制用户是否应该在他们第一次登录 keystone 后立即被强制更改密码。这对于自动生成密码但希望用户在开始使用部署时选择新密码的部署非常有用。

{
    "user": {
        "options": {
            "ignore_change_password_upon_first_use": true
        }
    }
}

有关更多详细信息,请参阅 安全合规文档

ignore_password_expiry

类型: Boolean

选择忽略在 keystone.conf [security_compliance] 中定义的全局密码过期设置,基于每个用户。将此选项设置为 True 将允许用户继续使用根据全局配置值可能已过期的密码。

{
    "user": {
        "options": {
            "ignore_password_expiry": true
        }
    }
}

有关更多详细信息,请参阅 安全合规文档

ignore_lockout_failure_attempts

类型: Boolean

如果为 True,则选择忽略用户已进行身份验证的次数以及因此锁定用户。

{
    "user": {
        "options": {
            "ignore_lockout_failure_attempts": true
        }
    }
}

有关更多详细信息,请参阅 安全合规文档

lock_password

类型: Boolean

如果设置为 True,则此选项禁用用户通过自助服务 API 更改密码的能力。

{
    "user": {
        "options": {
            "lock_password": true
        }
    }
}

有关更多详细信息,请参阅 安全合规文档

multi_factor_auth_enabled

类型: Boolean

指定用户是否在其帐户上启用了多因素身份验证。这将导致身份验证时不同的行为,并且用户可能会根据多因素配置显示不同的身份验证要求。

{
    "user": {
        "options": {
            "multi_factor_auth_enabled": true
        }
    }
}

有关更多详细信息,请参阅 多因素身份验证

multi_factor_auth_rules

类型: List of Lists of Strings

定义一个字符串列表,该列表表示用户进行身份验证所需的身份验证方法。

{
    "user": {
        "options": {
            "multi_factor_auth_rules": [
                ["password", "totp"],
                ["password", "u2f"]
            ]
        }
    }
}

有关更多详细信息,请参阅 多因素身份验证

角色选项

以下选项可在角色资源上使用。如果未定义,则假定为 false 或禁用。

immutable

类型: Boolean

指定角色是否为不可变的。不可变的角色不能被删除或修改,除非删除 immutable 选项。

{
    "role": {
        "options": {
            "immutable": true
        }
    }
}

项目选项

以下选项可在项目资源上使用。如果未定义,则假定为 false 或禁用。

immutable

类型: Boolean

指定项目是否为不可变的。不可变的项目不能被删除或修改,除非删除 immutable 选项。

{
    "project": {
        "options": {
            "immutable": true
        }
    }
}

域选项

以下选项可在域资源上使用。如果未定义,则假定为 false 或禁用。

immutable

类型: Boolean

指定域是否为不可变的。不可变的域不能被删除或修改,除非删除 immutable 选项。

{
    "domain": {
        "options": {
            "immutable": true
        }
    }
}