chore: Service Account Naming Consistency (#11557)

# Which Problems Are Solved

Inconsistent naming of service account, found in the following
variations:

  - Machine User
  - machine user
  - Service User
  - Machine Account
  - Technical Account
  - User: Type Machine

# How the Problems Are Solved

Attentive search and replace.

Localizations have been translated using Copilot

# Additional Changes

Some unused methods have been removed from the Go code.

# Additional Context

- Closes #11285

(cherry picked from commit 382aec2d61)
This commit is contained in:
Marco A. authored and Livio Spring committed 2026-02-27 09:55:22 +01:00
1 parent c54838305a
commit 92ca6bc858
56 files changed
+200 -214

No files matched your search

+5 -5
View File
@@ -2,12 +2,12 @@ declare namespace NodeJS {
interface ProcessEnv {
// Allow any environment variable that matches the pattern
[key: `${string}_AUDIENCE`]: string; // The system api url
[key: `${string}_SYSTEM_USER_ID`]: string; // The service user id
[key: `${string}_SYSTEM_USER_PRIVATE_KEY`]: string; // The service user private key
[key: `${string}_SYSTEM_USER_ID`]: string; // The service account id
[key: `${string}_SYSTEM_USER_PRIVATE_KEY`]: string; // The service account private key
AUDIENCE: string; // The fallback system api url
SYSTEM_USER_ID: string; // The fallback service user id
SYSTEM_USER_PRIVATE_KEY: string; // The fallback service user private key
SYSTEM_USER_ID: string; // The fallback service account id
SYSTEM_USER_PRIVATE_KEY: string; // The fallback service account private key
/**
* The Zitadel API url
@@ -15,7 +15,7 @@ declare namespace NodeJS {
ZITADEL_API_URL: string;
/**
* The service user token
* The service account token
* If ZITADEL_SERVICE_USER_TOKEN is set, its value is used.
* If ZITADEL_SERVICE_USER_TOKEN is not set but ZITADEL_SERVICE_USER_TOKEN_FILE is set, the application blocks until the file is created.
* As soon as the file exists, its content is read and ZITADEL_SERVICE_USER_TOKEN is set.
+1 -1
View File
@@ -15,7 +15,7 @@ export function hasSystemUserCredentials(): boolean {
}
/**
* Checks if service user token is available for authentication.
* Checks if service account token is available for authentication.
*
* @returns true if ZITADEL_SERVICE_USER_TOKEN is present, false otherwise
*/
+2 -2
View File
@@ -23,11 +23,11 @@ export async function createServiceForHost<T extends ServiceClass>(service: T, s
let token;
// Determine authentication method based on available credentials
// Prefer system user JWT if available, fallback to service user token
// Prefer system user JWT if available, fallback to service account token
if (hasSystemUserCredentials()) {
token = await systemAPIToken();
} else if (hasServiceUserToken()) {
// Use service user token authentication (self-hosted)
// Use service account token authentication (self-hosted)
token = process.env.ZITADEL_SERVICE_USER_TOKEN;
} else {
throw new Error(
+3 -3
View File
@@ -53,7 +53,7 @@ Before you run the tests you need an initialized user. The tests don't implement
setup: creates human users
test: creates new sessions with user id check
* `make oidc_session`
setup: creates a machine user to create the auth request and session.
setup: creates a service account to create the auth request and session.
test: creates an auth request, a session and links the session to the auth request. Implementation of [this flow](https://zitadel.com/docs/guides/integrate/login-ui/oidc-standard).
* `make otp_session`
setup: creates 1 human user for each VU and adds OTP Email to it
@@ -62,10 +62,10 @@ Before you run the tests you need an initialized user. The tests don't implement
setup: creates 1 human user for each VU and adds OTP Email to it
test: creates a session based on the login name of the user and checks for the password on a second step
* `make machine_jwt_profile_grant`
setup: generates private/public key, creates machine users, adds a key
setup: generates private/public key, creates service accounts, adds a key
test: creates a token and calls user info
* `make machine_jwt_profile_grant_single_user`
setup: generates private/public key, creates machine user, adds a key
setup: generates private/public key, creates service account, adds a key
test: creates a token and calls user info in parallel for the same user
* `make users_by_metadata_key`
setup: creates for half of the VUS a human user and a machine for the other half, adds 3 metadata to each user
+3 -3
View File
@@ -856,7 +856,7 @@ SystemDefaults:
# - "scrypt"
# - "pbkdf2" # verifier for all pbkdf2 hash modes.
SecretHasher:
# Set hasher configuration for machine users, API and OIDC client secrets.
# Set hasher configuration for service accounts, API and OIDC client secrets.
Hasher:
# Supported algorithms: "argon2i", "argon2id", "bcrypt", "scrypt", "pbkdf2"
# Depending on the algorithm, different configuration options take effect.
@@ -975,7 +975,7 @@ DefaultInstance:
Org:
Name: ZITADEL # ZITADEL_DEFAULTINSTANCE_ORG_NAME
# In the DefaultInstance.Org.Human section, the initial organization's admin user with the role IAM_OWNER is defined.
# If DefaultInstance.Org.Machine.Machine is defined, a service user is created with the IAM_OWNER role.
# If DefaultInstance.Org.Machine.Machine is defined, a service account is created with the IAM_OWNER role.
Human:
# In case that UserLoginMustBeDomain is false (default) and if you don't overwrite the username with an email,
# it will be suffixed by the org domain (org-name + domain from config).
@@ -995,7 +995,7 @@ DefaultInstance:
Verified: # ZITADEL_DEFAULTINSTANCE_ORG_HUMAN_PHONE_VERIFIED
Password: # ZITADEL_DEFAULTINSTANCE_ORG_HUMAN_PASSWORD
# In the DefaultInstance.Org.Machine section, the initial organization's admin user with the role IAM_OWNER is defined.
# If DefaultInstance.Org.Machine.Machine is defined, a service user is created with the IAM_OWNER role.
# If DefaultInstance.Org.Machine.Machine is defined, a service account is created with the IAM_OWNER role.
Machine:
Machine:
Username: # ZITADEL_DEFAULTINSTANCE_ORG_MACHINE_MACHINE_USERNAME
+1 -1
View File
@@ -38,7 +38,7 @@ BEGIN
RETURN;
END IF;
-- if human/machine user
-- if human/service account
DECLARE
matched_roles TEXT[] := eventstore.find_roles(req_instance_id, perm);
BEGIN
+1 -1
View File
@@ -29,7 +29,7 @@ BEGIN
RETURN;
END IF;
-- if human/machine user
-- if human/service account
SELECT * FROM eventstore.permitted_orgs(
req_instance_id
, auth_user_id
+2 -2
View File
@@ -125,7 +125,7 @@ FirstInstance:
Org:
Name: ZITADEL # ZITADEL_FIRSTINSTANCE_ORG_NAME
# In the FirstInstance.Org.Human section, the initial organization's admin user with the role IAM_OWNER is defined.
# If FirstInstance.Org.Machine.Machine is defined, a service user is created with the IAM_OWNER role.
# If FirstInstance.Org.Machine.Machine is defined, a service account is created with the IAM_OWNER role.
Human:
# In case UserLoginMustBeDomain is false (default) and you don't overwrite the username with an email,
# it will be suffixed by the org domain (org-name + domain from config).
@@ -147,7 +147,7 @@ FirstInstance:
Password: Password1! # ZITADEL_FIRSTINSTANCE_ORG_HUMAN_PASSWORD
PasswordChangeRequired: true # ZITADEL_FIRSTINSTANCE_ORG_HUMAN_PASSWORDCHANGEREQUIRED
# In the FirstInstance.Org.Machine section, the initial organization's admin user with the role IAM_OWNER is defined.
# If FirstInstance.Org.Machine.Machine is defined, a service user is created with the IAM_OWNER role.
# If FirstInstance.Org.Machine.Machine is defined, a service account is created with the IAM_OWNER role.
Machine:
Machine:
Username: # ZITADEL_FIRSTINSTANCE_ORG_MACHINE_MACHINE_USERNAME
+6 -6
View File
@@ -53,9 +53,9 @@
"METADATA": "أضف سمات مخصصة للمستخدم مثل القسم. يمكنك استخدام هذه المعلومات في إجراءاتك."
},
"MACHINES": {
"TITLE": "مستخدمو الخدمة",
"DESCRIPTION": "يقوم مستخدمو الخدمة بالمصادقة بشكل غير تفاعلي باستخدام رمز JWT موقّع بمفتاح خاص. يمكنهم أيضاً استخدام رمز وصول شخصي.",
"METADATA": "أضف سمات مخصصة للمستخدم مثل نظام المصادقة. يمكنك استخدام هذه المعلومات في إجراءاتك."
"TITLE": "حسابات الخدمة",
"DESCRIPTION": "تقوم حسابات الخدمة بالمصادقة بشكل غير تفاعلي باستخدام رمز JWT موقّع بمفتاح خاص. يمكنها أيضاً استخدام رمز وصول شخصي.",
"METADATA": "أضف سمات مخصصة للحساب مثل نظام المصادقة. يمكنك استخدام هذه المعلومات في إجراءاتك."
},
"SELF": {
"METADATA": "أضف سمات مخصصة للمستخدم الخاص بك مثل قسمك. يمكنك استخدام هذه المعلومات في إجراءات مؤسستك."
@@ -424,7 +424,7 @@
"ROLES": "الأدوار",
"GRANTEDPROJECT": "المشاريع الممنوحة",
"HUMANUSERS": "المستخدمون",
"MACHINEUSERS": "مستخدمو الخدمة",
"MACHINEUSERS": "حسابات الخدمة",
"LOGOUT": "تسجيل خروج جميع المستخدمين",
"NEWORG": "منظمة جديدة",
"IAMADMIN": "أنت مسؤول instance. لاحظ أن لديك أذونات موسعة.",
@@ -983,7 +983,7 @@
"COUNTRY": "الدولة"
},
"MACHINE": {
"TITLE": "تفاصيل مستخدم الخدمة",
"TITLE": "تفاصيل حساب الخدمة",
"USERNAME": "اسم المستخدم",
"NAME": "الاسم",
"DESCRIPTION": "الوصف",
@@ -1145,7 +1145,7 @@
"SELECTEDDEACTIVATED": "تم تعطيل المستخدمين المحددين.",
"SELECTEDKEYSDELETED": "تم حذف المفاتيح المحددة.",
"KEYADDED": "تمت إضافة المفتاح!",
"MACHINEADDED": "تم إنشاء مستخدم الخدمة!",
"MACHINEADDED": "تم إنشاء حساب الخدمة!",
"DELETED": "تم حذف المستخدم بنجاح!",
"UNLOCKED": "تم فتح قفل المستخدم بنجاح!",
"PASSWORDLESSREGISTRATIONSENT": "تم إرسال رابط التسجيل بنجاح.",
+6 -6
View File
@@ -53,9 +53,9 @@
"METADATA": "Добавете персонализирани атрибути към потребителя, като отдела. Можете да използвате тази информация във вашите действия."
},
"MACHINES": {
"TITLE": "потребители на услугата",
"DESCRIPTION": "Потребителите на услугата се удостоверяват неинтерактивно, като използват JWT носител, подписан с частен ключ. Те могат също да използват личен маркер за достъп.",
"METADATA": "Добавете персонализирани атрибути към потребителя, като системата за удостоверяване. Можете да използвате тази информация във вашите действия."
"TITLE": "сметки на услугата",
"DESCRIPTION": "Сметките на услугата се удостоверяват неинтерактивно, като използват JWT носител, подписан с частен ключ. Те могат също да използват личен маркер за достъп.",
"METADATA": "Добавете персонализирани атрибути към сметката, като системата за удостоверяване. Можете да използвате тази информация във вашите действия."
},
"SELF": {
"METADATA": "Добавете персонализирани атрибути към вашия потребител, като вашето отделение. Можете да използвате тази информация в действията на вашите организации."
@@ -424,7 +424,7 @@
"ROLES": "Роли",
"GRANTEDPROJECT": "Предоставени проекти",
"HUMANUSERS": "Потребители",
"MACHINEUSERS": "Потребители на услугата",
"MACHINEUSERS": "Сметки на услугата",
"LOGOUT": "Излезте всички потребители",
"NEWORG": "Нова организация",
"IAMADMIN": "Вие сте инстанс администратор. ",
@@ -989,7 +989,7 @@
"COUNTRY": "Държава"
},
"MACHINE": {
"TITLE": "Подробности за потребителя на услугата",
"TITLE": "Подробности за сметката на услугата",
"USERNAME": "Потребителско име",
"NAME": "Име",
"DESCRIPTION": "Описание",
@@ -1151,7 +1151,7 @@
"SELECTEDDEACTIVATED": "Избраните потребители са деактивирани.",
"SELECTEDKEYSDELETED": "Избраните ключове са изтрити.",
"KEYADDED": "Ключът е добавен!",
"MACHINEADDED": "Потребител на услугата е създаден!",
"MACHINEADDED": "Сметката на услугата е създадена!",
"DELETED": "Потребителят е изтрит успешно!",
"UNLOCKED": "Потребителят е отключен успешно!",
"PASSWORDLESSREGISTRATIONSENT": "Линкът за регистрация е изпратен успешно.",
+5 -5
View File
@@ -53,9 +53,9 @@
"METADATA": "Přidejte vlastní atributy k uživateli, jako je oddělení. Tyto informace můžete využít ve vašich akcích."
},
"MACHINES": {
"TITLE": "Uživatelé služby",
"DESCRIPTION": "Uživatelé služby se ověřují neinteraktivně pomocí tokenu nosiče JWT podepsaného soukromým klíčem. Mohou také použít osobní přístupový token.",
"METADATA": "Přidejte vlastní atributy k uživateli, jako je autentizační systém. Tyto informace můžete využít ve vašich akcích."
"TITLE": "Servisní účty",
"DESCRIPTION": "Servisní účty se ověřují neinteraktivně pomocí tokenu nosiče JWT podepsaného soukromým klíčem. Mohou také použít osobní přístupový token.",
"METADATA": "Přidejte vlastní atributy k účtu, jako je autentizační systém. Tyto informace můžete využít ve vašich akcích."
},
"SELF": {
"METADATA": "Přidejte vlastní atributy k vašemu uživateli, jako je vaše oddělení. Tyto informace můžete využít v akcích vaší organizace."
@@ -424,7 +424,7 @@
"ROLES": "Role",
"GRANTEDPROJECT": "Pověřené projekty",
"HUMANUSERS": "Uživatelé",
"MACHINEUSERS": "Systémoví uživatelé",
"MACHINEUSERS": "Servisní účty",
"LOGOUT": "Odhlásit všechny uživatele",
"NEWORG": "Nová organizace",
"IAMADMIN": "Jste administrátor instance. Vezměte prosím na vědomí, že máte rozšířená oprávnění.",
@@ -990,7 +990,7 @@
"COUNTRY": "Země"
},
"MACHINE": {
"TITLE": "Detaily systémového uživatele",
"TITLE": "Detaily servisního účtu",
"USERNAME": "Uživatelské jméno",
"NAME": "Název",
"DESCRIPTION": "Popis",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Füge dem Benutzer benutzerdefinierte Attribute hinzu, wie die Abteilung. Du kannst diese Informationen in den Aktionen nutzen."
},
"MACHINES": {
"TITLE": "Service-Benutzer",
"DESCRIPTION": "Service-Benutzer authentifizieren sich nicht-interaktiv mit einem JWT Bearer-Token, welches mit einem privaten Schlüssel signiert ist. Sie können auch ein persönliches Zugangstoken verwenden.",
"METADATA": "Füge dem Benutzer benutzerdefinierte Attribute hinzu, wie das authentifizierende System. Du kannst diese Informationen in den Aktionen nutzen."
"TITLE": "Servicekonten",
"DESCRIPTION": "Servicekonten authentifizieren sich nicht-interaktiv mit einem JWT Bearer-Token, welches mit einem privaten Schlüssel signiert ist. Sie können auch ein persönliches Zugangstoken verwenden.",
"METADATA": "Füge dem Konto benutzerdefinierte Attribute hinzu, wie das authentifizierende System. Du kannst diese Informationen in den Aktionen nutzen."
},
"SELF": {
"METADATA": "Füge deinem Benutzer benutzerdefinierte Attribute hinzu, wie deine Abteilung. Du kannst diese Informationen in den Aktionen deiner Organisation nutzen."
@@ -424,7 +424,7 @@
"ROLES": "Rollen",
"GRANTEDPROJECT": "Berechtigte Projekte",
"HUMANUSERS": "Benutzer",
"MACHINEUSERS": "Service-Benutzer",
"MACHINEUSERS": "Servicekonten",
"LOGOUT": "Alle Benutzer abmelden",
"NEWORG": "Neue Organisation",
"IAMADMIN": "Du bist ein Instanz-Administrator. Beachte, dass Du erhöhte Rechte besitzt.",
@@ -990,8 +990,8 @@
"COUNTRY": "Land"
},
"MACHINE": {
"TITLE": "Details Service-Benutzer",
"USERNAME": "Benutzername",
"TITLE": "Details Servicekonto",
"USERNAME": "Kontoname",
"NAME": "Name",
"DESCRIPTION": "Beschreibung",
"KEYSTITLE": "Schlüssel",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Selektierte Benutzer deaktiviert.",
"SELECTEDKEYSDELETED": "Selektierte Schlüssel gelöscht.",
"KEYADDED": "Schlüssel hinzugefügt!",
"MACHINEADDED": "Service-Benutzer erstellt!",
"MACHINEADDED": "Servicekonto erstellt!",
"DELETED": "Benutzer erfolgreich gelöscht!",
"UNLOCKED": "Benutzer erfolgreich freigeschaltet!",
"PASSWORDLESSREGISTRATIONSENT": "Passkey Registrierungslink via E-Mail versendet.",
+6 -6
View File
@@ -53,9 +53,9 @@
"METADATA": "Add custom attributes to the user like the department. You can use this information in your actions."
},
"MACHINES": {
"TITLE": "Service Users",
"DESCRIPTION": "Service Users authenticate non-interactively using a JWT bearer token signed with a private key. They can also use a personal access token.",
"METADATA": "Add custom attributes to the user like the authenticating system. You can use this information in your actions."
"TITLE": "Service Accounts",
"DESCRIPTION": "Service Accounts authenticate non-interactively using a JWT bearer token signed with a private key. They can also use a personal access token.",
"METADATA": "Add custom attributes to the account like the authenticating system. You can use this information in your actions."
},
"SELF": {
"METADATA": "Add custom attributes to your user like your department. You can use this information in your organizations actions."
@@ -424,7 +424,7 @@
"ROLES": "Roles",
"GRANTEDPROJECT": "Granted Projects",
"HUMANUSERS": "Users",
"MACHINEUSERS": "Service Users",
"MACHINEUSERS": "Service Accounts",
"LOGOUT": "Logout All Users",
"NEWORG": "New Organization",
"IAMADMIN": "You are an IAM Administrator. Note that you have extended permissions.",
@@ -991,7 +991,7 @@
"COUNTRY": "Country"
},
"MACHINE": {
"TITLE": "Service User Details",
"TITLE": "Service Account Details",
"USERNAME": "User Name",
"NAME": "Name",
"DESCRIPTION": "Description",
@@ -1153,7 +1153,7 @@
"SELECTEDDEACTIVATED": "Selected users deactivated.",
"SELECTEDKEYSDELETED": "Selected keys deleted.",
"KEYADDED": "Key added!",
"MACHINEADDED": "Service User created!",
"MACHINEADDED": "Service Account created!",
"DELETED": "User deleted successfully!",
"UNLOCKED": "User unlocked successfully!",
"PASSWORDLESSREGISTRATIONSENT": "Registration Link sent successfully.",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Añade atributos personalizados al usuario como el departamento. Puedes usar esta información en tus acciones."
},
"MACHINES": {
"TITLE": "Usuarios del servicio",
"DESCRIPTION": "Los Usuarios del servicio se autentican de manera no interactiva usando un token portador JWT firmado con una clave privada. También pueden usar un token de acceso personal.",
"METADATA": "Añade atributos personalizados al usuario como el sistema autenticador. Puedes usar esta información en tus acciones."
"TITLE": "Cuentas de servicio",
"DESCRIPTION": "Las cuentas de servicio se autentican de manera no interactiva usando un token portador JWT firmado con una clave privada. También pueden usar un token de acceso personal.",
"METADATA": "Añade atributos personalizados a la cuenta como el sistema autenticador. Puedes usar esta información en tus acciones."
},
"SELF": {
"METADATA": "Añade atributos personalizados a tu usuario como tu departamento. Puedes usar esta información en las acciones de tu organización."
@@ -424,7 +424,7 @@
"ROLES": "Roles",
"GRANTEDPROJECT": "Proyecto concedido",
"HUMANUSERS": "Usuarios",
"MACHINEUSERS": "Usuarios del servicio",
"MACHINEUSERS": "Cuentas de servicio",
"LOGOUT": "Cerrar sesión para todos los usuarios",
"NEWORG": "Nueva organización",
"IAMADMIN": "Eres un administrador instancia. Ten en cuenta que tienes permisos ampliados.",
@@ -990,8 +990,8 @@
"COUNTRY": "País"
},
"MACHINE": {
"TITLE": "Detalles del usuario del servicio",
"USERNAME": "Nombre de usuario",
"TITLE": "Detalles de la cuenta de servicio",
"USERNAME": "Nombre de la cuenta",
"NAME": "Nombre",
"DESCRIPTION": "Descripción",
"KEYSTITLE": "Claves",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Se desactivaron los usuarios seleccionados.",
"SELECTEDKEYSDELETED": "Se borraron las claves seleccionadas.",
"KEYADDED": "¡Clave añadida!",
"MACHINEADDED": "¡Creado servicio de usuario!",
"MACHINEADDED": "¡Cuenta de servicio creada!",
"DELETED": "¡El usuario se borró con éxito!",
"UNLOCKED": "¡El usuario se desbloqueó con éxito!",
"PASSWORDLESSREGISTRATIONSENT": "Enviado con éxito un enlace de registro.",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Ajoutez des attributs personnalisés à l'utilisateur comme le département. Vous pouvez utiliser cette information dans vos actions."
},
"MACHINES": {
"TITLE": "Utilisateurs des services",
"DESCRIPTION": "Les utilisateurs des services s'authentifient de manière non interactive en utilisant un token porteur JWT signé avec une clé privée. Elles peuvent également utiliser un token d'accès personnel.",
"METADATA": "Ajoute des attributs personnalisés à l'utilisateur comme le système d'authentification. Vous pouvez utiliser cette information dans vos actions."
"TITLE": "Comptes de service",
"DESCRIPTION": "Les comptes de service s'authentifient de manière non interactive en utilisant un token porteur JWT signé avec une clé privée. Elles peuvent également utiliser un token d'accès personnel.",
"METADATA": "Ajoute des attributs personnalisés au compte comme le système d'authentification. Vous pouvez utiliser cette information dans vos actions."
},
"SELF": {
"METADATA": "Ajoutez des attributs personnalisés à votre utilisateur comme votre département. Vous pouvez utiliser cette information dans les actions de votre organisation."
@@ -424,7 +424,7 @@
"ROLES": "Rôles",
"GRANTEDPROJECT": "Projets octroyés",
"HUMANUSERS": "Utilisateurs",
"MACHINEUSERS": "Utilisateurs de services",
"MACHINEUSERS": "Comptes de service",
"LOGOUT": "Déconnexion de tous les utilisateurs",
"NEWORG": "Nouvelle organisation",
"IAMADMIN": "Vous êtes un administrateur d'instance. Notez que vous disposez de permissions étendues.",
@@ -990,8 +990,8 @@
"COUNTRY": "Pays"
},
"MACHINE": {
"TITLE": "Détails de l'utilisateur du service",
"USERNAME": "Nom de l'utilisateur",
"TITLE": "Détails du compte de service",
"USERNAME": "Nom du compte",
"NAME": "Nom",
"DESCRIPTION": "Description",
"KEYSTITLE": "Clés",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Utilisateurs sélectionnés désactivés.",
"SELECTEDKEYSDELETED": "Clés sélectionnées supprimées.",
"KEYADDED": "Clé ajoutée !",
"MACHINEADDED": "Utilisateur de service créé !",
"MACHINEADDED": "Compte de service créé !",
"DELETED": "Utilisateur supprimé avec succès !",
"UNLOCKED": "Utilisateur déverrouillé avec succès !",
"PASSWORDLESSREGISTRATIONSENT": "Lien d'enregistrement envoyé avec succès.",
+5 -5
View File
@@ -53,9 +53,9 @@
"METADATA": "Adj hozzá egyéni attribútumokat a felhasználóhoz, mint például az osztály. Ezt az információt felhasználhatod a műveleteid során."
},
"MACHINES": {
"TITLE": "Szolgáltatásfelhasználók",
"DESCRIPTION": "A szolgáltatásfelhasználók nem interaktívan hitelesítik magukat egy privát kulccsal aláírt JWT hordozó tokennel. Személyes hozzáférési tokent is használhatnak.",
"METADATA": "Adj hozzá egyéni attribútumokat a felhasználóhoz, mint például a hitelesítő rendszer. Ezt az információt felhasználhatod a műveleteid során."
"TITLE": "Szolgáltatásfiók",
"DESCRIPTION": "A szolgáltatásfiókok nem interaktívan hitelesítik magukat egy privát kulccsal aláírt JWT hordozó tokennel. Személyes hozzáférési tokent is használhatnak.",
"METADATA": "Adj hozzá egyéni attribútumokat a fiókhoz, mint például a hitelesítő rendszer. Ezt az információt felhasználhatod a műveleteid során."
},
"SELF": {
"METADATA": "Adj hozzá egyéni attribútumokat a felhasználódhoz, mint például az osztályod. Ezt az információt felhasználhatod a szervezeted műveleteiben."
@@ -424,7 +424,7 @@
"ROLES": "Szerepkörök",
"GRANTEDPROJECT": "Megadott Projektek",
"HUMANUSERS": "Felhasználók",
"MACHINEUSERS": "Szolgáltatási Felhasználók",
"MACHINEUSERS": "Szolgáltatásfiók",
"LOGOUT": "Minden Felhasználó Kijelentkezése",
"NEWORG": "Új Szervezet",
"IAMADMIN": "Te egy példány Adminisztrátor vagy. Ne felejtsd el, hogy kibővített jogosultságokkal rendelkezel.",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "A kiválasztott felhasználók deaktiválva.",
"SELECTEDKEYSDELETED": "A kiválasztott kulcsok törölve.",
"KEYADDED": "Kulcs hozzáadva!",
"MACHINEADDED": "Service User létrehozva!",
"MACHINEADDED": "Szolgáltatásfiók létrehozva!",
"DELETED": "A felhasználó sikeresen törölve!",
"UNLOCKED": "A felhasználó sikeresen feloldva!",
"PASSWORDLESSREGISTRATIONSENT": "A Passkey regisztrációs link sikeresen elküldve.",
+5 -5
View File
@@ -53,8 +53,8 @@
"METADATA": "Tambahkan atribut khusus ke pengguna seperti departemen. Anda dapat menggunakan informasi ini dalam tindakan Anda."
},
"MACHINES": {
"TITLE": "Pengguna Layanan",
"DESCRIPTION": "Pengguna Layanan mengautentikasi secara non-interaktif menggunakan token pembawa JWT yang ditandatangani dengan kunci pribadi. Mereka juga dapat menggunakan token akses pribadi.",
"TITLE": "Akun Layanan",
"DESCRIPTION": "Akun Layanan mengautentikasi secara non-interaktif menggunakan token pembawa JWT yang ditandatangani dengan kunci pribadi. Mereka juga dapat menggunakan token akses pribadi.",
"METADATA": "Tambahkan atribut khusus kepada pengguna seperti sistem autentikasi. Anda dapat menggunakan informasi ini dalam tindakan Anda."
},
"SELF": {
@@ -424,7 +424,7 @@
"ROLES": "Peran",
"GRANTEDPROJECT": "Proyek yang Diberikan",
"HUMANUSERS": "Pengguna",
"MACHINEUSERS": "Pengguna Layanan",
"MACHINEUSERS": "Akun Layanan",
"LOGOUT": "Logout Semua Pengguna",
"NEWORG": "Organisasi Baru",
"IAMADMIN": "Anda adalah Administrator instance. Perhatikan bahwa Anda memiliki izin yang diperluas.",
@@ -990,7 +990,7 @@
"COUNTRY": "Negara"
},
"MACHINE": {
"TITLE": "Detail Pengguna Layanan",
"TITLE": "Detail Akun Layanan",
"USERNAME": "Nama belakang",
"NAME": "Nama",
"DESCRIPTION": "Keterangan",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Pengguna terpilih dinonaktifkan.",
"SELECTEDKEYSDELETED": "Kunci yang dipilih dihapus.",
"KEYADDED": "Kunci ditambahkan!",
"MACHINEADDED": "Pengguna Layanan dibuat!",
"MACHINEADDED": "Akun Layanan dibuat!",
"DELETED": "Pengguna berhasil dihapus!",
"UNLOCKED": "Pengguna berhasil membuka kuncinya!",
"PASSWORDLESSREGISTRATIONSENT": "Tautan Pendaftaran berhasil dikirim.",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Aggiungi attributi personalizzati all'utente come il dipartimento. Puoi utilizzare queste informazioni nelle tue azioni."
},
"MACHINES": {
"TITLE": "Utenti di servizio",
"DESCRIPTION": "Utenti di servizio si autenticano in modo non interattivo utilizzando un token JWT firmato con una chiave privata. Possono anche utilizzare un token di accesso personale.",
"METADATA": "Aggiungi attributi personalizzati all'utente come il sistema di autenticazione. Puoi utilizzare queste informazioni nelle tue azioni."
"TITLE": "Account di servizio",
"DESCRIPTION": "Gli account di servizio si autenticano in modo non interattivo utilizzando un token JWT firmato con una chiave privata. Possono anche utilizzare un token di accesso personale.",
"METADATA": "Aggiungi attributi personalizzati all'account come il sistema di autenticazione. Puoi utilizzare queste informazioni nelle tue azioni."
},
"SELF": {
"METADATA": "Aggiungi attributi personalizzati al tuo utente come il tuo dipartimento. Puoi utilizzare queste informazioni nelle azioni della tua organizzazione."
@@ -424,7 +424,7 @@
"ROLES": "Ruoli",
"GRANTEDPROJECT": "Progetto delegato",
"HUMANUSERS": "Utenti",
"MACHINEUSERS": "Utenti di servizio",
"MACHINEUSERS": "Account di servizio",
"LOGOUT": "Esci con tutti gli utenti",
"NEWORG": "Nuova organizzazione",
"IAMADMIN": "Sei un amministratore d'istanza. Nota che hai autorizzazioni estese.",
@@ -989,8 +989,8 @@
"COUNTRY": "Paese"
},
"MACHINE": {
"TITLE": "Dettagli dell'utente del servizio",
"USERNAME": "Nome utente",
"TITLE": "Dettagli dell'account di servizio",
"USERNAME": "Nome dell'account",
"NAME": "Nome",
"DESCRIPTION": "Descrizione",
"KEYSTITLE": "Chiavi",
@@ -1151,7 +1151,7 @@
"SELECTEDDEACTIVATED": "Utenti selezionati disattivati.",
"SELECTEDKEYSDELETED": "Tasti selezionati cancellati.",
"KEYADDED": "Chiave aggiunta!",
"MACHINEADDED": "Utente di servizio creato!",
"MACHINEADDED": "Account di servizio creato!",
"DELETED": "Utente cancellato con successo!",
"UNLOCKED": "Utente sbloccato con successo!",
"PASSWORDLESSREGISTRATIONSENT": "Link per la registrazione inviato con successo.",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "部門のようなユーザーにカスタム属性を追加してください。この情報をあなたのアクションで使用できます。"
},
"MACHINES": {
"TITLE": "サービス利用者",
"DESCRIPTION": "サービス ユーザーは、秘密キーで署名された JWT ベアラー トークンを使用して非対話的に認証されます。個人のアクセス トークンを使用することもできます。",
"METADATA": "認証システムのようなユーザーにカスタム属性を追加してください。この情報をあなたのアクションで使用できます。"
"TITLE": "サービスアカウント",
"DESCRIPTION": "サービスアカウントは、秘密キーで署名された JWT ベアラー トークンを使用して非対話的に認証されます。個人のアクセス トークンを使用することもできます。",
"METADATA": "認証システムのようなアカウントにカスタム属性を追加してください。この情報をあなたのアクションで使用できます。"
},
"SELF": {
"METADATA": "あなたの部門のようなあなたのユーザーにカスタム属性を追加してください。この情報をあなたの組織のアクションで使用できます。"
@@ -424,7 +424,7 @@
"ROLES": "ロール",
"GRANTEDPROJECT": "グラントされたプロジェクト",
"HUMANUSERS": "ユーザー",
"MACHINEUSERS": "サービスユーザー",
"MACHINEUSERS": "サービスアカウント",
"LOGOUT": "すべてのユーザーをログアウトする",
"NEWORG": "新しい組織",
"IAMADMIN": "あなたはインスタンス管理者です。広範囲の権限があることに注意してください。",
@@ -990,8 +990,8 @@
"COUNTRY": "国"
},
"MACHINE": {
"TITLE": "サービスユーザーの詳細",
"USERNAME": "ユーザー名",
"TITLE": "サービスアカウントの詳細",
"USERNAME": "アカウント名",
"NAME": "名前",
"DESCRIPTION": "概要",
"KEYSTITLE": "キー",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "選択されたユーザー非アクティブになりました。",
"SELECTEDKEYSDELETED": "選択したキーが削除されました。",
"KEYADDED": "キーが追加されました!",
"MACHINEADDED": "サービスユーザーが作成されました!",
"MACHINEADDED": "サービスアカウントが作成されました!",
"DELETED": "ユーザーが正常に削除されました!",
"UNLOCKED": "ユーザーのロックが正常に解除されました!",
"PASSWORDLESSREGISTRATIONSENT": "登録リンクが正常に送信されました。",
+3 -3
View File
@@ -53,8 +53,8 @@
"METADATA": "부서와 같은 사용자 정의 속성을 사용자에게 추가하세요. 이 정보를 작업에 사용할 수 있습니다."
},
"MACHINES": {
"TITLE": "서비스 사용자",
"DESCRIPTION": "서비스 사용자는 개인 키로 서명된 JWT bearer 토큰을 사용하여 비대화형 인증을 수행합니다. 또한 개인 액세스 토큰을 사용할 수 있습니다.",
"TITLE": "서비스 계정",
"DESCRIPTION": "서비스 계정은 개인 키로 서명된 JWT bearer 토큰을 사용하여 비대화형 인증을 수행합니다. 또한 개인 액세스 토큰을 사용할 수 있습니다.",
"METADATA": "인증 시스템과 같은 사용자 정의 속성을 사용자에게 추가하세요. 이 정보를 작업에 사용할 수 있습니다."
},
"SELF": {
@@ -424,7 +424,7 @@
"ROLES": "역할",
"GRANTEDPROJECT": "부여된 프로젝트",
"HUMANUSERS": "사용자",
"MACHINEUSERS": "서비스 사용자",
"MACHINEUSERS": "서비스 계정",
"LOGOUT": "모든 사용자 로그아웃",
"NEWORG": "새 조직",
"IAMADMIN": "인스턴스 관리자입니다. 확장된 권한이 부여되었습니다.",
+3 -3
View File
@@ -53,8 +53,8 @@
"METADATA": "Додади прилагодени атрибути на корисникот како оддел. Можеш да ги користиш овие информации во твоите активности."
},
"MACHINES": {
"TITLE": "Корисници на услуги",
"DESCRIPTION": "Корисниците на услугата неинтерактивно ја автентицираат користејќи токен на носител JWT потпишан со приватен клуч. Тие исто така можат да користат токен за личен пристап.",
"TITLE": "Сметки на услугата",
"DESCRIPTION": "Сметките на услугата неинтерактивно ја автентицираат користејќи токен на носител JWT потпишан со приватен клуч. Тие исто така можат да користат токен за личен пристап.",
"METADATA": "Додади прилагодени атрибути на корисникот како систем за автентикација. Можеш да ги користиш овие информации во твоите активности."
},
"SELF": {
@@ -424,7 +424,7 @@
"ROLES": "Улоги",
"GRANTEDPROJECT": "Доделени проекти",
"HUMANUSERS": "Корисници",
"MACHINEUSERS": "Сервисни корисници",
"MACHINEUSERS": "Сметки на услугата",
"LOGOUT": "Одјави ги сите корисници",
"NEWORG": "Нова организација",
"IAMADMIN": "Вие сте администратор на инстанс. Имате проширени овластувања.",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Voeg aangepaste attributen toe aan de gebruiker zoals de afdeling. Je kunt deze informatie gebruiken in je acties."
},
"MACHINES": {
"TITLE": "Servicegebruikers",
"DESCRIPTION": "Servicegebruikers authenticeren niet-interactief met behulp van een JWT-bearertoken ondertekend met een privésleutel. Ze kunnen ook een persoonlijk toegangstoken gebruiken.",
"METADATA": "Voeg aangepaste attributen toe aan de gebruiker zoals het authenticatiesysteem. Je kunt deze informatie gebruiken in je acties."
"TITLE": "Serviceaccounts",
"DESCRIPTION": "Serviceaccounts authenticeren niet-interactief met behulp van een JWT-bearertoken ondertekend met een privésleutel. Ze kunnen ook een persoonlijk toegangstoken gebruiken.",
"METADATA": "Voeg aangepaste attributen toe aan het account zoals het authenticatiesysteem. Je kunt deze informatie gebruiken in je acties."
},
"SELF": {
"METADATA": "Voeg aangepaste attributen toe aan je gebruiker zoals je afdeling. Je kunt deze informatie gebruiken in de acties van je organisatie."
@@ -424,7 +424,7 @@
"ROLES": "Rollen",
"GRANTEDPROJECT": "Verleende projecten",
"HUMANUSERS": "Gebruikers",
"MACHINEUSERS": "Servicegebruikers",
"MACHINEUSERS": "Serviceaccounts",
"LOGOUT": "Alle gebruikers uitloggen",
"NEWORG": "Nieuwe organisatie",
"IAMADMIN": "U bent een instantie-beheerder. Let op: u heeft uitgebreide rechten.",
@@ -990,8 +990,8 @@
"COUNTRY": "Land"
},
"MACHINE": {
"TITLE": "Details Servicegebruiker",
"USERNAME": "Gebruikersnaam",
"TITLE": "Details Serviceaccount",
"USERNAME": "Accountnaam",
"NAME": "Naam",
"DESCRIPTION": "Beschrijving",
"KEYSTITLE": "Sleutels",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Geselecteerde gebruikers gedeactiveerd.",
"SELECTEDKEYSDELETED": "Geselecteerde sleutels verwijderd.",
"KEYADDED": "Sleutel toegevoegd!",
"MACHINEADDED": "Servicegebruiker aangemaakt!",
"MACHINEADDED": "Serviceaccount aangemaakt!",
"DELETED": "Gebruiker succesvol verwijderd!",
"UNLOCKED": "Gebruiker succesvol ontgrendeld!",
"PASSWORDLESSREGISTRATIONSENT": "Registratielink succesvol verzonden.",
+4 -4
View File
@@ -53,9 +53,9 @@
"METADATA": "Dodaj niestandardowe atrybuty do użytkownika, takie jak dział. Możesz użyć tych informacji w swoich działaniach."
},
"MACHINES": {
"TITLE": "Użytkownicy serwisu",
"DESCRIPTION": "Użytkownicy usługi uwierzytelniają się w sposób nieinteraktywny przy użyciu tokena okaziciela JWT podpisanego kluczem prywatnym. Mogą także skorzystać z osobistego tokena dostępu.",
"METADATA": "Dodaj niestandardowe atrybuty do użytkownika, takie jak system uwierzytelniający. Możesz użyć tych informacji w swoich działaniach."
"TITLE": "Konta serwisu",
"DESCRIPTION": "Konta serwisu uwierzytelniają się w sposób nieinteraktywny przy użyciu tokena okaziciela JWT podpisanego kluczem prywatnym. Mogą także skorzystać z osobistego tokena dostępu.",
"METADATA": "Dodaj niestandardowe atrybuty do konta, takie jak system uwierzytelniający. Możesz użyć tych informacji w swoich działaniach."
},
"SELF": {
"METADATA": "Dodaj niestandardowe atrybuty do siebie, takie jak twój dział. Możesz użyć tych informacji w działaniach swojej organizacji."
@@ -424,7 +424,7 @@
"ROLES": "Role",
"GRANTEDPROJECT": "Uprawnione projekty",
"HUMANUSERS": "Użytkownicy",
"MACHINEUSERS": "Użytkownicy usług",
"MACHINEUSERS": "Konta serwisu",
"LOGOUT": "Wyloguj Wszystkich Użytkowników",
"NEWORG": "Nowa Organizacja",
"IAMADMIN": "Jesteś administratorem instancja. Zauważ, że masz rozszerzone uprawnienia.",
+6 -6
View File
@@ -53,9 +53,9 @@
"METADATA": "Adicione atributos personalizados ao usuário, como o departamento. Você pode usar essas informações em suas ações."
},
"MACHINES": {
"TITLE": "Usuários do serviço",
"DESCRIPTION": "Os usuários do serviço autenticam-se de forma não interativa usando um token de portador JWT assinado com uma chave privada. Eles também podem usar um token de acesso pessoal.",
"METADATA": "Adicione atributos personalizados ao usuário, como o sistema de autenticação. Você pode usar essas informações em suas ações."
"TITLE": "Contas de serviço",
"DESCRIPTION": "As contas de serviço autenticam-se de forma não interativa usando um token de portador JWT assinado com uma chave privada. Elas também podem usar um token de acesso pessoal.",
"METADATA": "Adicione atributos personalizados à conta, como o sistema de autenticação. Você pode usar essas informações em suas ações."
},
"SELF": {
"METADATA": "Adicione atributos personalizados ao seu usuário, como seu departamento. Você pode usar essas informações nas ações da sua organização."
@@ -424,7 +424,7 @@
"ROLES": "Funções",
"GRANTEDPROJECT": "Projetos Concedidos",
"HUMANUSERS": "Usuários",
"MACHINEUSERS": "Usuários de Serviço",
"MACHINEUSERS": "Contas de serviço",
"LOGOUT": "Encerrar Sessão de Todos os Usuários",
"NEWORG": "Nova Organização",
"IAMADMIN": "Você é um Administrador de instância. Observe que você possui permissões estendidas.",
@@ -990,8 +990,8 @@
"COUNTRY": "País"
},
"MACHINE": {
"TITLE": "Detalhes do Usuário de Serviço",
"USERNAME": "Nome de Usuário",
"TITLE": "Detalhes da Conta de Serviço",
"USERNAME": "Nome da Conta",
"NAME": "Nome",
"DESCRIPTION": "Descrição",
"KEYSTITLE": "Chaves",
+4 -4
View File
@@ -53,9 +53,9 @@
"METADATA": "Adăugați atribute personalizate utilizatorului, cum ar fi departamentul. Puteți utiliza aceste informații în acțiunile dvs."
},
"MACHINES": {
"TITLE": "Utilizatori de servicii",
"DESCRIPTION": "Utilizatorii de servicii se autentifică non-interactiv folosind un token JWT bearer semnat cu o cheie privată. De asemenea, pot utiliza un token de acces personal.",
"METADATA": "Adăugați atribute personalizate utilizatorului, cum ar fi sistemul de autentificare. Puteți utiliza aceste informații în acțiunile dvs."
"TITLE": "Conturi de serviciu",
"DESCRIPTION": "Conturile de serviciu se autentifică non-interactiv folosind un token JWT bearer semnat cu o cheie privată. De asemenea, pot utiliza un token de acces personal.",
"METADATA": "Adăugați atribute personalizate contului, cum ar fi sistemul de autentificare. Puteți utiliza aceste informații în acțiunile dvs."
},
"SELF": {
"METADATA": "Adăugați atribute personalizate utilizatorului dvs., cum ar fi departamentul. Puteți utiliza aceste informații în acțiunile organizațiilor dvs."
@@ -424,7 +424,7 @@
"ROLES": "Roluri",
"GRANTEDPROJECT": "Proiecte acordate",
"HUMANUSERS": "Utilizatori",
"MACHINEUSERS": "Utilizatori de servicii",
"MACHINEUSERS": "Conturi de serviciu",
"LOGOUT": "Deconectați toți utilizatorii",
"NEWORG": "Organizație nouă",
"IAMADMIN": "Sunteți administrator de instanță. Rețineți că aveți permisiuni extinse.",
+5 -5
View File
@@ -53,9 +53,9 @@
"METADATA": "Добавьте пользовательские атрибуты к пользователю, такие как отдел. Вы можете использовать эту информацию в своих действиях."
},
"MACHINES": {
"TITLE": "Пользователи сервиса",
"DESCRIPTION": "Пользователи службы проходят аутентификацию в неинтерактивном режиме с использованием токена носителя JWT, подписанного закрытым ключом. Они также могут использовать токен личного доступа.",
"METADATA": "Добавьте пользовательские атрибуты к пользователю, такие как система аутентификации. Вы можете использовать эту информацию в своих действиях."
"TITLE": "Служебные учетные записи",
"DESCRIPTION": "Служебные учетные записи проходят аутентификацию в неинтерактивном режиме с использованием токена носителя JWT, подписанного закрытым ключом. Они также могут использовать токен личного доступа.",
"METADATA": "Добавьте пользовательские атрибуты к учетной записи, такие как система аутентификации. Вы можете использовать эту информацию в своих действиях."
},
"SELF": {
"METADATA": "Добавьте пользовательские атрибуты к себе, такие как ваш отдел. Вы можете использовать эту информацию в действиях вашей организации."
@@ -432,7 +432,7 @@
"ROLES": "Роли",
"GRANTEDPROJECT": "Допуски проектов",
"HUMANUSERS": "Пользователи",
"MACHINEUSERS": "Служебные пользователи",
"MACHINEUSERS": "Учетные записи услуги",
"LOGOUT": "Выйти из всех пользователей",
"NEWORG": "Новая организация",
"IAMADMIN": "Вы являетесь администратором Инстанс. Обратите внимание, что вы обладаете расширенными разрешениями.",
@@ -1005,7 +1005,7 @@
"COUNTRY": "Страна"
},
"MACHINE": {
"TITLE": "Сведения о служебном пользователе",
"TITLE": "Сведения об учетной записи услуги",
"USERNAME": "Имя пользователя",
"NAME": "Имя",
"DESCRIPTION": "Описание",
+7 -7
View File
@@ -53,9 +53,9 @@
"METADATA": "Lägg till anpassade attribut till användaren som avdelningen. Du kan använda denna information i dina åtgärder."
},
"MACHINES": {
"TITLE": "Tjänsteanvändare",
"DESCRIPTION": "Tjänsteanvändare autentiserar icke-interaktivt med en JWT-bärare token signerad med en privat nyckel. De kan också använda en personlig åtkomsttoken.",
"METADATA": "Lägg till anpassade attribut till användaren som autentiseringssystemet. Du kan använda denna information i dina åtgärder."
"TITLE": "Tjänstekonton",
"DESCRIPTION": "Tjänstekonton autentiserar icke-interaktivt med en JWT-bärare token signerad med en privat nyckel. De kan också använda en personlig åtkomsttoken.",
"METADATA": "Lägg till anpassade attribut till kontot som autentiseringssystemet. Du kan använda denna information i dina åtgärder."
},
"SELF": {
"METADATA": "Lägg till anpassade attribut till din användare som din avdelning. Du kan använda denna information i din organisations åtgärder."
@@ -424,7 +424,7 @@
"ROLES": "Roller",
"GRANTEDPROJECT": "Beviljade Projekt",
"HUMANUSERS": "Användare",
"MACHINEUSERS": "Tjänsteanvändare",
"MACHINEUSERS": "Tjänstekonton",
"LOGOUT": "Logga ut alla användare",
"NEWORG": "Ny Organisation",
"IAMADMIN": "Du är en instans-administratör. Observera att du har utökade behörigheter.",
@@ -990,8 +990,8 @@
"COUNTRY": "Land"
},
"MACHINE": {
"TITLE": "Användardetaljer för tjänst",
"USERNAME": "Användarnamn",
"TITLE": "Detaljer för tjänstekonto",
"USERNAME": "Kontonamn",
"NAME": "Namn",
"DESCRIPTION": "Beskrivning",
"KEYSTITLE": "Nycklar",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "Valda användare deaktiverade.",
"SELECTEDKEYSDELETED": "Valda nycklar raderade.",
"KEYADDED": "Nyckel tillagd!",
"MACHINEADDED": "Serviceanvändare skapad!",
"MACHINEADDED": "Tjänstekonto skapat!",
"DELETED": "Användare raderad framgångsrikt!",
"UNLOCKED": "Användare upplåst framgångsrikt!",
"PASSWORDLESSREGISTRATIONSENT": "Registreringslänk skickad framgångsrikt.",
+4 -4
View File
@@ -53,9 +53,9 @@
"METADATA": "Kullanıcıya departman gibi özel öznitelikler ekleyin. Bu bilgileri eylemlerinizde kullanabilirsiniz."
},
"MACHINES": {
"TITLE": "Servis Kullanıcıları",
"DESCRIPTION": "Servis Kullanıcıları, özel anahtar ile imzalanmış JWT bearer token kullanarak etkileşimsiz kimlik doğrulaması yapar. Ayrıca kişisel erişim belirteci de kullanabilirler.",
"METADATA": "Kullanıcıya kimlik doğrulayan sistem gibi özel öznitelikler ekleyin. Bu bilgileri eylemlerinizde kullanabilirsiniz."
"TITLE": "Hizmet Hesapları",
"DESCRIPTION": "Hizmet Hesapları, özel anahtar ile imzalanmış JWT bearer token kullanarak etkileşimsiz kimlik doğrulaması yapar. Ayrıca kişisel erişim belirteci de kullanabilirler.",
"METADATA": "Hesaba kimlik doğrulayan sistem gibi özel öznitelikler ekleyin. Bu bilgileri eylemlerinizde kullanabilirsiniz."
},
"SELF": {
"METADATA": "Kullanıcınıza departmanınız gibi özel öznitelikler ekleyin. Bu bilgileri organizasyonunuzun eylemlerinde kullanabilirsiniz."
@@ -424,7 +424,7 @@
"ROLES": "Roller",
"GRANTEDPROJECT": "Verilen Projeler",
"HUMANUSERS": "Kullanıcılar",
"MACHINEUSERS": "Servis Kullanıcıları",
"MACHINEUSERS": "Hizmet Hesapları",
"LOGOUT": "Tüm Kullanıcıları Çıkış Yap",
"NEWORG": "Yeni Organizasyon",
"IAMADMIN": "instans Yöneticisisiniz. Genişletilmiş izinleriniz olduğunu unutmayın.",
+4 -4
View File
@@ -53,9 +53,9 @@
"METADATA": "Додайте власні атрибути до користувача, такі як відділ. Ви можете використовувати цю інформацію у своїх діях."
},
"MACHINES": {
"TITLE": "Сервісні користувачі",
"DESCRIPTION": "Сервісні користувачі автентифікуються неінтерактивно, використовуючи JWT bearer токен, підписаний приватним ключем. Вони також можуть використовувати персональний токен доступу.",
"METADATA": "Додайте власні атрибути до користувача, такі як система автентифікації. Ви можете використовувати цю інформацію у своїх діях."
"TITLE": "Облікові записи служби",
"DESCRIPTION": "Облікові записи служби автентифікуються неінтерактивно, використовуючи JWT bearer токен, підписаний приватним ключем. Вони також можуть використовувати персональний токен доступу.",
"METADATA": "Додайте власні атрибути до облікового запису, такі як система автентифікації. Ви можете використовувати цю інформацію у своїх діях."
},
"SELF": {
"METADATA": "Додайте власні атрибути до свого користувача, такі як ваш відділ. Ви можете використовувати цю інформацію в діях вашої організації."
@@ -424,7 +424,7 @@
"ROLES": "Ролі",
"GRANTEDPROJECT": "Надані проекти",
"HUMANUSERS": "Користувачі",
"MACHINEUSERS": "Сервісні користувачі",
"MACHINEUSERS": "Облікові записи служби",
"LOGOUT": "Вийти з усіх користувачів",
"NEWORG": "Нова організація",
"IAMADMIN": "Ви адміністратор інстанс. Зверніть увагу, що у вас є розширені дозволи.",
+5 -5
View File
@@ -53,8 +53,8 @@
"METADATA": "为用户添加自定义属性,如部门。你可以在你的行动中使用这些信息。"
},
"MACHINES": {
"TITLE": "服务用户",
"DESCRIPTION": "服务用户使用使用私钥签名的 JWT 不记名令牌进行非交互式身份验证。他们还可以使用个人访问令牌。",
"TITLE": "服务账户",
"DESCRIPTION": "服务账户使用使用私钥签名的 JWT 不记名令牌进行非交互式身份验证。他们还可以使用个人访问令牌。",
"METADATA": "为用户添加自定义属性,如认证系统。你可以在你的行动中使用这些信息。"
},
"SELF": {
@@ -424,7 +424,7 @@
"ROLES": "角色",
"GRANTEDPROJECT": "已授予的项目",
"HUMANUSERS": "用户",
"MACHINEUSERS": "服务用户",
"MACHINEUSERS": "服务账户",
"LOGOUT": "退出所有账户",
"NEWORG": "创建组织",
"IAMADMIN": "您是实例管理员。请注意您具有扩展权限。",
@@ -990,7 +990,7 @@
"COUNTRY": "国家"
},
"MACHINE": {
"TITLE": "服务用户详情",
"TITLE": "服务账户详情",
"USERNAME": "用户名",
"NAME": "名称",
"DESCRIPTION": "描述",
@@ -1152,7 +1152,7 @@
"SELECTEDDEACTIVATED": "选中的用户已被停用。",
"SELECTEDKEYSDELETED": "选中的 Keys 已被删除。",
"KEYADDED": "Key 已添加!",
"MACHINEADDED": "服务用户已创建成功!",
"MACHINEADDED": "服务账户已创建成功!",
"DELETED": "用户删除成功!",
"UNLOCKED": "用户解锁成功!",
"PASSWORDLESSREGISTRATIONSENT": "注册链接发送成功。",
+1 -1
View File
@@ -151,7 +151,7 @@ func projectIDAndCheckOriginForClientID(ctx context.Context, clientID string, t
projectID, origins, err := t.ProjectIDAndOriginsByClientID(ctx, clientID)
logging.WithFields("clientID", clientID).OnError(err).Debug("could not check projectID and origin of clientID (might be service account)")
// We used to check origins for every token, but service users shouldn't be used publicly (native app / SPA).
// We used to check origins for every token, but service accounts shouldn't be used publicly (native app / SPA).
// Therefore, mostly won't send an origin and aren't able to configure them anyway.
// For the current time we will only check origins for tokens issued to users through apps (code / implicit flow).
if projectID == "" {
@@ -29,7 +29,7 @@ func TestServer_ListAdministrators(t *testing.T) {
organizationAdmin2 := createOrganizationAdministrator(iamOwnerCtx, instanceQuery, organizationResp.GetOrganizationId(), organizationName, t)
organizationAdmin3 := createOrganizationAdministrator(iamOwnerCtx, instanceQuery, organizationResp.GetOrganizationId(), organizationName, t)
// Additionally, a machine user as a project grant owner to test permissions
// Additionally, a service account as a project grant owner to test permissions
userOrganizationResp := instanceQuery.CreateMachineUser(iamOwnerCtx)
instanceQuery.CreateOrgMembership(t, iamOwnerCtx, organizationResp.GetOrganizationId(), userOrganizationResp.GetUserId())
patOrganizationResp := instanceQuery.CreatePersonalAccessToken(iamOwnerCtx, userOrganizationResp.GetUserId())
@@ -42,7 +42,7 @@ func TestServer_ListAdministrators(t *testing.T) {
projectAdministrator2 := createProjectAdministrator(iamOwnerCtx, instanceQuery, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName)
projectAdministrator3 := createProjectAdministrator(iamOwnerCtx, instanceQuery, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName)
// Additionally, a machine user as a project owner to test permissions
// Additionally, a service account as a project owner to test permissions
userProjectResp := instanceQuery.CreateMachineUser(iamOwnerCtx)
instanceQuery.CreateProjectMembership(t, iamOwnerCtx, projectResp.GetId(), userProjectResp.GetUserId())
patProjectResp := instanceQuery.CreatePersonalAccessToken(iamOwnerCtx, userProjectResp.GetUserId())
@@ -56,7 +56,7 @@ func TestServer_ListAdministrators(t *testing.T) {
projectGrantAdministrator2 := createProjectGrantAdministrator(iamOwnerCtx, instanceQuery, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName, grantedOrganizationResp.GetOrganizationId())
projectGrantAdministrator3 := createProjectGrantAdministrator(iamOwnerCtx, instanceQuery, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName, grantedOrganizationResp.GetOrganizationId())
// Additionally, a machine user as a project grant owner to test permissions
// Additionally, a service account as a project grant owner to test permissions
userProjectGrantResp := instanceQuery.CreateMachineUser(iamOwnerCtx)
instanceQuery.CreateProjectGrantMembership(t, iamOwnerCtx, projectResp.GetId(), grantedOrganizationResp.GetOrganizationId(), userProjectGrantResp.GetUserId())
patProjectGrantResp := instanceQuery.CreatePersonalAccessToken(iamOwnerCtx, userProjectGrantResp.GetUserId())
@@ -845,7 +845,7 @@ func TestServer_ListAdministrators_PermissionV2(t *testing.T) {
organizationAdmin2 := createOrganizationAdministrator(iamOwnerCtx, instancePermissionV2, organizationResp.GetOrganizationId(), organizationName, t)
organizationAdmin3 := createOrganizationAdministrator(iamOwnerCtx, instancePermissionV2, organizationResp.GetOrganizationId(), organizationName, t)
// Additionally, a machine user as a project grant owner to test permissions
// Additionally, a service account as a project grant owner to test permissions
userOrganizationResp := instancePermissionV2.CreateMachineUser(iamOwnerCtx)
instancePermissionV2.CreateOrgMembership(t, iamOwnerCtx, organizationResp.GetOrganizationId(), userOrganizationResp.GetUserId())
patOrganizationResp := instancePermissionV2.CreatePersonalAccessToken(iamOwnerCtx, userOrganizationResp.GetUserId())
@@ -858,7 +858,7 @@ func TestServer_ListAdministrators_PermissionV2(t *testing.T) {
projectAdministrator2 := createProjectAdministrator(iamOwnerCtx, instancePermissionV2, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName)
projectAdministrator3 := createProjectAdministrator(iamOwnerCtx, instancePermissionV2, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName)
// Additionally, a machine user as a project owner to test permissions
// Additionally, a service account as a project owner to test permissions
userProjectResp := instancePermissionV2.CreateMachineUser(iamOwnerCtx)
instancePermissionV2.CreateProjectMembership(t, iamOwnerCtx, projectResp.GetId(), userProjectResp.GetUserId())
patProjectResp := instancePermissionV2.CreatePersonalAccessToken(iamOwnerCtx, userProjectResp.GetUserId())
@@ -872,7 +872,7 @@ func TestServer_ListAdministrators_PermissionV2(t *testing.T) {
projectGrantAdministrator2 := createProjectGrantAdministrator(iamOwnerCtx, instancePermissionV2, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName, grantedOrganizationResp.GetOrganizationId())
projectGrantAdministrator3 := createProjectGrantAdministrator(iamOwnerCtx, instancePermissionV2, t, organizationResp.GetOrganizationId(), projectResp.GetId(), projectName, grantedOrganizationResp.GetOrganizationId())
// Additionally, a machine user as a project grant owner to test permissions
// Additionally, a service account as a project grant owner to test permissions
userProjectGrantResp := instancePermissionV2.CreateMachineUser(iamOwnerCtx)
instancePermissionV2.CreateProjectGrantMembership(t, iamOwnerCtx, projectResp.GetId(), grantedOrganizationResp.GetOrganizationId(), userProjectGrantResp.GetUserId())
patProjectGrantResp := instancePermissionV2.CreatePersonalAccessToken(iamOwnerCtx, userProjectGrantResp.GetUserId())
@@ -221,7 +221,7 @@ func TestServer_CreateProject_Permission(t *testing.T) {
}
func getOrgProjectCreatorToken(t *testing.T, ctx context.Context, orgId1, orgId2 string) string {
// create a machine user in Org 1
// create a service account in Org 1
userResp := instance.CreateUserTypeMachine(ctx, orgId1)
// assign ORG_PROJECT_CREATOR role in Org 2
@@ -970,7 +970,6 @@ func TestServer_ActivateProject(t *testing.T) {
name: "not existing",
prepare: func(request *project.ActivateProjectRequest) {
request.ProjectId = "notexisting"
return
},
args: args{
ctx: iamOwnerCtx,
@@ -243,7 +243,7 @@ func TestServer_CreateProject_Permission(t *testing.T) {
}
func getOrgProjectCreator(t *testing.T, ctx context.Context, orgId1, orgId2 string) (string, string) {
// create a machine user in Org 1
// create a service account in Org 1
userResp := instance.CreateUserTypeMachine(ctx, orgId1)
// assign ORG_PROJECT_CREATOR role in Org 2
@@ -996,7 +996,6 @@ func TestServer_ActivateProject(t *testing.T) {
name: "not existing",
prepare: func(request *project.ActivateProjectRequest) {
request.Id = "notexisting"
return
},
args: args{
ctx: iamOwnerCtx,
@@ -824,7 +824,7 @@ func Test_UsersToPb(t *testing.T) {
},
},
{
name: "slice with one machine user",
name: "slice with one service account",
args: args{
users: []*query.User{
{
@@ -398,7 +398,7 @@ func TestServer_ListUsers(t *testing.T) {
wantErr bool
}{
{
name: "list user by id, no permission machine user",
name: "list user by id, no permission service account",
args: args{
InstancePermissionV2.WithAuthorizationToken(OrgCTX, integration.UserTypeNoPermission),
&user.ListUsersRequest{},
@@ -3358,7 +3358,7 @@ func TestServer_CreateUser(t *testing.T) {
},
},
{
name: "machine user",
name: "service account",
testCase: func(runId string) testCase {
username := fmt.Sprintf("donald.duck+%s", runId)
return testCase{
@@ -3577,7 +3577,7 @@ func TestServer_CreateUser_And_Compare(t *testing.T) {
}
},
}, {
name: "machine username given",
name: "service accountname given",
testCase: func(runId string) testCase {
username := fmt.Sprintf("donald.duck+%s", runId)
return testCase{
@@ -3599,7 +3599,7 @@ func TestServer_CreateUser_And_Compare(t *testing.T) {
}
},
}, {
name: "machine username default to generated id",
name: "service accountname default to generated id",
testCase: func(runId string) testCase {
return testCase{
args: args{
@@ -3619,7 +3619,7 @@ func TestServer_CreateUser_And_Compare(t *testing.T) {
}
},
}, {
name: "machine username default to given id",
name: "service accountname default to given id",
testCase: func(runId string) testCase {
return testCase{
args: args{
@@ -3795,7 +3795,7 @@ func TestServer_CreateUser_Permission(t *testing.T) {
wantErr: true,
},
{
name: "machine user, error",
name: "service account, error",
args: args{
UserCTX,
&user.CreateUserRequest{
@@ -4200,7 +4200,7 @@ func TestServer_UpdateUserTypeMachine(t *testing.T) {
},
},
{
name: "update machine user with human fields, error",
name: "update service account with human fields, error",
testCase: func(runId, userId string) testCase {
return testCase{
args: args{
@@ -4330,7 +4330,7 @@ func TestServer_UpdateUser_And_Compare(t *testing.T) {
}
},
}, {
name: "machine username",
name: "service accountname",
testCase: func(runId string) testCase {
username := fmt.Sprintf("donald.duck+%s", runId)
return testCase{
@@ -4543,7 +4543,7 @@ func TestServer_UpdateUser_Permission(t *testing.T) {
},
},
{
name: "machine user, error",
name: "service account, error",
testCase: func() testCase {
return testCase{
args: args{
@@ -393,7 +393,7 @@ func TestServer_ListUsers(t *testing.T) {
wantErr bool
}{
{
name: "list user by id, no permission machine user",
name: "list user by id, no permission service account",
args: args{
UserCTX,
&user_v2beta.ListUsersRequest{},
+6 -6
View File
@@ -51,12 +51,12 @@ type clientCredentialsClient struct {
}
// AccessTokenType returns the AccessTokenType for the token to be created because of the client credentials request
// machine users currently only have opaque tokens ([op.AccessTokenTypeBearer])
// service accounts currently only have opaque tokens ([op.AccessTokenTypeBearer])
func (c *clientCredentialsClient) AccessTokenType() op.AccessTokenType {
return accessTokenTypeToOIDC(c.tokenType)
}
// GetID returns the client_id (username of the machine user) for the token to be created because of the client credentials request
// GetID returns the client_id (username of the service account) for the token to be created because of the client credentials request
func (c *clientCredentialsClient) GetID() string {
return c.clientID
}
@@ -71,12 +71,12 @@ func (c *clientCredentialsClient) PostLogoutRedirectURIs() []string {
return nil
}
// ApplicationType returns [op.ApplicationTypeWeb] as the machine users is a confidential client
// ApplicationType returns [op.ApplicationTypeWeb] as the service accounts is a confidential client
func (c *clientCredentialsClient) ApplicationType() op.ApplicationType {
return op.ApplicationTypeWeb
}
// AuthMethod returns the allowed auth method type for machine user.
// AuthMethod returns the allowed auth method type for service account.
// It returns Basic Auth
func (c *clientCredentialsClient) AuthMethod() oidc.AuthMethod {
return oidc.AuthMethodBasic
@@ -87,7 +87,7 @@ func (c *clientCredentialsClient) ResponseTypes() []oidc.ResponseType {
return nil
}
// GrantTypes returns the grant types supported by the machine users, which is currently only client credentials ([oidc.GrantTypeClientCredentials])
// GrantTypes returns the grant types supported by the service accounts, which is currently only client credentials ([oidc.GrantTypeClientCredentials])
func (c *clientCredentialsClient) GrantTypes() []oidc.GrantType {
return []oidc.GrantType{
oidc.GrantTypeClientCredentials,
@@ -132,7 +132,7 @@ func (c *clientCredentialsClient) IDTokenUserinfoClaimsAssertion() bool {
// ClockSkew enable handling clock skew of the token validation. The duration (0-5s) will be added to exp claim and subtracted from iats,
// auth_time and nbf of the token to be created because of the client credentials request.
// It returns 0 as clock skew is not implemented on machine users.
// It returns 0 as clock skew is not implemented on service accounts.
func (c *clientCredentialsClient) ClockSkew() time.Duration {
return 0
}
@@ -59,7 +59,7 @@ func TestServer_ClientCredentialsExchange(t *testing.T) {
wantErr: true,
},
{
name: "machine user without secret error",
name: "service account without secret error",
clientID: func() string {
name := integration.Username()
_, err := Instance.Client.Mgmt.AddMachineUser(CTX, &management.AddMachineUserRequest{
@@ -75,7 +75,7 @@ func TestServer_ClientCredentialsExchange(t *testing.T) {
wantErr: true,
},
{
name: "inactive machine user error",
name: "inactive service account error",
clientID: clientIDInactive,
clientSecret: clientSecretInactive,
scope: []string{oidc.ScopeOpenID},
@@ -35,7 +35,7 @@ func (s *Server) ClientCredentialsExchange(ctx context.Context, r *op.ClientRequ
client.userID,
client.resourceOwner,
client.clientID,
"", // backChannelLogoutURI not needed for service user session
"", // backChannelLogoutURI not needed for service account session
scope,
domain.AddAudScopeToAudience(ctx, nil, r.Data.Scope),
[]domain.UserAuthMethodType{domain.UserAuthMethodTypePassword},
+1 -1
View File
@@ -45,7 +45,7 @@ func (s *Server) JWTProfile(ctx context.Context, r *op.Request[oidc.JWTProfileGr
client.userID,
client.resourceOwner,
client.clientID,
"", // backChannelLogoutURI not needed for service user session
"", // backChannelLogoutURI not needed for service account session
scope,
domain.AddAudScopeToAudience(ctx, nil, r.Data.Scope),
[]domain.UserAuthMethodType{domain.UserAuthMethodTypePrivateKey},
@@ -412,12 +412,11 @@ func TestCreateUser_scopedExternalID(t *testing.T) {
retryDuration, tick := integration.WaitForAndTickWithMaxDuration(ctx, time.Minute)
require.EventuallyWithT(t, func(tt *assert.CollectT) {
// unscoped externalID should not exist
unscoped, err := Instance.Client.Mgmt.GetUserMetadata(ctx, &management.GetUserMetadataRequest{
_, err := Instance.Client.Mgmt.GetUserMetadata(ctx, &management.GetUserMetadataRequest{
Id: createdUser.ID,
Key: "urn:zitadel:scim:externalId",
})
integration.AssertGrpcStatus(tt, codes.NotFound, err)
unscoped = unscoped
// scoped externalID should exist
md, err := Instance.Client.Mgmt.GetUserMetadata(ctx, &management.GetUserMetadataRequest{
@@ -478,12 +477,12 @@ func TestCreateUser_ignorePasswordOnCreate(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
// create a machine user
// create a service account
callingUserId, callingUserPat, err := Instance.CreateMachineUserPATWithMembership(CTX, "ORG_OWNER")
require.NoError(t, err)
ctx := integration.WithAuthorizationToken(CTX, callingUserPat)
// set urn:zitadel:scim:ignorePasswordOnCreate metadata for the machine user
// set urn:zitadel:scim:ignorePasswordOnCreate metadata for the service account
setAndEnsureMetadata(t, callingUserId, "urn:zitadel:scim:ignorePasswordOnCreate", tt.ignorePassword)
// create a user with an invalid password
@@ -365,7 +365,7 @@ var totalCountOfHumanUsers = 13
prepare: func(t require.TestingT) *scim.ListRequest {
resp := createHumanUser(t, CTX, Instance.DefaultOrg.Id, 102)
// set provisioning domain of service user
// set provisioning domain of service account
setProvisioningDomain(t, Instance.Users.Get(integration.UserTypeOrgOwner).ID, "fooBar")
// set externalID for provisioning domain
@@ -379,7 +379,7 @@ var totalCountOfHumanUsers = 13
assert.Equal(t, resp.Resources[0].ExternalID, "100-scopedExternalId")
},
cleanup: func(t require.TestingT) {
// delete provisioning domain of service user
// delete provisioning domain of service account
removeProvisioningDomain(t, Instance.Users.Get(integration.UserTypeOrgOwner).ID)
},
},
@@ -344,7 +344,7 @@ func TestReplaceUser_scopedExternalID(t *testing.T) {
callingUserId, callingUserPat, err := Instance.CreateMachineUserPATWithMembership(CTX, "ORG_OWNER")
require.NoError(t, err)
ctx := integration.WithAuthorizationToken(CTX, callingUserPat)
// set provisioning domain of service user
// set provisioning domain of service account
setProvisioningDomain(t, callingUserId, "fooBazz")
// replace the user with provisioning domain set
@@ -35,7 +35,7 @@ func initScimContext(ctx context.Context, q *query.Queries) (context.Context, er
userID := authz.GetCtxData(ctx).UserID
// get the provisioningDomain and ignorePasswordOnCreate metadata keys associated with the service user
// get the provisioningDomain and ignorePasswordOnCreate metadata keys associated with the service account
metadataKeys := []smetadata.Key{
smetadata.KeyProvisioningDomain,
smetadata.KeyIgnorePasswordOnCreate,
@@ -855,7 +855,7 @@ func (repo *AuthRequestRepo) checkLoginName(ctx context.Context, request *domain
if err != nil {
return err
}
// let's check if it was a machine user
// let's check if it was a service account
if !user.MachineView.IsZero() {
return zerrors.ThrowPreconditionFailed(nil, "AUTH-DGV4g", "Errors.User.NotHuman")
}
@@ -191,7 +191,7 @@ func (repo *TokenVerifierRepo) checkAuthentication(ctx context.Context, authMeth
if err != nil {
return err
}
// machine users do not have interactive logins, so we don't check for MFA requirements
// service accounts do not have interactive logins, so we don't check for MFA requirements
if requirements.UserType == domain.UserTypeMachine {
return nil
}
+1 -1
View File
@@ -651,7 +651,7 @@ func addHumanEvent(ctx context.Context, orgID, userID string) *user.HumanAddedEv
}()
}
// machineEvents all events from setup to create the machine user, machinekey can't be tested here, as the public key is not provided and as such the value in the event can't be expected
// machineEvents all events from setup to create the service account, machinekey can't be tested here, as the public key is not provided and as such the value in the event can't be expected
func machineEvents(ctx context.Context, instanceID, orgID, userID, patID string) []eventstore.Command {
agg := user.NewAggregate(userID, orgID)
instanceAgg := instance.NewAggregate(instanceID)
+1 -1
View File
@@ -326,7 +326,7 @@ func (i *Instance) CreateUserTypeMachine(ctx context.Context, orgId string) *use
},
},
})
logging.OnError(err).Panic("create machine user")
logging.OnError(err).Panic("create service account")
i.TriggerUserByID(ctx, resp.GetId())
return resp
}
+1 -12
View File
@@ -2,15 +2,12 @@
package integration
import (
"bytes"
"context"
"crypto/rsa"
"crypto/x509"
_ "embed"
"errors"
"fmt"
"os"
"path/filepath"
"time"
"github.com/zitadel/logging"
@@ -39,7 +36,7 @@ const (
// UserType provides constants that give
// a short explanation with the purpose
// a service user.
// a service account.
// This allows to pre-create users with
// different permissions and reuse them.
type UserType int
@@ -195,14 +192,6 @@ func (i *Instance) Host() string {
return fmt.Sprintf("%s:%d", i.Domain, i.Config.Port)
}
func loadInstanceOwnerPAT() string {
data, err := os.ReadFile(filepath.Join(tmpDir, adminPATFile))
if err != nil {
panic(err)
}
return string(bytes.TrimSpace(data))
}
func (i *Instance) createMachineUserInstanceOwner(ctx context.Context, token string) {
mustAwait(func() error {
user, err := i.Client.Auth.GetMyUser(WithAuthorizationToken(ctx, token), &auth.GetMyUserRequest{})
+1 -1
View File
@@ -11,7 +11,7 @@
"human": null,
"machine": {
"name": "tests",
"description": "My test service user"
"description": "My test service account"
}
},
"org": {
+2 -2
View File
@@ -236,7 +236,7 @@ func Test_UserGrantPrepares(t *testing.T) {
},
},
{
name: "prepareUserGrantQuery machine user found",
name: "prepareUserGrantQuery service account found",
prepare: prepareUserGrantQuery,
want: want{
sqlExpectations: mockQuery(
@@ -634,7 +634,7 @@ func Test_UserGrantPrepares(t *testing.T) {
},
},
{
name: "prepareUserGrantsQuery one grant (machine user)",
name: "prepareUserGrantsQuery one grant (service account)",
prepare: prepareUserGrantsQuery,
want: want{
sqlExpectations: mockQueries(
+1 -1
View File
@@ -395,7 +395,7 @@ func TestQueries_GetOIDCUserInfo(t *testing.T) {
Human: nil,
Machine: &Machine{
Name: "tests",
Description: "My test service user",
Description: "My test service account",
},
},
Org: &UserInfoOrg{
+14 -14
View File
@@ -115,7 +115,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = {
},
{
name: "Users",
description: "ZITADEL knows two different types of users: Users (Human) and Service Users (Machine Accounts)"
description: "ZITADEL knows two different types of users: Users (Human) and Service Accounts"
},
{
name: "User Grants",
@@ -1729,11 +1729,11 @@ service ManagementService {
};
}
// Update Machine User
// Update Service Account
//
// Deprecated: use [user service v2 UpdateUser](apis/resources/user_service_v2/user-service-update-user.api.mdx) instead.
//
// Change a service account/machine user. It is used for accounts with non-interactive authentication possibilities.
// Change a service account/service account. It is used for accounts with non-interactive authentication possibilities.
rpc UpdateMachine(UpdateMachineRequest) returns (UpdateMachineResponse) {
option (google.api.http) = {
put: "/users/{user_id}/machine"
@@ -1765,11 +1765,11 @@ service ManagementService {
};
}
// Create Secret for Machine User
// Create Secret for Service Account
//
// Deprecated: use [user service v2 AddSecret](apis/resources/user_service_v2/user-service-add-secret.api.mdx) instead.
//
// Create a new secret for a machine user/service account. It is used to authenticate the user (client credential grant).
// Create a new secret for a service account. It is used to authenticate the user (client credential grant).
rpc GenerateMachineSecret(GenerateMachineSecretRequest) returns (GenerateMachineSecretResponse) {
option (google.api.http) = {
put: "/users/{user_id}/secret"
@@ -1801,11 +1801,11 @@ service ManagementService {
};
}
// Delete Secret of Machine User
// Delete Secret of Service Account
//
// Deprecated: use [user service v2 RemoveSecret](apis/resources/user_service_v2/user-service-remove-secret.api.mdx) instead.
//
// Delete a secret of a machine user/service account. The user will not be able to authenticate with the secret afterward.
// Delete a secret of a service account. The user will not be able to authenticate with the secret afterward.
rpc RemoveMachineSecret(RemoveMachineSecretRequest) returns (RemoveMachineSecretResponse) {
option (google.api.http) = {
delete: "/users/{user_id}/secret"
@@ -1836,11 +1836,11 @@ service ManagementService {
};
}
// Get Machine user Key By ID
// Get Service account Key By ID
//
// Deprecated: use [user service v2 ListUsers](apis/resources/user_service_v2/user-service-list-users.api.mdx) instead.
//
// Get a specific Key of a machine user by its id. Machine keys are used to authenticate with jwt profile authentication.
// Get a specific Key of a service account by its id. Machine keys are used to authenticate with jwt profile authentication.
rpc GetMachineKeyByIDs(GetMachineKeyByIDsRequest) returns (GetMachineKeyByIDsResponse) {
option (google.api.http) = {
get: "/users/{user_id}/keys/{key_id}"
@@ -1875,7 +1875,7 @@ service ManagementService {
//
// Deprecated: use [user service v2 ListKeys](apis/resources/user_service_v2/user-service-list-keys.api.mdx) instead.
//
// Get the list of keys of a machine user. Machine keys are used to authenticate with jwt profile authentication.
// Get the list of keys of a service account. Machine keys are used to authenticate with jwt profile authentication.
rpc ListMachineKeys(ListMachineKeysRequest) returns (ListMachineKeysResponse) {
option (google.api.http) = {
post: "/users/{user_id}/keys/_search"
@@ -1907,7 +1907,7 @@ service ManagementService {
};
}
// Create Key for machine user
// Create Key for service account
//
// Deprecated: use [user service v2 AddKey](apis/resources/user_service_v2/user-service-add-key.api.mdx) instead.
//
@@ -1946,7 +1946,7 @@ service ManagementService {
};
}
// Delete Key for machine user
// Delete Key for service account
//
// Deprecated: use [user service v2 RemoveKey](apis/resources/user_service_v2/user-service-remove-key.api.mdx) instead.
//
@@ -8834,14 +8834,14 @@ message AddMachineUserRequest {
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
max_length: 200;
example: "\"My Machine Account\"";
example: "\"My Service Account\"";
}
];
string description = 3 [
(validate.rules).string = {max_len: 500},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
max_length: 500;
example: "\"First machine account used for API XY.\"";
example: "\"First service account used for API XY.\"";
}
];
+2 -2
View File
@@ -1504,7 +1504,7 @@ service UserService {
// Remove a Users Secret
//
// Remove the current client ID and client secret from a machine user.
// Remove the current client ID and client secret from a service account.
//
// Required permission:
// - user.write
@@ -1620,7 +1620,7 @@ service UserService {
responses: {
key: "200";
value: {
description: "A list of all machine user keys matching the query";
description: "A list of all service account keys matching the query";
};
};
responses: {