Cause. Before an identity provider is stored, the controller reads the provider's discovery document (<issuer>/.well-known/openid-configuration). It got no valid answer, so the stored settings did not change.
Remedy.
Check the issuer URL: it is the address the provider names as its issuer, without /.well-known/....
Check that the controller reaches the provider (DNS, firewall, proxy) and trusts its TLS certificate.
Save the settings again: kyvernon users set-oidc --issuer <url> --client-id <id> --client-secret-file <file> --redirect-uri <url>.
error.identity.policy_invalid
Text in the console
The policy value {field} is out of range.
Meaning for API clients
A password or lockout policy value is out of range (field names it).
the request field with the value, for example minLength or autoUnlockIntervalSeconds.
Cause. A value of the password policy or the lockout policy is out of range. The shortest password is at least 12 characters and the longest at most 256, and not shorter than the shortest. The lockout policy counts 1 to 1000 failed logins in a window of 1 second to seven days, and lifts the lockout of an account automatically after 1 second to seven days; a lockout that only an administrator can lift is not offered.
Remedy.
Look at the current policy: kyvernon users password-policy or kyvernon users lockout-policy.
Save it again with a value in range: kyvernon users set-password-policy --min-length <n> --max-length <n> or kyvernon users set-lockout-policy --max-failed-attempts <n> --failed-attempt-interval <n> --auto-unlock-interval <n>.
error.identity.provider_privilege_in_tenant
Text in the console
Role {role} holds {privilege}, which cannot be granted inside a tenant's folders and pools.
Meaning for API clients
The role holds a provider-only privilege (Kyvernon.Firewall.ManageProvider, Kyvernon.Firewall.Bypass), which cannot be granted inside a tenant's folders and pools.
Cause. A role that holds a provider-only privilege (Kyvernon.Firewall.ManageProvider or Kyvernon.Firewall.Bypass) would apply inside the folders and resource groups of a tenant. That happens in two cases: the role is granted on an object that belongs to a tenant, or a privilege of that kind is added to a role that already applies inside a tenant. Tenants never hold provider privileges, whoever the user or group is.
Remedy.
Grant the role on an object outside the tenant: kyvernon permissions set <entity> <principal> --role <role>.
To give a tenant user firewall rights, use a role without the provider-only privileges. Roles in kyvernon roles list show their privileges.
To keep the provider privilege on a role, create a separate role for it and grant that role only outside tenants: kyvernon roles create <name> --privilege <privilege>.