From e2180a6ccdde4181b5fac53d974201047f18ccd5 Mon Sep 17 00:00:00 2001 From: Blai Peidro Date: Wed, 4 Nov 2026 01:56:08 +0100 Subject: [PATCH] docs: a credential's user and password can be written to a secret store --- i18n/ca/_configure/credentials/list.md | 8 +++-- i18n/ca/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/ca/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/de/_configure/credentials/list.md | 8 +++-- i18n/de/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/de/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/es/_configure/credentials/list.md | 8 +++-- i18n/es/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/es/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/fr/_configure/credentials/list.md | 8 +++-- i18n/fr/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/fr/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/it/_configure/credentials/list.md | 8 +++-- i18n/it/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/it/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/ja/_configure/credentials/list.md | 8 +++-- i18n/ja/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/ja/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/nl/_configure/credentials/list.md | 8 +++-- i18n/nl/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/nl/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/pl/_configure/credentials/list.md | 8 +++-- i18n/pl/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/pl/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/pt/_configure/credentials/list.md | 8 +++-- i18n/pt/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/pt/_configure/secret-stores/index.md | 35 +++++++++++++++---- i18n/zh/_configure/credentials/list.md | 8 +++-- i18n/zh/_configure/secret-stores/cyberark.md | 28 +++++++++++++-- .../secret-stores/hashicorp-vault.md | 28 +++++++++++++-- i18n/zh/_configure/secret-stores/index.md | 35 +++++++++++++++---- source/_configure/credentials/list.md | 6 ++-- source/_configure/secret-stores/cyberark.md | 26 +++++++++++++- .../secret-stores/hashicorp-vault.md | 26 +++++++++++++- source/_configure/secret-stores/index.md | 33 ++++++++++++++--- 44 files changed, 942 insertions(+), 139 deletions(-) diff --git a/i18n/ca/_configure/credentials/list.md b/i18n/ca/_configure/credentials/list.md index 688f7fa..5e32942 100644 --- a/i18n/ca/_configure/credentials/list.md +++ b/i18n/ca/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: La pàgina de credencials parent: Credencials nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # La pàgina de credencials @@ -21,7 +21,7 @@ nombre de registres, formularis i workflows que la nomenen (vegeu [Credencials e |---|---| | Credencial | Nom i descripció, tots dos obligatoris. | | Tipus | Un de 18 tipus, vegeu més avall. | -| Magatzem | On es desen l'usuari i la contrasenya: **Base de dades** (xifrats a la base de dades d'AnsibleForms) o **Magatzem de secrets**, amb el magatzem i la **Referència** que hi ha dins. No per a CyberArk ni HashiCorp Vault, amb els quals inicia sessió un magatzem de secrets. La **Referència** apareix quan s'ha triat un magatzem; el seu exemple segueix el magatzem: un camí de HashiCorp Vault o un compte de CyberArk. | +| Magatzem | On es guarden l'usuari i la contrasenya: **Base de dades** (xifrats a la base de dades d'AnsibleForms) o **Magatzem de secrets**. Sota **Magatzem de secrets**, **Apunta a una clau** llegeix un secret que ja és al magatzem, i **Escriu a una clau** escriu al magatzem, en **Desar**, l'usuari i la contrasenya escrits al pas **Accés**. Després tria el magatzem i omple la **Referència**; el seu exemple segueix el magatzem: un camí de HashiCorp Vault o un compte de CyberArk. No per a CyberArk ni HashiCorp Vault, amb els quals inicia la sessió un magatzem de secrets. | | Accés | Amb què i on inicia sessió el tipus, vegeu més avall. | El pas **Tipus** llista els tipus pel seu nom: AAP, API, Ascender, AWX, CyberArk, Base de dades, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ El pas **Accés** conté tots els camps del tipus, l'adreça inclosa; no hi ha c | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Servidor**, l'adreça on inicia sessió, obligatori, amb **Omet la verificació del certificat** i el **Paquet de CA** | | CyberArk | **Certificat de client** i **Clau del client** | -Amb **Magatzem de secrets**, no es demanen l'usuari ni la contrasenya: els dona el magatzem. El pas **Accés** només conserva els camps d'adreça del tipus (SSH, base de dades, servidors de correu i de directori, l'adreça d'un servidor), i un accés simple (Usuari i contrasenya, Git, API) no té pas **Accés**: es desa des del pas **Magatzem**. +Amb **Apunta a una clau**, no es demanen l'usuari ni la contrasenya: els dona el magatzem. El pas **Accés** només conserva els camps d'adreça del tipus (SSH, base de dades, servidors de correu i de directori, l'adreça d'un servidor), i un accés simple (Usuari i contrasenya, Git, API) no té pas **Accés**: es desa des del pas **Magatzem**. + +Amb **Escriu a una clau** (des de 7.6.0), el pas **Accés** demana l'usuari i la contrasenya, i **Desa** els escriu al magatzem a la **Referència**; AnsibleForms només en conserva el magatzem i la referència. Només s'ofereixen els magatzems que permeten escriure, i **Afegeix un magatzem de secrets** en crea un amb l'escriptura ja activada. Una clau que ja té un secret només es reemplaça si **Sobreescriu un secret que ja hi sigui** està marcat, vegeu [Escriure credencials](../secret-stores/#writing-credentials). Una fila obre la pàgina pròpia de la credencial. El seu menú ofereix **Edita**, **Prova la connexió** (només credencials de base de dades) i **Suprimeix**. La contrasenya es canvia a la pàgina de la credencial, a la seva pestanya **Accés**. diff --git a/i18n/ca/_configure/secret-stores/cyberark.md b/i18n/ca/_configure/secret-stores/cyberark.md index f8b6de5..0fe6841 100644 --- a/i18n/ca/_configure/secret-stores/cyberark.md +++ b/i18n/ca/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Magatzems de secrets nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Llegeix credencials del CyberArk Central Credential Provider (CCP) +Llegir credencials a través del CCP de CyberArk, escriure-les a través del seu PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Escriure credencials + +Des de 7.6.0, l'usuari i la contrasenya d'una credencial es poden escriure a CyberArk en **Desar** (vegeu [Escriure credencials](./#writing-credentials)). +El CCP només llegeix, així que AnsibleForms escriu a través de l'API REST del PVWA, amb una credencial pròpia. + +Activa **Permet l'escriptura** a les **Opcions** del magatzem i omple: + +| Camp | Significat | +|---|---| +| Permet l'escriptura | Permet que una credencial escrigui el seu usuari i contrasenya en aquest magatzem en **Desar**. Desactivat per defecte. | +| Caixes fortes on escriure | Les caixes fortes on es poden escriure credencials, separades per comes, p. ex. `Linux, DB`. Obligatori amb l'escriptura activada. | +| Adreça del PVWA | L'URL base del PVWA, p. ex. `https://pvwa.example.com`. Obligatòria. | +| Credencial del PVWA | Una credencial pròpia de tipus **Usuari i contrasenya** o **API**, mai llegida d'un magatzem de secrets, que pot afegir comptes a aquestes caixes fortes i canviar-ne les contrasenyes. Obligatòria. | +| Mètode d'inici de sessió | Com inicia la sessió la credencial del PVWA: CyberArk (per defecte), LDAP, RADIUS o Windows. | +| ID de plataforma | La plataforma dels comptes que afegeix, p. ex. `UnixSSH`. Necessari per afegir un compte nou. | + +La referència anomena el compte com en llegir, `Safe=Linux;Object=srv01-root`, amb `Address=srv01.example.com` quan la seva plataforma en necessita una. + +- Un compte nou s'afegeix a la caixa forta amb la plataforma, el nom d'usuari i la contrasenya. +- Un compte existent només es canvia si **Sobreescriu un secret que ja hi sigui** està marcat: primer el nom d'usuari, després la contrasenya. +- La sessió del PVWA es tanca després de cada escriptura. L'inici de sessió OAuth de Privilege Cloud no és compatible. + +--- + ## Opcions addicionals Les opcions addicionals del magatzem es defineixen com a objecte JSON: diff --git a/i18n/ca/_configure/secret-stores/hashicorp-vault.md b/i18n/ca/_configure/secret-stores/hashicorp-vault.md index 2164a6c..ee09ea6 100644 --- a/i18n/ca/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/ca/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Magatzems de secrets nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Llegeix credencials d'HashiCorp Vault, de KV v1 o v2 o d'un motor de secrets dinàmics +Llegir i escriure credencials a HashiCorp Vault KV, llegir secrets dinàmics {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ s'insereix quan no el poses. --- +## Escriure credencials + +Des de 7.6.0, l'usuari i la contrasenya d'una credencial es poden escriure al Vault en **Desar** (vegeu [Escriure credencials](./#writing-credentials)). + +Activa **Permet l'escriptura** a les **Opcions** del magatzem, i indica on pot escriure: + +| Camp | Significat | +|---|---| +| Permet l'escriptura | Permet que una credencial escrigui el seu usuari i contrasenya en aquest magatzem en **Desar**. Desactivat per defecte. | +| Prefix d'escriptura | El camí on, o sota el qual, s'escriuen les credencials, p. ex. `secret/ansibleforms`. Un muntatge sol, p. ex. `secret`, permet tot el muntatge. Obligatori amb l'escriptura activada. | + +El secret s'escriu com a `username` i `password`, a KV v2 o v1 segons la **Versió KV** del magatzem. El testimoni necessita les capacitats +read, create i update sota el prefix; read comprova si ja hi ha un secret. Per a KV v2 i el prefix `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +El camí d'un motor de secrets dinàmics, p. ex. `database/creds/readonly`, no s'escriu mai: Vault crea aquestes credencials ell mateix. + +--- + ## Credencials dinàmiques de base de dades Una referència de la forma `/creds/`, p. ex. `database/creds/readonly`, llegeix d'un diff --git a/i18n/ca/_configure/secret-stores/index.md b/i18n/ca/_configure/secret-stores/index.md index 8b47965..1e51bf0 100644 --- a/i18n/ca/_configure/secret-stores/index.md +++ b/i18n/ca/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Magatzems de secrets {: .no_toc } -Llegeix les credencials d'un gestor de secrets en lloc de desar-les a AnsibleForms +Llegir i escriure credencials en un gestor de secrets en lloc d'a AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Llegeix les credencials d'un gestor de secrets en lloc de desar-les a AnsibleFor --- -Per a administradors: connecta un gestor de secrets, i deixa que les credencials en llegeixin l'usuari i la contrasenya. +Per als administradors: connectar un gestor de secrets, perquè les credencials en llegeixin l'usuari i la contrasenya o els hi escriguin. --- @@ -41,6 +41,8 @@ res als teus formularis. | HashiCorp Vault (KV v1 i v2, autenticació per token) | disponible | | Credencials dinàmiques d'HashiCorp Vault (`/creds/`) | experimental | | CyberArk Central Credential Provider (CCP) | experimental | +| Escriptura de credencials a HashiCorp Vault KV | disponible | +| Escriptura de credencials a CyberArk, a través del seu PVWA | experimental | --- @@ -75,8 +77,8 @@ Cada gestor de secrets té la seva pròpia pàgina: ### En una credencial -A **Connexions > Credencials**, al pas **Magatzem** de la credencial, tria **Magatzem de secrets**, després tria el -**Magatzem de secrets** i omple la **Referència**. L'usuari i la contrasenya es llegeixen llavors del magatzem, no s'escriuen. +A **Connexions > Credencials**, al pas **Magatzem** de la credencial, tria **Magatzem de secrets** i **Apunta a una clau**, després +tria el **Magatzem de secrets** i omple la **Referència**. L'usuari i la contrasenya es llegeixen llavors del magatzem, no s'escriuen. ### En línia, sense fila de credencial @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Escriure credencials + +Des de 7.6.0, l'usuari i la contrasenya d'una credencial es poden escriure en un magatzem en desar-la, sense haver-los de posar-hi abans. + +Al pas **Magatzem** de la credencial, tria **Magatzem de secrets** i **Escriu a una clau**, tria el magatzem i omple la **Referència**. +El pas **Accés** demana llavors l'usuari i la contrasenya, i **Desa** els escriu al magatzem; AnsibleForms només en conserva el magatzem i la referència. + +- Només s'ofereix un magatzem amb **Permet l'escriptura** activat a les seves **Opcions**, i només escriu on les seves opcions ho permeten. +- Una clau que ja té un secret només es reemplaça si **Sobreescriu un secret que ja hi sigui** està marcat; si no, no s'escriu ni es desa res. +- Només un admin pot escriure, i cada escriptura s'audita com a `credential.secret_write`, sense el secret. + +Com es configura cada gestor de secrets per escriure: + +| Pàgina | Què hi trobaràs | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Un prefix d'escriptura, i les capacitats del testimoni | +| [CyberArk](cyberark.html#writing-credentials) | Les caixes fortes, i el PVWA amb la seva credencial i plataforma | + +--- + ## A la llavor de configuració Els magatzems també es poden declarar a la llavor de configuració, com els altres objectes d'administració: @@ -161,7 +183,8 @@ credentials: El magatzem inicia sessió amb la seva credencial: una de `vault` conté l'adreça del Vault a `url` i el token com a contrasenya, una de `cyberark` l'AppID i l'adreça del CCP. Sense credencial, es fan servir l'`url` i el `token` propis del magatzem. -Per als detalls, vegeu [Llavor de configuració](../seed). +Un magatzem que permet escriure defineix `write_enabled: true` i `write_prefix` (a CyberArk, les seves caixes fortes), i un CyberArk també `pvwa_url`, +`pvwa_credential`, `pvwa_auth` i `platform_id`. Per als detalls, vegeu [Llavor de configuració](../seed). --- diff --git a/i18n/de/_configure/credentials/list.md b/i18n/de/_configure/credentials/list.md index 6afb4a4..403d476 100644 --- a/i18n/de/_configure/credentials/list.md +++ b/i18n/de/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: Die Seite Anmeldedaten parent: Anmeldedaten nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # Die Seite Anmeldedaten @@ -21,7 +21,7 @@ Anzahl der Datensätze, Formulare und Workflows, die sie nennen (siehe [Verwende |---|---| | Anmeldedaten | Name und Beschreibung, beide erforderlich. | | Typ | Einer von 18 Typen, siehe unten. | -| Speicher | Wo Benutzer und Passwort gespeichert werden: **Datenbank** (verschlüsselt in der AnsibleForms-Datenbank) oder **Secret Store**, mit dem Store und der **Referenz** darin. Nicht für CyberArk und HashiCorp Vault, mit denen sich ein Secret Store anmeldet. Die **Referenz** erscheint, sobald ein Store gewählt ist; ihr Beispiel folgt dem Store: ein HashiCorp-Vault-Pfad oder ein CyberArk-Konto. | +| Speicher | Wo Benutzer und Passwort gespeichert werden: **Datenbank** (verschlüsselt in der AnsibleForms-Datenbank) oder **Secret Store**. Unter **Secret Store** liest **Auf einen Schlüssel verweisen** ein Secret, das schon im Store liegt, und **In einen Schlüssel schreiben** schreibt die im Schritt **Anmeldung** eingegebenen Benutzer und Passwort beim **Speichern** in den Store. Wählen Sie dann den Store und füllen Sie die **Referenz** aus; ihr Beispiel folgt dem Store: ein HashiCorp-Vault-Pfad oder ein CyberArk-Konto. Nicht für CyberArk und HashiCorp Vault, mit denen sich ein Secret Store anmeldet. | | Anmeldung | Womit und wo sich der Typ anmeldet, siehe unten. | Der Schritt **Typ** listet die Typen nach Namen auf: AAP, API, Ascender, AWX, CyberArk, Datenbank, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ Der Schritt **Anmeldung** enthält jedes Feld des Typs, die Adresse eingeschloss | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Server**, die Adresse, bei der er sich anmeldet, erforderlich, mit **Zertifikatsprüfung überspringen** und dem **CA-Bundle** | | CyberArk | **Client-Zertifikat** und **Client-Schlüssel** | -Mit **Secret Store** werden Benutzer und Passwort nicht abgefragt: Der Store liefert sie. Der Schritt **Anmeldung** behält dann nur die Adressfelder des Typs (SSH, Datenbank, Mail- und Verzeichnisserver, eine Serveradresse), und eine einfache Anmeldung (Benutzer und Passwort, Git, API) hat gar keinen Schritt **Anmeldung**: Sie wird im Schritt **Speicher** gespeichert. +Mit **Auf einen Schlüssel verweisen** werden Benutzer und Passwort nicht abgefragt: Der Store liefert sie. Der Schritt **Anmeldung** behält dann nur die Adressfelder des Typs (SSH, Datenbank, Mail- und Verzeichnisserver, eine Serveradresse), und eine einfache Anmeldung (Benutzer und Passwort, Git, API) hat gar keinen Schritt **Anmeldung**: Sie wird im Schritt **Speicher** gespeichert. + +Mit **In einen Schlüssel schreiben** (ab 7.6.0) fragt der Schritt **Anmeldung** Benutzer und Passwort ab, und **Speichern** schreibt sie an der **Referenz** in den Store; AnsibleForms behält nur Store und Referenz. Angeboten werden nur Stores, die Schreiben erlauben, und **Secret Store hinzufügen** legt einen mit bereits eingeschaltetem Schreiben an. Ein Schlüssel, der schon ein Secret enthält, wird nur ersetzt, wenn **Ein vorhandenes Geheimnis überschreiben** angehakt ist, siehe [Anmeldedaten schreiben](../secret-stores/#writing-credentials). Eine Zeile öffnet die eigene Seite des Eintrags. Ihr Menü bietet **Bearbeiten**, **Verbindung testen** (nur bei Datenbank-Anmeldedaten) und **Löschen**. Das Passwort wird auf der Seite des Eintrags geändert, in seinem Tab **Anmeldung**. diff --git a/i18n/de/_configure/secret-stores/cyberark.md b/i18n/de/_configure/secret-stores/cyberark.md index 3327201..5915935 100644 --- a/i18n/de/_configure/secret-stores/cyberark.md +++ b/i18n/de/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Secret Stores nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Anmeldedaten aus dem CyberArk Central Credential Provider (CCP) lesen +Anmeldedaten über das CyberArk CCP lesen, über sein PVWA schreiben {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Anmeldedaten schreiben + +Ab 7.6.0 können Benutzer und Passwort von Anmeldedaten beim **Speichern** in CyberArk geschrieben werden (siehe [Anmeldedaten schreiben](./#writing-credentials)). +Das CCP liest nur, daher schreibt AnsibleForms über die PVWA-REST-API, angemeldet mit eigenen Anmeldedaten. + +Schalten Sie **Schreiben erlauben** in den **Optionen** des Stores ein, und füllen Sie dann aus: + +| Feld | Bedeutung | +|---|---| +| Schreiben erlauben | Erlaubt Anmeldedaten, beim **Speichern** Benutzer und Passwort in diesen Store zu schreiben. Standardmäßig aus. | +| Safes zum Schreiben | Die Safes, in die Anmeldedaten geschrieben werden dürfen, durch Kommas getrennt, z. B. `Linux, DB`. Bei eingeschaltetem Schreiben erforderlich. | +| PVWA-Adresse | Die Basis-URL des PVWA, z. B. `https://pvwa.example.com`. Erforderlich. | +| PVWA-Anmeldeinformation | Eigene Anmeldedaten vom Typ **Benutzer und Passwort** oder **API**, nie aus einem Secret Store gelesen, die in diesen Safes Konten anlegen und deren Passwörter ändern dürfen. Erforderlich. | +| Anmeldemethode | Wie sich die PVWA-Anmeldeinformation anmeldet: CyberArk (Standard), LDAP, RADIUS oder Windows. | +| Plattform-ID | Die Plattform der angelegten Konten, z. B. `UnixSSH`. Zum Anlegen eines neuen Kontos nötig. | + +Die Referenz nennt das Konto wie beim Lesen, `Safe=Linux;Object=srv01-root`, mit `Address=srv01.example.com`, wenn seine Plattform eine braucht. + +- Ein neues Konto wird mit Plattform, Benutzername und Passwort im Safe angelegt. +- Ein vorhandenes Konto wird nur geändert, wenn **Ein vorhandenes Geheimnis überschreiben** angehakt ist: erst der Benutzername, dann das Passwort. +- Die PVWA-Sitzung wird nach jedem Schreiben abgemeldet. Die OAuth-Anmeldung von Privilege Cloud wird nicht unterstützt. + +--- + ## Zusätzliche Optionen Die zusätzlichen Optionen des Stores werden als JSON-Objekt gesetzt: diff --git a/i18n/de/_configure/secret-stores/hashicorp-vault.md b/i18n/de/_configure/secret-stores/hashicorp-vault.md index 148a203..6d7a047 100644 --- a/i18n/de/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/de/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Secret Stores nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Anmeldedaten aus HashiCorp Vault lesen, aus KV v1 oder v2 oder einer Engine für dynamische Secrets +Anmeldedaten in HashiCorp Vault KV lesen und schreiben, dynamische Secrets lesen {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ eingefügt, wenn Sie es weglassen. --- +## Anmeldedaten schreiben + +Ab 7.6.0 können Benutzer und Passwort von Anmeldedaten beim **Speichern** in den Vault geschrieben werden (siehe [Anmeldedaten schreiben](./#writing-credentials)). + +Schalten Sie **Schreiben erlauben** in den **Optionen** des Stores ein, und legen Sie fest, wohin er schreiben darf: + +| Feld | Bedeutung | +|---|---| +| Schreiben erlauben | Erlaubt Anmeldedaten, beim **Speichern** Benutzer und Passwort in diesen Store zu schreiben. Standardmäßig aus. | +| Schreibpräfix | Der Pfad, an oder unter dem Anmeldedaten geschrieben werden, z. B. `secret/ansibleforms`. Ein Mount allein, z. B. `secret`, erlaubt den ganzen Mount. Bei eingeschaltetem Schreiben erforderlich. | + +Das Secret wird als `username` und `password` geschrieben, in KV v2 oder v1, wie die **KV-Version** des Stores es angibt. Das Token braucht die +Fähigkeiten read, create und update unterhalb des Präfixes; read prüft, ob dort schon ein Secret liegt. Für KV v2 und das Präfix `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +Der Pfad einer Engine für dynamische Secrets, z. B. `database/creds/readonly`, wird nie beschrieben: Vault erzeugt diese Anmeldedaten selbst. + +--- + ## Dynamische Datenbank-Anmeldedaten Eine Referenz der Form `/creds/`, z. B. `database/creds/readonly`, liest aus einer diff --git a/i18n/de/_configure/secret-stores/index.md b/i18n/de/_configure/secret-stores/index.md index b540d2d..a3a5de4 100644 --- a/i18n/de/_configure/secret-stores/index.md +++ b/i18n/de/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Secret Stores {: .no_toc } -Anmeldedaten aus einem Secret Manager lesen, statt sie in AnsibleForms zu speichern +Anmeldedaten in einem Secret Manager lesen und schreiben statt in AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Anmeldedaten aus einem Secret Manager lesen, statt sie in AnsibleForms zu speich --- -Für Administratoren: Binden Sie einen Secret Manager an, und lassen Sie Anmeldedaten ihren Benutzer und ihr Passwort daraus lesen. +Für Administratoren: Binden Sie einen Secret Manager an, und lassen Sie Anmeldedaten ihren Benutzer und ihr Passwort daraus lesen oder dorthin schreiben. --- @@ -41,6 +41,8 @@ nichts an Ihren Formularen. | HashiCorp Vault (KV v1 und v2, Token-Authentifizierung) | verfügbar | | Dynamische Anmeldedaten von HashiCorp Vault (`/creds/`) | experimentell | | CyberArk Central Credential Provider (CCP) | experimentell | +| Anmeldedaten in HashiCorp Vault KV schreiben | verfügbar | +| Anmeldedaten über das PVWA in CyberArk schreiben | experimentell | --- @@ -75,8 +77,8 @@ Jeder Secret Manager hat eine eigene Seite: ### In Anmeldedaten -Wählen Sie unter **Verbindungen > Anmeldedaten** im Schritt **Speicher** der Anmeldedaten **Secret Store**, wählen Sie dann den -**Secret Store** und füllen Sie die **Referenz** aus. Benutzer und Passwort werden dann aus dem Store gelesen, nicht eingegeben. +Wählen Sie unter **Verbindungen > Anmeldedaten** im Schritt **Speicher** der Anmeldedaten **Secret Store** und **Auf einen Schlüssel verweisen**, +wählen Sie dann den **Secret Store** und füllen Sie die **Referenz** aus. Benutzer und Passwort werden dann aus dem Store gelesen, nicht eingegeben. ### Inline, ohne Anmeldedaten-Zeile @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Anmeldedaten schreiben + +Ab 7.6.0 können Benutzer und Passwort von Anmeldedaten beim Speichern in einen Store geschrieben werden, sie müssen also nie zuerst dort abgelegt werden. + +Wählen Sie im Schritt **Speicher** der Anmeldedaten **Secret Store** und **In einen Schlüssel schreiben**, wählen Sie den Store und füllen Sie die **Referenz** aus. +Der Schritt **Anmeldung** fragt dann Benutzer und Passwort ab, und **Speichern** schreibt sie in den Store; AnsibleForms behält nur Store und Referenz. + +- Angeboten wird nur ein Store, bei dem **Schreiben erlauben** in seinen **Optionen** eingeschaltet ist, und er schreibt nur, wo seine Optionen es erlauben. +- Ein Schlüssel, der schon ein Secret enthält, wird nur ersetzt, wenn **Ein vorhandenes Geheimnis überschreiben** angehakt ist; sonst wird nichts geschrieben oder gespeichert. +- Nur ein Admin kann schreiben, und jedes Schreiben wird als `credential.secret_write` protokolliert, ohne das Secret. + +Wie jeder Secret Manager für das Schreiben eingerichtet wird: + +| Seite | Inhalt | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Ein Schreibpräfix und die Fähigkeiten des Tokens | +| [CyberArk](cyberark.html#writing-credentials) | Die Safes und das PVWA mit seiner Anmeldeinformation und Plattform | + +--- + ## Im Config-Seed Stores lassen sich wie die anderen Admin-Objekte auch im Config-Seed deklarieren: @@ -161,7 +183,8 @@ credentials: Der Store meldet sich mit seinen Anmeldedaten an: `vault`-Anmeldedaten enthalten die Adresse des Vault in `url` und das Token als Passwort, `cyberark`-Anmeldedaten die AppID und die Adresse des CCP. Ohne Anmeldedaten werden `url` und `token` des Stores selbst verwendet. -Details finden Sie unter [Config-Seed](../seed). +Ein Store, der Schreiben erlaubt, setzt `write_enabled: true` und `write_prefix` (bei CyberArk seine Safes), und CyberArk zusätzlich `pvwa_url`, +`pvwa_credential`, `pvwa_auth` und `platform_id`. Details finden Sie unter [Config-Seed](../seed). --- diff --git a/i18n/es/_configure/credentials/list.md b/i18n/es/_configure/credentials/list.md index c22f6df..016df7a 100644 --- a/i18n/es/_configure/credentials/list.md +++ b/i18n/es/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: La página de credenciales parent: Credenciales nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # La página de credenciales @@ -21,7 +21,7 @@ número de registros, formularios y workflows que la nombran (consulta [Credenci |---|---| | Credencial | Nombre y descripción, ambos obligatorios. | | Tipo | Uno de 18 tipos, ver más abajo. | -| Almacén | Dónde se guardan el usuario y la contraseña: **Base de datos** (cifrados en la base de datos de AnsibleForms) o **Almacén de secretos**, con el almacén y la **Referencia** dentro de él. No para CyberArk ni HashiCorp Vault, con los que inicia sesión un almacén de secretos. La **Referencia** aparece cuando se elige un almacén; su ejemplo sigue al almacén: una ruta de HashiCorp Vault o una cuenta de CyberArk. | +| Almacén | Dónde se guardan el usuario y la contraseña: **Base de datos** (cifrados en la base de datos de AnsibleForms) o **Almacén de secretos**. En **Almacén de secretos**, **Apuntar a una clave** lee un secreto que ya está en el almacén, y **Escribir en una clave** escribe en el almacén, al **Guardar**, el usuario y la contraseña escritos en el paso **Acceso**. Luego elige el almacén y rellena la **Referencia**; su ejemplo sigue al almacén: una ruta de HashiCorp Vault o una cuenta de CyberArk. No para CyberArk ni HashiCorp Vault, con los que inicia sesión un almacén de secretos. | | Acceso | Con qué y dónde inicia sesión el tipo, ver más abajo. | El paso **Tipo** lista los tipos por su nombre: AAP, API, Ascender, AWX, CyberArk, Base de datos, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ El paso **Acceso** contiene todos los campos del tipo, la dirección incluida; n | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Servidor**, la dirección en la que inicia sesión, obligatorio, con **Omitir la verificación del certificado** y el **Paquete CA** | | CyberArk | **Certificado de cliente** y **Clave de cliente** | -Con **Almacén de secretos**, no se piden el usuario ni la contraseña: los da el almacén. El paso **Acceso** solo conserva los campos de dirección del tipo (SSH, base de datos, servidores de correo y de directorio, la dirección de un servidor), y un acceso simple (Usuario y contraseña, Git, API) no tiene paso **Acceso**: se guarda desde el paso **Almacén**. +Con **Apuntar a una clave**, no se piden el usuario ni la contraseña: los da el almacén. El paso **Acceso** solo conserva los campos de dirección del tipo (SSH, base de datos, servidores de correo y de directorio, la dirección de un servidor), y un acceso simple (Usuario y contraseña, Git, API) no tiene paso **Acceso**: se guarda desde el paso **Almacén**. + +Con **Escribir en una clave** (desde 7.6.0), el paso **Acceso** pide el usuario y la contraseña, y **Guardar** los escribe en el almacén en la **Referencia**; AnsibleForms solo guarda el almacén y la referencia. Solo se ofrecen los almacenes que permiten escribir, y **Añadir almacén de secretos** crea uno con la escritura ya activada. Una clave que ya tiene un secreto solo se reemplaza si **Sobrescribir un secreto que ya esté allí** está marcado, ver [Escribir credenciales](../secret-stores/#writing-credentials). Una fila abre la página propia de la credencial. Su menú ofrece **Editar**, **Probar conexión** (solo credenciales de base de datos) y **Eliminar**. La contraseña se cambia en la página de la credencial, en su pestaña **Acceso**. diff --git a/i18n/es/_configure/secret-stores/cyberark.md b/i18n/es/_configure/secret-stores/cyberark.md index 708f6ae..6c8309d 100644 --- a/i18n/es/_configure/secret-stores/cyberark.md +++ b/i18n/es/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Almacenes de secretos nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Leer credenciales del Central Credential Provider (CCP) de CyberArk +Leer credenciales a través del CCP de CyberArk, escribirlas a través de su PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Escribir credenciales + +Desde 7.6.0, el usuario y la contraseña de una credencial se pueden escribir en CyberArk al **Guardar** (ver [Escribir credenciales](./#writing-credentials)). +El CCP solo lee, así que AnsibleForms escribe a través de la API REST del PVWA, con una credencial propia. + +Activa **Permitir la escritura** en las **Opciones** del almacén y rellena: + +| Campo | Significado | +|---|---| +| Permitir la escritura | Permite que una credencial escriba su usuario y contraseña en este almacén al **Guardar**. Desactivado por defecto. | +| Cajas fuertes donde escribir | Las cajas fuertes donde se pueden escribir credenciales, separadas por comas, p. ej. `Linux, DB`. Obligatorio con la escritura activada. | +| Dirección del PVWA | La URL base del PVWA, p. ej. `https://pvwa.example.com`. Obligatoria. | +| Credencial del PVWA | Una credencial propia de tipo **Usuario y contraseña** o **API**, nunca leída de un almacén de secretos, que puede añadir cuentas a esas cajas fuertes y cambiar sus contraseñas. Obligatoria. | +| Método de inicio de sesión | Cómo inicia sesión la credencial del PVWA: CyberArk (por defecto), LDAP, RADIUS o Windows. | +| ID de plataforma | La plataforma de las cuentas que añade, p. ej. `UnixSSH`. Necesario para añadir una cuenta nueva. | + +La referencia nombra la cuenta como al leer, `Safe=Linux;Object=srv01-root`, con `Address=srv01.example.com` cuando su plataforma lo necesita. + +- Una cuenta nueva se añade a la caja fuerte con la plataforma, el nombre de usuario y la contraseña. +- Una cuenta existente solo se cambia si **Sobrescribir un secreto que ya esté allí** está marcado: su nombre de usuario y luego su contraseña. +- La sesión del PVWA se cierra después de cada escritura. El inicio de sesión OAuth de Privilege Cloud no está soportado. + +--- + ## Opciones adicionales Las opciones adicionales del almacén se definen como un objeto JSON: diff --git a/i18n/es/_configure/secret-stores/hashicorp-vault.md b/i18n/es/_configure/secret-stores/hashicorp-vault.md index 5ae26a9..f38b7ef 100644 --- a/i18n/es/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/es/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Almacenes de secretos nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Leer credenciales de HashiCorp Vault, de KV v1 o v2 o de un motor de secretos dinámicos +Leer y escribir credenciales en HashiCorp Vault KV, leer secretos dinámicos {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ se inserta si lo omites. --- +## Escribir credenciales + +Desde 7.6.0, el usuario y la contraseña de una credencial se pueden escribir en el Vault al **Guardar** (ver [Escribir credenciales](./#writing-credentials)). + +Activa **Permitir la escritura** en las **Opciones** del almacén, e indica dónde puede escribir: + +| Campo | Significado | +|---|---| +| Permitir la escritura | Permite que una credencial escriba su usuario y contraseña en este almacén al **Guardar**. Desactivado por defecto. | +| Prefijo de escritura | La ruta en la que, o bajo la que, se escriben las credenciales, p. ej. `secret/ansibleforms`. Un montaje solo, p. ej. `secret`, permite todo el montaje. Obligatorio con la escritura activada. | + +El secreto se escribe como `username` y `password`, en KV v2 o v1 según la **Versión KV** del almacén. El token necesita las capacidades +read, create y update bajo el prefijo; read comprueba si ya hay un secreto. Para KV v2 y el prefijo `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +La ruta de un motor de secretos dinámicos, p. ej. `database/creds/readonly`, nunca se escribe: Vault crea esas credenciales él mismo. + +--- + ## Credenciales dinámicas de base de datos Una referencia de la forma `/creds/`, p. ej. `database/creds/readonly`, lee de un diff --git a/i18n/es/_configure/secret-stores/index.md b/i18n/es/_configure/secret-stores/index.md index 29e76fc..1f457eb 100644 --- a/i18n/es/_configure/secret-stores/index.md +++ b/i18n/es/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Almacenes de secretos {: .no_toc } -Leer credenciales de un gestor de secretos en lugar de guardarlas en AnsibleForms +Leer y escribir credenciales en un gestor de secretos en lugar de en AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Leer credenciales de un gestor de secretos en lugar de guardarlas en AnsibleForm --- -Para administradores: conecta un gestor de secretos, y deja que las credenciales lean de él su usuario y su contraseña. +Para administradores: conectar un gestor de secretos, para que las credenciales lean de él su usuario y contraseña o los escriban en él. --- @@ -41,6 +41,8 @@ nada en tus formularios. | HashiCorp Vault (KV v1 y v2, autenticación por token) | disponible | | Credenciales dinámicas de HashiCorp Vault (`/creds/`) | experimental | | CyberArk Central Credential Provider (CCP) | experimental | +| Escritura de credenciales en HashiCorp Vault KV | disponible | +| Escritura de credenciales en CyberArk, a través de su PVWA | experimental | --- @@ -75,8 +77,8 @@ Cada gestor de secretos tiene su propia página: ### En una credencial -En **Conexiones > Credenciales**, en el paso **Almacén** de la credencial, elige **Almacén de secretos**, luego selecciona el -**Almacén de secretos** y rellena la **Referencia**. El usuario y la contraseña se leen entonces del almacén, no se escriben. +En **Conexiones > Credenciales**, en el paso **Almacén** de la credencial, elige **Almacén de secretos** y **Apuntar a una clave**, luego +elige el **Almacén de secretos** y rellena la **Referencia**. El usuario y la contraseña se leen entonces del almacén, no se escriben. ### En línea, sin fila de credencial @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Escribir credenciales + +Desde 7.6.0, el usuario y la contraseña de una credencial se pueden escribir en un almacén al guardarla, sin tener que ponerlos allí antes. + +En el paso **Almacén** de la credencial, elige **Almacén de secretos** y **Escribir en una clave**, elige el almacén y rellena la **Referencia**. +El paso **Acceso** pide entonces el usuario y la contraseña, y **Guardar** los escribe en el almacén; AnsibleForms solo guarda el almacén y la referencia. + +- Solo se ofrece un almacén con **Permitir la escritura** activado en sus **Opciones**, y solo escribe donde sus opciones lo permiten. +- Una clave que ya tiene un secreto solo se reemplaza si **Sobrescribir un secreto que ya esté allí** está marcado; si no, no se escribe ni se guarda nada. +- Solo un admin puede escribir, y cada escritura se audita como `credential.secret_write`, sin el secreto. + +Cómo se configura cada gestor de secretos para escribir: + +| Página | Qué trata | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Un prefijo de escritura, y las capacidades del token | +| [CyberArk](cyberark.html#writing-credentials) | Las cajas fuertes, y el PVWA con su credencial y plataforma | + +--- + ## En la semilla de configuración Los almacenes también se pueden declarar en la semilla de configuración, como los demás objetos de administración: @@ -161,7 +183,8 @@ credentials: El almacén inicia sesión con su credencial: una `vault` contiene la dirección del Vault en `url` y el token como contraseña, una `cyberark` el AppID y la dirección del CCP. Sin credencial, se usan el `url` y el `token` propios del almacén. -Para más detalles, consulta [Semilla de configuración](../seed). +Un almacén que permite escribir define `write_enabled: true` y `write_prefix` (en CyberArk, sus cajas fuertes), y un CyberArk también `pvwa_url`, +`pvwa_credential`, `pvwa_auth` y `platform_id`. Para más detalles, consulta [Semilla de configuración](../seed). --- diff --git a/i18n/fr/_configure/credentials/list.md b/i18n/fr/_configure/credentials/list.md index ec8d49e..2d51b4b 100644 --- a/i18n/fr/_configure/credentials/list.md +++ b/i18n/fr/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: La page des identifiants parent: Identifiants nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # La page des identifiants @@ -21,7 +21,7 @@ nombre d'enregistrements, de formulaires et de workflows qui le nomment (voir [I |---|---| | Identifiant | Nom et description, tous deux obligatoires. | | Type | L'un des 18 types, voir plus bas. | -| Stockage | Où sont conservés l'utilisateur et le mot de passe : **Base de données** (chiffrés dans la base de données d'AnsibleForms) ou **Coffre de secrets**, avec le coffre et la **Référence** qu'il contient. Pas pour CyberArk ni HashiCorp Vault, avec lesquels un coffre de secrets se connecte. La **Référence** apparaît une fois un coffre choisi ; son exemple suit le coffre : un chemin HashiCorp Vault ou un compte CyberArk. | +| Stockage | Où l'utilisateur et le mot de passe sont conservés : **Base de données** (chiffrés dans la base de données d'AnsibleForms) ou **Coffre de secrets**. Sous **Coffre de secrets**, **Pointer vers une clé** lit un secret déjà présent dans le coffre, et **Écrire dans une clé** écrit dans le coffre, à l'**Enregistrement**, l'utilisateur et le mot de passe saisis à l'étape **Connexion**. Choisissez ensuite le coffre et remplissez la **Référence** ; son exemple suit le coffre : un chemin HashiCorp Vault ou un compte CyberArk. Pas pour CyberArk ni HashiCorp Vault, avec lesquels un coffre de secrets se connecte. | | Connexion | Ce avec quoi le type se connecte et où, voir plus bas. | L'étape **Type** liste les types par leur nom : AAP, API, Ascender, AWX, CyberArk, Base de données, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ L'étape **Connexion** contient tous les champs du type, adresse comprise ; il n | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Serveur**, l'adresse à laquelle il se connecte, obligatoire, avec **Ignorer la vérification du certificat** et le **Bundle CA** | | CyberArk | **Certificat client** et **Clé client** | -Avec **Coffre de secrets**, l'utilisateur et le mot de passe ne sont pas demandés : le coffre les donne. L'étape **Connexion** ne garde alors que les champs d'adresse du type (SSH, base de données, serveurs de messagerie et d'annuaire, l'adresse d'un serveur), et une connexion simple (Utilisateur et mot de passe, Git, API) n'a pas d'étape **Connexion** : elle s'enregistre depuis l'étape **Stockage**. +Avec **Pointer vers une clé**, l'utilisateur et le mot de passe ne sont pas demandés : le coffre les donne. L'étape **Connexion** ne garde alors que les champs d'adresse du type (SSH, base de données, serveurs de messagerie et d'annuaire, l'adresse d'un serveur), et une connexion simple (Utilisateur et mot de passe, Git, API) n'a pas d'étape **Connexion** : elle s'enregistre depuis l'étape **Stockage**. + +Avec **Écrire dans une clé** (depuis 7.6.0), l'étape **Connexion** demande l'utilisateur et le mot de passe, et **Enregistrer** les écrit dans le coffre à la **Référence** ; AnsibleForms ne garde que le coffre et la référence. Seuls les coffres qui autorisent l'écriture sont proposés, et **Ajouter un coffre de secrets** en crée un avec l'écriture déjà activée. Une clé qui contient déjà un secret n'est remplacée que si **Écraser un secret déjà présent** est coché, voir [Écrire des identifiants](../secret-stores/#writing-credentials). Une ligne ouvre la page de l'identifiant. Son menu propose **Modifier**, **Tester la connexion** (identifiants de base de données uniquement) et **Supprimer**. Le mot de passe se change sur la page de l'identifiant, dans son onglet **Connexion**. diff --git a/i18n/fr/_configure/secret-stores/cyberark.md b/i18n/fr/_configure/secret-stores/cyberark.md index b17928c..466d275 100644 --- a/i18n/fr/_configure/secret-stores/cyberark.md +++ b/i18n/fr/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Coffres de secrets nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Lisez les identifiants depuis le CyberArk Central Credential Provider (CCP) +Lire des identifiants via le CCP de CyberArk, les écrire via son PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Écrire des identifiants + +Depuis 7.6.0, l'utilisateur et le mot de passe d'un identifiant peuvent être écrits dans CyberArk à l'**Enregistrement** (voir [Écrire des identifiants](./#writing-credentials)). +Le CCP ne fait que lire, AnsibleForms écrit donc via l'API REST du PVWA, connecté avec un identifiant à lui. + +Activez **Autoriser l'écriture** dans les **Options** du coffre, puis remplissez : + +| Champ | Signification | +|---|---| +| Autoriser l'écriture | Permet à un identifiant d'écrire son utilisateur et son mot de passe dans ce coffre à l'**Enregistrement**. Désactivé par défaut. | +| Coffres où écrire | Les coffres où les identifiants peuvent être écrits, séparés par des virgules, p. ex. `Linux, DB`. Requis quand l'écriture est activée. | +| Adresse du PVWA | L'URL de base du PVWA, p. ex. `https://pvwa.example.com`. Requis. | +| Identifiant du PVWA | Un identifiant **Utilisateur et mot de passe** ou **API** à lui, jamais lu dans un coffre de secrets, autorisé à ajouter des comptes dans ces coffres et à changer leurs mots de passe. Requis. | +| Méthode de connexion | Comment l'identifiant du PVWA se connecte : CyberArk (par défaut), LDAP, RADIUS ou Windows. | +| ID de plateforme | La plateforme des comptes qu'il ajoute, p. ex. `UnixSSH`. Nécessaire pour ajouter un nouveau compte. | + +La référence désigne le compte comme pour la lecture, `Safe=Linux;Object=srv01-root`, avec `Address=srv01.example.com` quand sa plateforme en demande une. + +- Un nouveau compte est ajouté au coffre avec la plateforme, le nom d'utilisateur et le mot de passe. +- Un compte existant n'est modifié que si **Écraser un secret déjà présent** est coché : son nom d'utilisateur, puis son mot de passe. +- La session PVWA est fermée après chaque écriture. La connexion OAuth de Privilege Cloud n'est pas prise en charge. + +--- + ## Options supplémentaires Les options supplémentaires du coffre se définissent sous forme d'objet JSON : diff --git a/i18n/fr/_configure/secret-stores/hashicorp-vault.md b/i18n/fr/_configure/secret-stores/hashicorp-vault.md index 54a643f..16b8995 100644 --- a/i18n/fr/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/fr/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Coffres de secrets nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Lisez les identifiants depuis HashiCorp Vault, depuis KV v1 ou v2 ou un moteur de secrets dynamiques +Lire et écrire des identifiants dans HashiCorp Vault KV, lire des secrets dynamiques {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ est inséré quand vous l'omettez. --- +## Écrire des identifiants + +Depuis 7.6.0, l'utilisateur et le mot de passe d'un identifiant peuvent être écrits dans le Vault à l'**Enregistrement** (voir [Écrire des identifiants](./#writing-credentials)). + +Activez **Autoriser l'écriture** dans les **Options** du coffre, et indiquez où il peut écrire : + +| Champ | Signification | +|---|---| +| Autoriser l'écriture | Permet à un identifiant d'écrire son utilisateur et son mot de passe dans ce coffre à l'**Enregistrement**. Désactivé par défaut. | +| Préfixe d'écriture | Le chemin où, ou sous lequel, les identifiants sont écrits, p. ex. `secret/ansibleforms`. Un montage seul, p. ex. `secret`, autorise tout le montage. Requis quand l'écriture est activée. | + +Le secret est écrit sous la forme `username` et `password`, en KV v2 ou v1 selon la **Version KV** du coffre. Le jeton a besoin des capacités +read, create et update sous le préfixe ; read vérifie si un secret s'y trouve déjà. Pour KV v2 et le préfixe `secret/ansibleforms` : + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +Le chemin d'un moteur de secrets dynamiques, p. ex. `database/creds/readonly`, n'est jamais écrit : Vault crée lui-même ces identifiants. + +--- + ## Identifiants de base de données dynamiques Une référence de la forme `/creds/`, par ex. `database/creds/readonly`, lit depuis un diff --git a/i18n/fr/_configure/secret-stores/index.md b/i18n/fr/_configure/secret-stores/index.md index af14ed3..4b59651 100644 --- a/i18n/fr/_configure/secret-stores/index.md +++ b/i18n/fr/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Coffres de secrets {: .no_toc } -Lisez les identifiants depuis un gestionnaire de secrets au lieu de les stocker dans AnsibleForms +Lire et écrire les identifiants dans un gestionnaire de secrets plutôt que dans AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Lisez les identifiants depuis un gestionnaire de secrets au lieu de les stocker --- -Pour les administrateurs : connectez un gestionnaire de secrets, et laissez les identifiants y lire leur utilisateur et leur mot de passe. +Pour les administrateurs : connecter un gestionnaire de secrets, pour que les identifiants y lisent leur utilisateur et leur mot de passe ou les y écrivent. --- @@ -41,6 +41,8 @@ rien à vos formulaires. | HashiCorp Vault (KV v1 et v2, authentification par jeton) | disponible | | Identifiants dynamiques HashiCorp Vault (`/creds/`) | expérimental | | CyberArk Central Credential Provider (CCP) | expérimental | +| Écriture des identifiants dans HashiCorp Vault KV | disponible | +| Écriture des identifiants dans CyberArk, via son PVWA | expérimental | --- @@ -75,8 +77,8 @@ Chaque gestionnaire de secrets a sa propre page : ### Dans un identifiant -Dans **Connexions > Identifiants**, à l'étape **Stockage** de l'identifiant, choisissez **Coffre de secrets**, puis sélectionnez le -**Coffre de secrets** et renseignez la **Référence**. L'utilisateur et le mot de passe sont alors lus depuis le coffre, et non saisis. +Sous **Connexions > Identifiants**, à l'étape **Stockage** de l'identifiant, choisissez **Coffre de secrets** et **Pointer vers une clé**, puis +choisissez le **Coffre de secrets** et remplissez la **Référence**. L'utilisateur et le mot de passe sont alors lus dans le coffre, pas saisis. ### En ligne, sans ligne d'identifiant @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Écrire des identifiants + +Depuis 7.6.0, l'utilisateur et le mot de passe d'un identifiant peuvent être écrits dans un coffre à l'enregistrement, sans devoir les y placer d'abord. + +À l'étape **Stockage** de l'identifiant, choisissez **Coffre de secrets** et **Écrire dans une clé**, choisissez le coffre et remplissez la **Référence**. +L'étape **Connexion** demande alors l'utilisateur et le mot de passe, et **Enregistrer** les écrit dans le coffre ; AnsibleForms ne garde que le coffre et la référence. + +- Seul un coffre dont **Autoriser l'écriture** est activé dans ses **Options** est proposé, et il n'écrit que là où ses options le permettent. +- Une clé qui contient déjà un secret n'est remplacée que si **Écraser un secret déjà présent** est coché ; sinon rien n'est écrit ni enregistré. +- Seul un admin peut écrire, et chaque écriture est auditée comme `credential.secret_write`, sans le secret. + +Comment chaque gestionnaire de secrets se configure pour l'écriture : + +| Page | Ce qu'elle couvre | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Un préfixe d'écriture, et les capacités du jeton | +| [CyberArk](cyberark.html#writing-credentials) | Les coffres, et le PVWA avec son identifiant et sa plateforme | + +--- + ## Dans le seed de configuration Les coffres peuvent aussi être déclarés dans le seed de configuration, comme les autres objets d'administration : @@ -161,7 +183,8 @@ credentials: Le coffre se connecte avec son identifiant : un identifiant `vault` contient l'adresse du Vault dans `url` et le jeton comme mot de passe, un identifiant `cyberark` l'AppID et l'adresse du CCP. Sans identifiant, ce sont le `url` et le `token` propres au coffre qui sont utilisés. -Pour les détails, voir [Seed de configuration](../seed). +Un coffre qui autorise l'écriture définit `write_enabled: true` et `write_prefix` (pour CyberArk, ses coffres), et un CyberArk aussi `pvwa_url`, +`pvwa_credential`, `pvwa_auth` et `platform_id`. Pour les détails, voir [Seed de configuration](../seed). --- diff --git a/i18n/it/_configure/credentials/list.md b/i18n/it/_configure/credentials/list.md index f7f8929..43c5082 100644 --- a/i18n/it/_configure/credentials/list.md +++ b/i18n/it/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: La pagina delle credenziali parent: Credenziali nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # La pagina delle credenziali @@ -21,7 +21,7 @@ numero di record, moduli e workflow che la indicano (vedi [Credenziali in uso](. |---|---| | Credenziale | Nome e descrizione, entrambi obbligatori. | | Tipo | Uno di 18 tipi, vedi sotto. | -| Archivio | Dove sono conservati l'utente e la password: **Database** (cifrati nel database di AnsibleForms) o **Archivio di segreti**, con l'archivio e il **Riferimento** al suo interno. Non per CyberArk né per HashiCorp Vault, con cui accede un archivio di segreti. Il **Riferimento** compare una volta scelto uno store; il suo esempio segue lo store: un percorso HashiCorp Vault o un account CyberArk. | +| Archivio | Dove sono conservati utente e password: **Database** (cifrati nel database di AnsibleForms) o **Archivio di segreti**. Sotto **Archivio di segreti**, **Punta a una chiave** legge un segreto già presente nell'archivio, e **Scrivi in una chiave** scrive nell'archivio, al **Salvataggio**, utente e password digitati nel passaggio **Accesso**. Poi scegli l'archivio e compila il **Riferimento**; il suo esempio segue l'archivio: un percorso di HashiCorp Vault o un account CyberArk. Non per CyberArk né HashiCorp Vault, con cui un archivio di segreti accede. | | Accesso | Con cosa accede il tipo e dove, vedi sotto. | Il passaggio **Tipo** elenca i tipi per nome: AAP, API, Ascender, AWX, CyberArk, Database, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ Il passaggio **Accesso** contiene ogni campo del tipo, indirizzo compreso; non c | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Server**, l'indirizzo a cui accede, obbligatorio, con **Salta la verifica del certificato** e il **Bundle CA** | | CyberArk | **Certificato client** e **Chiave client** | -Con **Archivio di segreti**, utente e password non vengono chiesti: li fornisce lo store. Il passo **Accesso** mantiene allora solo i campi di indirizzo del tipo (SSH, database, server di posta e di directory, l'indirizzo di un server), e un accesso semplice (Utente e password, Git, API) non ha alcun passo **Accesso**: si salva dal passo **Archivio**. +Con **Punta a una chiave**, utente e password non vengono chiesti: li fornisce lo store. Il passo **Accesso** mantiene allora solo i campi di indirizzo del tipo (SSH, database, server di posta e di directory, l'indirizzo di un server), e un accesso semplice (Utente e password, Git, API) non ha alcun passo **Accesso**: si salva dal passo **Archivio**. + +Con **Scrivi in una chiave** (da 7.6.0), il passaggio **Accesso** chiede utente e password, e **Salva** li scrive nell'archivio al **Riferimento**; AnsibleForms conserva solo l'archivio e il riferimento. Vengono offerti solo gli archivi che consentono la scrittura, e **Aggiungi secret store** ne crea uno con la scrittura già attiva. Una chiave che contiene già un segreto viene sostituita solo se **Sovrascrivi un segreto già presente** è spuntato, vedi [Scrivere le credenziali](../secret-stores/#writing-credentials). Una riga apre la pagina della credenziale. Il suo menu offre **Modifica**, **Testa connessione** (solo credenziali database) ed **Elimina**. La password si cambia nella pagina della credenziale, nella sua scheda **Accesso**. diff --git a/i18n/it/_configure/secret-stores/cyberark.md b/i18n/it/_configure/secret-stores/cyberark.md index 3fdd25b..bd204fc 100644 --- a/i18n/it/_configure/secret-stores/cyberark.md +++ b/i18n/it/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Archivi di segreti nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Leggi le credenziali dal CyberArk Central Credential Provider (CCP) +Leggere credenziali tramite il CCP di CyberArk, scriverle tramite il suo PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Scrivere le credenziali + +Da 7.6.0 utente e password di una credenziale possono essere scritti in CyberArk al **Salvataggio** (vedi [Scrivere le credenziali](./#writing-credentials)). +Il CCP legge soltanto, quindi AnsibleForms scrive tramite l'API REST del PVWA, con una credenziale propria. + +Attiva **Consenti la scrittura** nelle **Opzioni** dell'archivio, poi compila: + +| Campo | Significato | +|---|---| +| Consenti la scrittura | Permette a una credenziale di scrivere utente e password in questo archivio al **Salvataggio**. Disattivato per impostazione predefinita. | +| Safe in cui scrivere | I safe in cui si possono scrivere credenziali, separati da virgole, ad es. `Linux, DB`. Obbligatorio con la scrittura attiva. | +| Indirizzo del PVWA | L'URL di base del PVWA, ad es. `https://pvwa.example.com`. Obbligatorio. | +| Credenziale del PVWA | Una credenziale propria di tipo **Utente e password** o **API**, mai letta da un archivio di segreti, che può aggiungere account a quei safe e cambiarne le password. Obbligatoria. | +| Metodo di accesso | Come accede la credenziale del PVWA: CyberArk (predefinito), LDAP, RADIUS o Windows. | +| ID piattaforma | La piattaforma degli account che aggiunge, ad es. `UnixSSH`. Necessario per aggiungere un nuovo account. | + +Il riferimento indica l'account come per la lettura, `Safe=Linux;Object=srv01-root`, con `Address=srv01.example.com` quando la sua piattaforma ne richiede uno. + +- Un nuovo account viene aggiunto al safe con la piattaforma, il nome utente e la password. +- Un account esistente viene modificato solo se **Sovrascrivi un segreto già presente** è spuntato: prima il nome utente, poi la password. +- La sessione del PVWA viene chiusa dopo ogni scrittura. L'accesso OAuth di Privilege Cloud non è supportato. + +--- + ## Opzioni aggiuntive Le opzioni aggiuntive dell'archivio si impostano come oggetto JSON: diff --git a/i18n/it/_configure/secret-stores/hashicorp-vault.md b/i18n/it/_configure/secret-stores/hashicorp-vault.md index c8ea700..a11ea33 100644 --- a/i18n/it/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/it/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Archivi di segreti nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Leggi le credenziali da HashiCorp Vault, da KV v1 o v2 o da un motore di segreti dinamici +Leggere e scrivere credenziali in HashiCorp Vault KV, leggere segreti dinamici {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ viene inserito quando lo ometti. --- +## Scrivere le credenziali + +Da 7.6.0 utente e password di una credenziale possono essere scritti nel Vault al **Salvataggio** (vedi [Scrivere le credenziali](./#writing-credentials)). + +Attiva **Consenti la scrittura** nelle **Opzioni** dell'archivio, e indica dove può scrivere: + +| Campo | Significato | +|---|---| +| Consenti la scrittura | Permette a una credenziale di scrivere utente e password in questo archivio al **Salvataggio**. Disattivato per impostazione predefinita. | +| Prefisso di scrittura | Il percorso in cui, o sotto cui, vengono scritte le credenziali, ad es. `secret/ansibleforms`. Un mount da solo, ad es. `secret`, consente l'intero mount. Obbligatorio con la scrittura attiva. | + +Il segreto viene scritto come `username` e `password`, in KV v2 o v1 come indica la **Versione KV** dell'archivio. Il token richiede le capacità +read, create e update sotto il prefisso; read verifica se c'è già un segreto. Per KV v2 e il prefisso `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +Il percorso di un motore di segreti dinamici, ad es. `database/creds/readonly`, non viene mai scritto: è Vault a creare quelle credenziali. + +--- + ## Credenziali dinamiche per database Un riferimento della forma `/creds/`, es. `database/creds/readonly`, legge da un diff --git a/i18n/it/_configure/secret-stores/index.md b/i18n/it/_configure/secret-stores/index.md index eea81fd..e5e3ba8 100644 --- a/i18n/it/_configure/secret-stores/index.md +++ b/i18n/it/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Archivi di segreti {: .no_toc } -Leggi le credenziali da un gestore di segreti invece di salvarle in AnsibleForms +Leggere e scrivere le credenziali in un gestore di segreti invece che in AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Leggi le credenziali da un gestore di segreti invece di salvarle in AnsibleForms --- -Per gli amministratori: collega un gestore di segreti, e lascia che le credenziali ne leggano l'utente e la password. +Per gli amministratori: collegare un gestore di segreti, perché le credenziali ne leggano utente e password o ve li scrivano. --- @@ -41,6 +41,8 @@ nulla nei tuoi moduli. | HashiCorp Vault (KV v1 e v2, autenticazione con token) | disponibile | | Credenziali dinamiche di HashiCorp Vault (`/creds/`) | sperimentale | | CyberArk Central Credential Provider (CCP) | sperimentale | +| Scrittura delle credenziali in HashiCorp Vault KV | disponibile | +| Scrittura delle credenziali in CyberArk, tramite il suo PVWA | sperimentale | --- @@ -75,8 +77,8 @@ Ogni gestore di segreti ha una pagina propria: ### In una credenziale -In **Connessioni > Credenziali**, nel passaggio **Archivio** della credenziale, scegli **Archivio di segreti**, poi scegli -l'**Archivio di segreti** e compila il **Riferimento**. L'utente e la password vengono allora letti dall'archivio, non digitati. +In **Connessioni > Credenziali**, nel passaggio **Archivio** della credenziale, scegli **Archivio di segreti** e **Punta a una chiave**, poi +scegli l'**Archivio di segreti** e compila il **Riferimento**. Utente e password vengono allora letti dall'archivio, non digitati. ### In linea, senza una riga di credenziale @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Scrivere le credenziali + +Da 7.6.0 utente e password di una credenziale possono essere scritti in un archivio al salvataggio, senza doverli mettere lì prima. + +Nel passaggio **Archivio** della credenziale scegli **Archivio di segreti** e **Scrivi in una chiave**, scegli l'archivio e compila il **Riferimento**. +Il passaggio **Accesso** chiede allora utente e password, e **Salva** li scrive nell'archivio; AnsibleForms conserva solo l'archivio e il riferimento. + +- Viene offerto solo un archivio con **Consenti la scrittura** attivato nelle sue **Opzioni**, e scrive solo dove le sue opzioni lo consentono. +- Una chiave che contiene già un segreto viene sostituita solo se **Sovrascrivi un segreto già presente** è spuntato; altrimenti non si scrive né si salva nulla. +- Solo un admin può scrivere, e ogni scrittura è registrata come `credential.secret_write`, senza il segreto. + +Come si configura ogni gestore di segreti per la scrittura: + +| Pagina | Cosa tratta | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Un prefisso di scrittura, e le capacità del token | +| [CyberArk](cyberark.html#writing-credentials) | I safe, e il PVWA con la sua credenziale e piattaforma | + +--- + ## Nel config seed Gli archivi si possono dichiarare anche nel config seed, come gli altri oggetti di amministrazione: @@ -161,7 +183,8 @@ credentials: L'archivio accede con la sua credenziale: una `vault` contiene l'indirizzo del Vault in `url` e il token come password, una `cyberark` l'AppID e l'indirizzo del CCP. Senza una credenziale, si usano l'`url` e il `token` propri dell'archivio. -Per i dettagli, vedi [Config seed](../seed). +Un archivio che consente la scrittura imposta `write_enabled: true` e `write_prefix` (per CyberArk i suoi safe), e un CyberArk anche `pvwa_url`, +`pvwa_credential`, `pvwa_auth` e `platform_id`. Per i dettagli, vedi [Config seed](../seed). --- diff --git a/i18n/ja/_configure/credentials/list.md b/i18n/ja/_configure/credentials/list.md index 43c5fe5..4428983 100644 --- a/i18n/ja/_configure/credentials/list.md +++ b/i18n/ja/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: 認証情報ページ parent: 認証情報 nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # 認証情報ページ @@ -21,7 +21,7 @@ translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 |---|---| | 認証情報 | 名前と説明。どちらも必須です。 | | 種類 | 18 種類のいずれか。下記を参照。 | -| 保存先 | ユーザーとパスワードの保存場所。 **データベース** (AnsibleForms のデータベースに暗号化して保存)または **シークレットストア** で、後者の場合はストアとその中の **参照** を指定します。シークレットストアのログインに使う CyberArk と HashiCorp Vault にはありません。 **参照** はストアを選ぶと表示され、その例は選んだストアに合わせて HashiCorp Vault のパスか CyberArk のアカウントになります。 | +| 保存先 | ユーザーとパスワードの保存場所:**データベース**(AnsibleForms のデータベースで暗号化)または **シークレットストア**。**シークレットストア** では、**キーを指す** はすでにストアにあるシークレットを読み取り、**キーに書き込む** は **ログイン** ステップで入力したユーザーとパスワードを **保存** 時にストアへ書き込みます。次にストアを選び **参照** を入力します。例はストアに合わせて HashiCorp Vault のパスか CyberArk のアカウントになります。シークレットストアのログインに使う CyberArk と HashiCorp Vault には使えません。 | | ログイン | その種類が何を使ってどこにログインするか。下記を参照。 | **種類** ステップには、種類が名前で表示されます。AAP、API、Ascender、AWX、CyberArk、データベース、Git、HashiCorp Vault、Jenkins、LDAP、 @@ -41,7 +41,9 @@ Microsoft Entra ID、Open ID、RTE、Rundeck、Semaphore、SMTP、SSH、ユー | HashiCorp Vault、CyberArk、RTE、AWX、AAP、Ascender、Semaphore、Rundeck、Jenkins | ログイン先のアドレスである **サーバー** (必須)と、 **証明書の検証をスキップ** 、 **CA バンドル** | | CyberArk | **クライアント証明書** と **クライアントキー** | -**シークレットストア** を選ぶと、ユーザーとパスワードは尋ねられません。ストアがそれらを渡します。**ログイン** ステップには種類のアドレス項目(SSH、データベース、メールとディレクトリのサーバー、サーバーのアドレス)だけが残り、単純なログイン(ユーザーとパスワード、Git、API)には **ログイン** ステップがなく、**保存先** ステップから保存されます。 +**キーを指す** を選ぶと、ユーザーとパスワードは尋ねられません。ストアがそれらを渡します。**ログイン** ステップには種類のアドレス項目(SSH、データベース、メールとディレクトリのサーバー、サーバーのアドレス)だけが残り、単純なログイン(ユーザーとパスワード、Git、API)には **ログイン** ステップがなく、**保存先** ステップから保存されます。 + +**キーに書き込む**(7.6.0 以降)では、**ログイン** ステップでユーザーとパスワードを尋ね、**保存** でストアの **参照** に書き込みます。AnsibleForms はストアと参照だけを保持します。書き込みを許可するストアだけが表示され、**シークレットストアを追加** は書き込みがオンの状態でストアを作成します。すでにシークレットがあるキーは **既にあるシークレットを上書きする** にチェックしたときだけ置き換えられます。[認証情報の書き込み](../secret-stores/#writing-credentials) を参照してください。 行をクリックすると、その認証情報のページが開きます。行メニューには **編集** 、 **接続テスト** (データベースの認証情報のみ)、 **削除** があります。 パスワードは認証情報のページの **ログイン** タブで変更します。 diff --git a/i18n/ja/_configure/secret-stores/cyberark.md b/i18n/ja/_configure/secret-stores/cyberark.md index 149dd33..f201632 100644 --- a/i18n/ja/_configure/secret-stores/cyberark.md +++ b/i18n/ja/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: シークレットストア nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -CyberArk Central Credential Provider(CCP)から認証情報を読み込みます +CyberArk の CCP で認証情報を読み取り、PVWA で書き込みます {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## 認証情報の書き込み + +7.6.0 以降、認証情報のユーザーとパスワードを **保存** 時に CyberArk へ書き込めます([認証情報の書き込み](./#writing-credentials) を参照)。 +CCP は読み取り専用のため、AnsibleForms は専用の認証情報でログオンし、PVWA の REST API 経由で書き込みます。 + +ストアの **オプション** で **書き込みを許可** をオンにし、次を入力します。 + +| フィールド | 意味 | +|---|---| +| 書き込みを許可 | **保存** 時に認証情報がユーザーとパスワードをこのストアへ書き込めるようにします。既定ではオフです。 | +| 書き込み先のセーフ | 認証情報を書き込めるセーフ(カンマ区切り)、例 `Linux, DB`。書き込みがオンのとき必須です。 | +| PVWA のアドレス | PVWA のベース URL、例 `https://pvwa.example.com`。必須です。 | +| PVWA の資格情報 | 専用の **ユーザーとパスワード** または **API** の認証情報。シークレットストアからは読み取らず、それらのセーフにアカウントを追加しパスワードを変更できる必要があります。必須です。 | +| ログオン方式 | PVWA の資格情報のログオン方法:CyberArk(既定)、LDAP、RADIUS、Windows。 | +| プラットフォーム ID | 追加するアカウントのプラットフォーム、例 `UnixSSH`。新しいアカウントの追加に必要です。 | + +参照は読み取りと同じくアカウントを指定します(`Safe=Linux;Object=srv01-root`)。プラットフォームが必要とする場合は `Address=srv01.example.com` を付けます。 + +- 新しいアカウントは、プラットフォーム、ユーザー名、パスワードとともにセーフへ追加されます。 +- 既存のアカウントは **既にあるシークレットを上書きする** にチェックしたときだけ変更されます。まずユーザー名、次にパスワードです。 +- PVWA のセッションは書き込みのたびにログオフされます。Privilege Cloud の OAuth サインインには対応していません。 + +--- + ## 追加オプション ストアの追加オプションは JSON オブジェクトで設定します。 diff --git a/i18n/ja/_configure/secret-stores/hashicorp-vault.md b/i18n/ja/_configure/secret-stores/hashicorp-vault.md index a8e2005..ce86d57 100644 --- a/i18n/ja/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/ja/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: シークレットストア nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -HashiCorp Vault の KV v1、v2、または動的シークレットエンジンから認証情報を読み込みます +HashiCorp Vault KV で認証情報を読み書きし、動的シークレットを読み取ります {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ HashiCorp Vault の KV v1、v2、または動的シークレットエンジン --- +## 認証情報の書き込み + +7.6.0 以降、認証情報のユーザーとパスワードを **保存** 時に Vault へ書き込めます([認証情報の書き込み](./#writing-credentials) を参照)。 + +ストアの **オプション** で **書き込みを許可** をオンにし、書き込み先を指定します。 + +| フィールド | 意味 | +|---|---| +| 書き込みを許可 | **保存** 時に認証情報がユーザーとパスワードをこのストアへ書き込めるようにします。既定ではオフです。 | +| 書き込みプレフィックス | 認証情報を書き込むパス、またはその配下、例 `secret/ansibleforms`。マウントだけ(例 `secret`)ならマウント全体を許可します。書き込みがオンのとき必須です。 | + +シークレットは `username` と `password` として、ストアの **KV バージョン** に従い KV v2 または v1 に書き込まれます。トークンにはプレフィックス配下で +read、create、update の権限が必要です。read はすでにシークレットがあるかを確認します。KV v2 でプレフィックスが `secret/ansibleforms` の場合: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +動的シークレットエンジンのパス(例 `database/creds/readonly`)には書き込みません。これらの認証情報は Vault 自身が作成します。 + +--- + ## 動的なデータベースの認証情報 `database/creds/readonly` のような `/creds/` 形式の参照は、Vault のデータベースエンジンなどの diff --git a/i18n/ja/_configure/secret-stores/index.md b/i18n/ja/_configure/secret-stores/index.md index 96e3c98..8214080 100644 --- a/i18n/ja/_configure/secret-stores/index.md +++ b/i18n/ja/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # シークレットストア {: .no_toc } -認証情報を AnsibleForms に保存する代わりに、シークレットマネージャーから読み込みます +認証情報を AnsibleForms ではなくシークレット管理ツールで読み書きします {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 --- -管理者向けです。シークレットマネージャーに接続し、認証情報がユーザーとパスワードをそこから読み込めるようにします。 +管理者向け:シークレット管理ツールを接続し、認証情報がそこからユーザーとパスワードを読み取ったり、そこへ書き込んだりできるようにします。 --- @@ -41,6 +41,8 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 | HashiCorp Vault(KV v1 と v2、トークン認証) | 利用可能 | | HashiCorp Vault の動的認証情報( `/creds/` ) | 試験的 | | CyberArk Central Credential Provider(CCP) | 試験的 | +| HashiCorp Vault KV への認証情報の書き込み | 利用可能 | +| PVWA 経由での CyberArk への認証情報の書き込み | 試験的 | --- @@ -75,8 +77,8 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 ### 認証情報で -**接続 > 認証情報** で、認証情報の **保存先** ステップで **シークレットストア** を選び、 -**シークレットストア** を選択して **参照** を入力します。すると、ユーザーとパスワードは入力したものではなく、ストアから読み込まれます。 +**接続 > 認証情報** で、認証情報の **保存先** ステップで **シークレットストア** と **キーを指す** を選び、 +**シークレットストア** を選んで **参照** を入力します。ユーザーとパスワードは入力せず、ストアから読み取られます。 ### 認証情報の行を使わずに直接 @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## 認証情報の書き込み + +7.6.0 以降、認証情報のユーザーとパスワードを保存時にストアへ書き込めるため、先にストアへ入れておく必要はありません。 + +認証情報の **保存先** ステップで **シークレットストア** と **キーに書き込む** を選び、ストアを選んで **参照** を入力します。 +**ログイン** ステップでユーザーとパスワードを尋ね、**保存** でストアに書き込みます。AnsibleForms はストアと参照だけを保持します。 + +- **オプション** で **書き込みを許可** がオンのストアだけが表示され、そのオプションが許す場所にだけ書き込みます。 +- すでにシークレットがあるキーは、**既にあるシークレットを上書きする** にチェックしたときだけ置き換えられます。それ以外は何も書き込まず、保存もしません。 +- 書き込めるのは管理者だけで、各書き込みはシークレットを含めずに `credential.secret_write` として監査されます。 + +書き込みのための各シークレット管理ツールの設定: + +| ページ | 内容 | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | 書き込みプレフィックスと、トークンの権限 | +| [CyberArk](cyberark.html#writing-credentials) | セーフと、PVWA の資格情報およびプラットフォーム | + +--- + ## 構成シードで ストアは、ほかの管理オブジェクトと同じく、構成シードで宣言することもできます。 @@ -161,7 +183,8 @@ credentials: ストアはその認証情報でログインします。 `vault` の認証情報は Vault のアドレスを `url` に、トークンをパスワードとして保持し、 `cyberark` の認証情報は AppID と CCP のアドレスを保持します。認証情報がない場合は、ストア自身の `url` と `token` が使われます。 -詳しくは [構成シード](../seed) を参照してください。 +書き込みを許可するストアは `write_enabled: true` と `write_prefix`(CyberArk ではセーフ)を設定し、CyberArk はさらに `pvwa_url`、 +`pvwa_credential`、`pvwa_auth`、`platform_id` を設定します。詳しくは [構成シード](../seed) を参照してください。 --- diff --git a/i18n/nl/_configure/credentials/list.md b/i18n/nl/_configure/credentials/list.md index f6af315..9dfbc53 100644 --- a/i18n/nl/_configure/credentials/list.md +++ b/i18n/nl/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: De pagina met inloggegevens parent: Inloggegevens nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # De pagina met inloggegevens @@ -21,7 +21,7 @@ aantal records, formulieren en workflows dat haar noemt (zie [Referenties in geb |---|---| | Referentie | Naam en beschrijving, beide verplicht. | | Type | Een van 18 typen, zie hieronder. | -| Opslag | Waar de gebruiker en het wachtwoord worden bewaard: **Database** (versleuteld in de AnsibleForms-database) of **Geheimenkluis**, met de store en de **Referentie** daarin. Niet voor CyberArk of HashiCorp Vault, waarmee een secret store zich aanmeldt. De **Referentie** verschijnt zodra een store is gekozen; het voorbeeld volgt de store: een HashiCorp Vault-pad of een CyberArk-account. | +| Opslag | Waar gebruiker en wachtwoord worden bewaard: **Database** (versleuteld in de AnsibleForms-database) of **Geheimenkluis**. Onder **Geheimenkluis** leest **Verwijzen naar een sleutel** een geheim dat al in de kluis staat, en **Schrijven naar een sleutel** schrijft de in de stap **Aanmelding** getypte gebruiker en wachtwoord bij **Opslaan** naar de kluis. Kies dan de kluis en vul de **Referentie** in; het voorbeeld volgt de kluis: een HashiCorp Vault-pad of een CyberArk-account. Niet voor CyberArk en HashiCorp Vault, waarmee een geheimenkluis zich aanmeldt. | | Aanmelding | Waarmee en waar het type zich aanmeldt, zie hieronder. | De stap **Type** toont de typen op naam: AAP, API, Ascender, AWX, CyberArk, Database, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ De stap **Aanmelding** bevat elk veld van het type, het adres inbegrepen; er is | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Server**, het adres waarbij het zich aanmeldt, verplicht, met **Certificaatcontrole overslaan** en de **CA-bundel** | | CyberArk | **Clientcertificaat** en **Clientsleutel** | -Met **Geheimenkluis** worden gebruiker en wachtwoord niet gevraagd: de store levert ze. De stap **Aanmelding** houdt dan alleen de adresvelden van het type (SSH, database, mail- en directoryservers, een serveradres), en een eenvoudige aanmelding (Gebruiker en wachtwoord, Git, API) heeft helemaal geen stap **Aanmelding**: ze wordt opgeslagen vanuit de stap **Opslag**. +Met **Verwijzen naar een sleutel** worden gebruiker en wachtwoord niet gevraagd: de store levert ze. De stap **Aanmelding** houdt dan alleen de adresvelden van het type (SSH, database, mail- en directoryservers, een serveradres), en een eenvoudige aanmelding (Gebruiker en wachtwoord, Git, API) heeft helemaal geen stap **Aanmelding**: ze wordt opgeslagen vanuit de stap **Opslag**. + +Met **Schrijven naar een sleutel** (vanaf 7.6.0) vraagt de stap **Aanmelding** gebruiker en wachtwoord, en **Opslaan** schrijft ze op de **Referentie** naar de kluis; AnsibleForms bewaart alleen de kluis en de referentie. Alleen kluizen die schrijven toestaan worden aangeboden, en **Secret store toevoegen** maakt er een met schrijven al aan. Een sleutel waar al een geheim staat, wordt alleen vervangen als **Een bestaand geheim overschrijven** is aangevinkt, zie [Referenties schrijven](../secret-stores/#writing-credentials). Een rij opent de eigen pagina van de referentie. Het menu biedt **Bewerken**, **Verbinding testen** (alleen voor databasereferenties) en **Verwijderen**. Het wachtwoord wordt gewijzigd op de pagina van de referentie, in het tabblad **Aanmelding**. diff --git a/i18n/nl/_configure/secret-stores/cyberark.md b/i18n/nl/_configure/secret-stores/cyberark.md index 29d718e..88c44a9 100644 --- a/i18n/nl/_configure/secret-stores/cyberark.md +++ b/i18n/nl/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Secret stores nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Referenties lezen uit de CyberArk Central Credential Provider (CCP) +Referenties lezen via de CyberArk CCP, schrijven via de PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Referenties schrijven + +Vanaf 7.6.0 kunnen gebruiker en wachtwoord van een referentie bij **Opslaan** naar CyberArk worden geschreven (zie [Referenties schrijven](./#writing-credentials)). +De CCP leest alleen, dus AnsibleForms schrijft via de REST-API van de PVWA, aangemeld met een eigen referentie. + +Zet **Schrijven toestaan** aan in de **Opties** van de kluis en vul in: + +| Veld | Betekenis | +|---|---| +| Schrijven toestaan | Laat een referentie bij **Opslaan** haar gebruiker en wachtwoord naar deze kluis schrijven. Standaard uit. | +| Kluizen om naar te schrijven | De safes waarnaar referenties mogen worden geschreven, gescheiden door komma's, bv. `Linux, DB`. Verplicht als schrijven aan staat. | +| PVWA-adres | De basis-URL van de PVWA, bv. `https://pvwa.example.com`. Verplicht. | +| PVWA-referentie | Een eigen referentie van het type **Gebruiker en wachtwoord** of **API**, nooit uit een geheimenkluis gelezen, die accounts aan die safes mag toevoegen en hun wachtwoorden mag wijzigen. Verplicht. | +| Aanmeldmethode | Hoe de PVWA-referentie zich aanmeldt: CyberArk (standaard), LDAP, RADIUS of Windows. | +| Platform-ID | Het platform van de accounts die ze toevoegt, bv. `UnixSSH`. Nodig om een nieuw account toe te voegen. | + +De referentie noemt het account zoals bij lezen, `Safe=Linux;Object=srv01-root`, met `Address=srv01.example.com` als het platform er een nodig heeft. + +- Een nieuw account wordt aan de safe toegevoegd met het platform, de gebruikersnaam en het wachtwoord. +- Een bestaand account wordt alleen gewijzigd als **Een bestaand geheim overschrijven** is aangevinkt: eerst de gebruikersnaam, dan het wachtwoord. +- De PVWA-sessie wordt na elke schrijfactie afgemeld. De OAuth-aanmelding van Privilege Cloud wordt niet ondersteund. + +--- + ## Extra opties De extra opties van de store worden ingesteld als JSON-object: diff --git a/i18n/nl/_configure/secret-stores/hashicorp-vault.md b/i18n/nl/_configure/secret-stores/hashicorp-vault.md index 1e3a88c..10a5ae3 100644 --- a/i18n/nl/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/nl/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Secret stores nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Referenties lezen uit HashiCorp Vault, uit KV v1 of v2 of een dynamische secrets engine +Referenties lezen en schrijven in HashiCorp Vault KV, dynamische geheimen lezen {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ ingevoegd als je het weglaat. --- +## Referenties schrijven + +Vanaf 7.6.0 kunnen gebruiker en wachtwoord van een referentie bij **Opslaan** naar de Vault worden geschreven (zie [Referenties schrijven](./#writing-credentials)). + +Zet **Schrijven toestaan** aan in de **Opties** van de kluis, en geef aan waar ze mag schrijven: + +| Veld | Betekenis | +|---|---| +| Schrijven toestaan | Laat een referentie bij **Opslaan** haar gebruiker en wachtwoord naar deze kluis schrijven. Standaard uit. | +| Schrijfprefix | Het pad waarop of waaronder referenties worden geschreven, bv. `secret/ansibleforms`. Alleen een mount, bv. `secret`, staat de hele mount toe. Verplicht als schrijven aan staat. | + +Het geheim wordt geschreven als `username` en `password`, in KV v2 of v1 zoals de **KV-versie** van de kluis aangeeft. Het token heeft de rechten +read, create en update onder het prefix nodig; read controleert of er al een geheim staat. Voor KV v2 en het prefix `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +Het pad van een engine voor dynamische geheimen, bv. `database/creds/readonly`, wordt nooit beschreven: Vault maakt die referenties zelf. + +--- + ## Dynamische databasereferenties Een verwijzing van de vorm `/creds/`, bijv. `database/creds/readonly`, leest uit een diff --git a/i18n/nl/_configure/secret-stores/index.md b/i18n/nl/_configure/secret-stores/index.md index b0012ff..3778364 100644 --- a/i18n/nl/_configure/secret-stores/index.md +++ b/i18n/nl/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Secret stores {: .no_toc } -Lees referenties uit een secret manager in plaats van ze in AnsibleForms op te slaan +Referenties lezen en schrijven in een geheimenbeheerder in plaats van in AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Lees referenties uit een secret manager in plaats van ze in AnsibleForms op te s --- -Voor beheerders: koppel een secret manager, en laat referenties hun gebruiker en wachtwoord daaruit lezen. +Voor beheerders: koppel een geheimenbeheerder, zodat referenties er hun gebruiker en wachtwoord uit lezen of erin schrijven. --- @@ -41,6 +41,8 @@ niets aan je formulieren. | HashiCorp Vault (KV v1 en v2, tokenauthenticatie) | beschikbaar | | Dynamische referenties van HashiCorp Vault (`/creds/`) | experimenteel | | CyberArk Central Credential Provider (CCP) | experimenteel | +| Referenties schrijven naar HashiCorp Vault KV | beschikbaar | +| Referenties schrijven naar CyberArk, via de PVWA | experimenteel | --- @@ -75,8 +77,8 @@ Elke secret manager heeft een eigen pagina: ### In een referentie -Kies onder **Verbindingen > Inloggegevens**, in de stap **Opslag** van de referentie, **Geheimenkluis**, kies dan de -**Secret store** en vul de **Referentie** in. De gebruiker en het wachtwoord worden dan uit de store gelezen, niet ingetypt. +Kies onder **Verbindingen > Inloggegevens**, in de stap **Opslag** van de referentie, **Geheimenkluis** en **Verwijzen naar een sleutel**, kies dan +de **Geheimenkluis** en vul de **Referentie** in. Gebruiker en wachtwoord worden dan uit de kluis gelezen, niet getypt. ### Inline, zonder referentierij @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Referenties schrijven + +Vanaf 7.6.0 kunnen gebruiker en wachtwoord van een referentie bij het opslaan naar een kluis worden geschreven, zodat ze daar nooit eerst hoeven te staan. + +Kies in de stap **Opslag** van de referentie **Geheimenkluis** en **Schrijven naar een sleutel**, kies de kluis en vul de **Referentie** in. +De stap **Aanmelding** vraagt dan gebruiker en wachtwoord, en **Opslaan** schrijft ze naar de kluis; AnsibleForms bewaart alleen de kluis en de referentie. + +- Alleen een kluis met **Schrijven toestaan** aan in haar **Opties** wordt aangeboden, en ze schrijft alleen waar haar opties dat toestaan. +- Een sleutel waar al een geheim staat, wordt alleen vervangen als **Een bestaand geheim overschrijven** is aangevinkt; anders wordt niets geschreven of opgeslagen. +- Alleen een admin kan schrijven, en elke schrijfactie wordt geaudit als `credential.secret_write`, zonder het geheim. + +Hoe elke geheimenbeheerder wordt ingericht om te schrijven: + +| Pagina | Wat er aan bod komt | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Een schrijfprefix, en de rechten van het token | +| [CyberArk](cyberark.html#writing-credentials) | De kluizen, en de PVWA met haar referentie en platform | + +--- + ## In de configuratie-seed Stores kunnen ook in de configuratie-seed worden gedeclareerd, net als de andere beheerobjecten: @@ -161,7 +183,8 @@ credentials: De store meldt zich aan met zijn referentie: een `vault`-referentie bevat het adres van de Vault in `url` en het token als wachtwoord, een `cyberark`-referentie de AppID en het CCP-adres. Zonder referentie worden de eigen `url` en `token` van de store gebruikt. -Zie [Configuratie-seed](../seed) voor details. +Een kluis die schrijven toestaat, zet `write_enabled: true` en `write_prefix` (bij CyberArk de kluizen), en een CyberArk ook `pvwa_url`, +`pvwa_credential`, `pvwa_auth` en `platform_id`. Zie [Configuratie-seed](../seed) voor details. --- diff --git a/i18n/pl/_configure/credentials/list.md b/i18n/pl/_configure/credentials/list.md index d56f54d..9dac203 100644 --- a/i18n/pl/_configure/credentials/list.md +++ b/i18n/pl/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: Strona poświadczeń parent: Poświadczenia nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # Strona poświadczeń @@ -21,7 +21,7 @@ liczbą rekordów, formularzy i workflowów, które je wskazują (zobacz [Poświ |---|---| | Poświadczenie | Nazwa i opis, oba wymagane. | | Typ | Jeden z 18 typów, zobacz niżej. | -| Magazyn | Gdzie przechowywane są użytkownik i hasło: **Baza danych** (zaszyfrowane w bazie danych AnsibleForms) lub **Magazyn sekretów**, z magazynem i **Odwołaniem** w nim. Nie dotyczy CyberArk ani HashiCorp Vault, którymi loguje się magazyn sekretów. **Odwołanie** pojawia się po wybraniu magazynu; jego przykład zależy od magazynu: ścieżka HashiCorp Vault albo konto CyberArk. | +| Magazyn | Gdzie są przechowywane użytkownik i hasło: **Baza danych** (zaszyfrowane w bazie danych AnsibleForms) lub **Magazyn sekretów**. W **Magazyn sekretów** opcja **Wskaż klucz** odczytuje sekret, który już jest w magazynie, a **Zapisz w kluczu** zapisuje w magazynie, przy **Zapisie**, użytkownika i hasło wpisane w kroku **Logowanie**. Potem wybierz magazyn i wypełnij **Odwołanie**; jego przykład zależy od magazynu: ścieżka HashiCorp Vault lub konto CyberArk. Nie dla CyberArk ani HashiCorp Vault, którymi loguje się magazyn sekretów. | | Logowanie | Czym i gdzie loguje się dany typ, zobacz niżej. | Krok **Typ** wyświetla typy według nazwy: AAP, API, Ascender, AWX, CyberArk, Baza danych, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ Krok **Logowanie** zawiera każde pole typu, łącznie z adresem; nie ma osobneg | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Serwer**, adres, do którego się loguje, wymagany, z **Pomiń weryfikację certyfikatu** i **Pakietem CA** | | CyberArk | **Certyfikat klienta** i **Klucz klienta** | -Przy **Magazynie sekretów** użytkownik i hasło nie są pytane: podaje je magazyn. Krok **Logowanie** zachowuje wtedy tylko pola adresu danego typu (SSH, baza danych, serwery poczty i katalogu, adres serwera), a proste logowanie (Użytkownik i hasło, Git, API) nie ma kroku **Logowanie**: zapisuje się je z kroku **Magazyn**. +Przy **Wskaż klucz** użytkownik i hasło nie są pytane: podaje je magazyn. Krok **Logowanie** zachowuje wtedy tylko pola adresu danego typu (SSH, baza danych, serwery poczty i katalogu, adres serwera), a proste logowanie (Użytkownik i hasło, Git, API) nie ma kroku **Logowanie**: zapisuje się je z kroku **Magazyn**. + +Przy **Zapisz w kluczu** (od 7.6.0) krok **Logowanie** pyta o użytkownika i hasło, a **Zapisz** zapisuje je w magazynie pod **Odwołaniem**; AnsibleForms przechowuje tylko magazyn i odwołanie. Oferowane są tylko magazyny, które zezwalają na zapis, a **Dodaj magazyn sekretów** tworzy taki z już włączonym zapisem. Klucz, w którym jest już sekret, zostaje zastąpiony tylko po zaznaczeniu **Nadpisz sekret, który już tam jest**, zob. [Zapisywanie poświadczeń](../secret-stores/#writing-credentials). Wiersz otwiera własną stronę poświadczenia. Jego menu oferuje **Edytuj**, **Testuj połączenie** (tylko poświadczenia bazy danych) i **Usuń**. Hasło zmienia się na stronie poświadczenia, na karcie **Logowanie**. diff --git a/i18n/pl/_configure/secret-stores/cyberark.md b/i18n/pl/_configure/secret-stores/cyberark.md index 180084b..8ca162a 100644 --- a/i18n/pl/_configure/secret-stores/cyberark.md +++ b/i18n/pl/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Magazyny sekretów nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Odczytuj poświadczenia z CyberArk Central Credential Provider (CCP) +Odczytuj poświadczenia przez CCP CyberArk, zapisuj je przez jego PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Zapisywanie poświadczeń + +Od 7.6.0 użytkownika i hasło poświadczenia można zapisać w CyberArk przy **Zapisie** (zob. [Zapisywanie poświadczeń](./#writing-credentials)). +CCP tylko odczytuje, więc AnsibleForms zapisuje przez REST API PVWA, zalogowany własnym poświadczeniem. + +Włącz **Zezwól na zapis** w **Opcjach** magazynu, a potem wypełnij: + +| Pole | Znaczenie | +|---|---| +| Zezwól na zapis | Pozwala poświadczeniu zapisać użytkownika i hasło w tym magazynie przy **Zapisie**. Domyślnie wyłączone. | +| Sejfy do zapisu | Sejfy, w których można zapisywać poświadczenia, rozdzielone przecinkami, np. `Linux, DB`. Wymagane przy włączonym zapisie. | +| Adres PVWA | Bazowy URL PVWA, np. `https://pvwa.example.com`. Wymagany. | +| Poświadczenie PVWA | Własne poświadczenie typu **Użytkownik i hasło** lub **API**, nigdy nie odczytywane z magazynu sekretów, które może dodawać konta do tych sejfów i zmieniać ich hasła. Wymagane. | +| Metoda logowania | Jak loguje się poświadczenie PVWA: CyberArk (domyślnie), LDAP, RADIUS lub Windows. | +| ID platformy | Platforma dodawanych kont, np. `UnixSSH`. Potrzebne do dodania nowego konta. | + +Odwołanie wskazuje konto tak jak przy odczycie, `Safe=Linux;Object=srv01-root`, z `Address=srv01.example.com`, gdy platforma go wymaga. + +- Nowe konto jest dodawane do sejfu z platformą, nazwą użytkownika i hasłem. +- Istniejące konto jest zmieniane tylko po zaznaczeniu **Nadpisz sekret, który już tam jest**: najpierw nazwa użytkownika, potem hasło. +- Sesja PVWA jest wylogowywana po każdym zapisie. Logowanie OAuth Privilege Cloud nie jest obsługiwane. + +--- + ## Dodatkowe opcje Dodatkowe opcje magazynu ustawia się jako obiekt JSON: diff --git a/i18n/pl/_configure/secret-stores/hashicorp-vault.md b/i18n/pl/_configure/secret-stores/hashicorp-vault.md index a18f52c..57120e3 100644 --- a/i18n/pl/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/pl/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Magazyny sekretów nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Odczytuj poświadczenia z HashiCorp Vault, z KV v1 lub v2 albo z silnika sekretów dynamicznych +Odczytuj i zapisuj poświadczenia w HashiCorp Vault KV, odczytuj sekrety dynamiczne {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ jest wstawiany, gdy go pominiesz. --- +## Zapisywanie poświadczeń + +Od 7.6.0 użytkownika i hasło poświadczenia można zapisać w Vault przy **Zapisie** (zob. [Zapisywanie poświadczeń](./#writing-credentials)). + +Włącz **Zezwól na zapis** w **Opcjach** magazynu i wskaż, gdzie może zapisywać: + +| Pole | Znaczenie | +|---|---| +| Zezwól na zapis | Pozwala poświadczeniu zapisać użytkownika i hasło w tym magazynie przy **Zapisie**. Domyślnie wyłączone. | +| Prefiks zapisu | Ścieżka, w której lub pod którą zapisywane są poświadczenia, np. `secret/ansibleforms`. Sam punkt montowania, np. `secret`, zezwala na cały punkt montowania. Wymagany przy włączonym zapisie. | + +Sekret jest zapisywany jako `username` i `password`, w KV v2 lub v1 zgodnie z **Wersją KV** magazynu. Token potrzebuje uprawnień +read, create i update pod prefiksem; read sprawdza, czy sekret już tam jest. Dla KV v2 i prefiksu `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +Ścieżka silnika sekretów dynamicznych, np. `database/creds/readonly`, nigdy nie jest zapisywana: te poświadczenia tworzy sam Vault. + +--- + ## Dynamiczne poświadczenia bazy danych Odwołanie w postaci `/creds/`, np. `database/creds/readonly`, odczytuje z diff --git a/i18n/pl/_configure/secret-stores/index.md b/i18n/pl/_configure/secret-stores/index.md index 0b31618..64f0d7b 100644 --- a/i18n/pl/_configure/secret-stores/index.md +++ b/i18n/pl/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Magazyny sekretów {: .no_toc } -Odczytuj poświadczenia z menedżera sekretów zamiast przechowywać je w AnsibleForms +Odczytuj i zapisuj poświadczenia w menedżerze sekretów zamiast w AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Odczytuj poświadczenia z menedżera sekretów zamiast przechowywać je w Ansibl --- -Dla administratorów: podłącz menedżer sekretów i pozwól poświadczeniom odczytywać z niego użytkownika i hasło. +Dla administratorów: podłącz menedżer sekretów, aby poświadczenia odczytywały z niego użytkownika i hasło albo je w nim zapisywały. --- @@ -41,6 +41,8 @@ nie zmienia w Twoich formularzach. | HashiCorp Vault (KV v1 i v2, uwierzytelnianie tokenem) | dostępny | | Dynamiczne poświadczenia HashiCorp Vault (`/creds/`) | eksperymentalny | | CyberArk Central Credential Provider (CCP) | eksperymentalny | +| Zapis poświadczeń w HashiCorp Vault KV | dostępny | +| Zapis poświadczeń w CyberArk, przez jego PVWA | eksperymentalny | --- @@ -75,8 +77,8 @@ Każdy menedżer sekretów ma własną stronę: ### W poświadczeniu -W **Połączenia > Poświadczenia**, w kroku **Magazyn** poświadczenia, wybierz **Magazyn sekretów**, a potem wskaż -**Magazyn sekretów** i wypełnij **Odwołanie**. Użytkownik i hasło są wtedy odczytywane z magazynu, a nie wpisywane. +W **Połączenia > Poświadczenia**, w kroku **Magazyn** poświadczenia, wybierz **Magazyn sekretów** i **Wskaż klucz**, potem +wybierz **Magazyn sekretów** i wypełnij **Odwołanie**. Użytkownik i hasło są wtedy odczytywane z magazynu, a nie wpisywane. ### Bezpośrednio, bez wiersza poświadczenia @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Zapisywanie poświadczeń + +Od 7.6.0 użytkownika i hasło poświadczenia można zapisać w magazynie przy zapisie poświadczenia, więc nigdy nie trzeba ich tam najpierw umieszczać. + +W kroku **Magazyn** poświadczenia wybierz **Magazyn sekretów** i **Zapisz w kluczu**, wybierz magazyn i wypełnij **Odwołanie**. +Krok **Logowanie** pyta wtedy o użytkownika i hasło, a **Zapisz** zapisuje je w magazynie; AnsibleForms przechowuje tylko magazyn i odwołanie. + +- Oferowany jest tylko magazyn z włączonym **Zezwól na zapis** w jego **Opcjach**, i zapisuje tylko tam, gdzie pozwalają jego opcje. +- Klucz, w którym jest już sekret, zostaje zastąpiony tylko po zaznaczeniu **Nadpisz sekret, który już tam jest**; w przeciwnym razie nic nie jest zapisywane. +- Zapisywać może tylko admin, a każdy zapis jest audytowany jako `credential.secret_write`, bez sekretu. + +Jak skonfigurować każdy menedżer sekretów do zapisu: + +| Strona | Czego dotyczy | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Prefiks zapisu i uprawnienia tokena | +| [CyberArk](cyberark.html#writing-credentials) | Sejfy oraz PVWA z jego poświadczeniem i platformą | + +--- + ## W config seed Magazyny można też deklarować w config seed, jak pozostałe obiekty administracyjne: @@ -161,7 +183,8 @@ credentials: Magazyn loguje się swoim poświadczeniem: poświadczenie `vault` zawiera adres Vault w `url` i token jako hasło, poświadczenie `cyberark` AppID i adres CCP. Bez poświadczenia używane są własne `url` i `token` magazynu. -Szczegóły opisuje strona [Config seed](../seed). +Magazyn, który zezwala na zapis, ustawia `write_enabled: true` i `write_prefix` (w CyberArk jego sejfy), a CyberArk także `pvwa_url`, +`pvwa_credential`, `pvwa_auth` i `platform_id`. Szczegóły opisuje strona [Config seed](../seed). --- diff --git a/i18n/pt/_configure/credentials/list.md b/i18n/pt/_configure/credentials/list.md index d720955..445bc50 100644 --- a/i18n/pt/_configure/credentials/list.md +++ b/i18n/pt/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: A página de credenciais parent: Credenciais nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # A página de credenciais @@ -21,7 +21,7 @@ número de registos, formulários e workflows que a nomeiam (consulte [Credencia |---|---| | Credencial | Nome e descrição, ambos obrigatórios. | | Tipo | Um de 18 tipos, ver abaixo. | -| Armazenamento | Onde ficam o utilizador e a palavra-passe: **Base de dados** (cifrados na base de dados do AnsibleForms) ou **Cofre de segredos**, com o cofre e a **Referência** nele. Não existe para CyberArk nem para HashiCorp Vault, com os quais um cofre de segredos inicia sessão. A **Referência** aparece quando se escolhe um cofre; o seu exemplo segue o cofre: um caminho do HashiCorp Vault ou uma conta CyberArk. | +| Armazenamento | Onde o utilizador e a palavra-passe são guardados: **Base de dados** (cifrados na base de dados do AnsibleForms) ou **Cofre de segredos**. Em **Cofre de segredos**, **Apontar para uma chave** lê um segredo que já está no cofre, e **Escrever numa chave** escreve no cofre, ao **Guardar**, o utilizador e a palavra-passe escritos no passo **Acesso**. Depois escolha o cofre e preencha a **Referência**; o seu exemplo segue o cofre: um caminho do HashiCorp Vault ou uma conta do CyberArk. Não para CyberArk nem HashiCorp Vault, com os quais um cofre de segredos inicia sessão. | | Acesso | Com que e onde o tipo inicia sessão, ver abaixo. | O passo **Tipo** lista os tipos pelo nome: AAP, API, Ascender, AWX, CyberArk, Base de dados, Git, HashiCorp Vault, Jenkins, LDAP, @@ -41,7 +41,9 @@ O passo **Acesso** contém todos os campos do tipo, incluindo o endereço; não | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Servidor**, o endereço em que inicia sessão, obrigatório, com **Ignorar a verificação do certificado** e o **CA bundle** | | CyberArk | **Certificado de cliente** e **Chave de cliente** | -Com **Cofre de segredos**, o utilizador e a palavra-passe não são pedidos: o cofre dá-os. O passo **Acesso** mantém então só os campos de endereço do tipo (SSH, base de dados, servidores de correio e de diretório, o endereço de um servidor), e um acesso simples (Utilizador e palavra-passe, Git, API) não tem passo **Acesso**: é guardado a partir do passo **Armazenamento**. +Com **Apontar para uma chave**, o utilizador e a palavra-passe não são pedidos: o cofre dá-os. O passo **Acesso** mantém então só os campos de endereço do tipo (SSH, base de dados, servidores de correio e de diretório, o endereço de um servidor), e um acesso simples (Utilizador e palavra-passe, Git, API) não tem passo **Acesso**: é guardado a partir do passo **Armazenamento**. + +Com **Escrever numa chave** (desde 7.6.0), o passo **Acesso** pede o utilizador e a palavra-passe, e **Guardar** escreve-os no cofre na **Referência**; o AnsibleForms guarda apenas o cofre e a referência. Só são oferecidos os cofres que permitem escrita, e **Adicionar cofre de segredos** cria um com a escrita já ligada. Uma chave que já tem um segredo só é substituída se **Substituir um segredo que já lá esteja** estiver marcado, ver [Escrever credenciais](../secret-stores/#writing-credentials). Uma linha abre a página própria da credencial. O seu menu oferece **Editar**, **Testar ligação** (só para credenciais de base de dados) e **Eliminar**. A palavra-passe altera-se na página da credencial, no seu separador **Acesso**. diff --git a/i18n/pt/_configure/secret-stores/cyberark.md b/i18n/pt/_configure/secret-stores/cyberark.md index d3ce165..4371cc2 100644 --- a/i18n/pt/_configure/secret-stores/cyberark.md +++ b/i18n/pt/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: Cofres de segredos nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -Leia as credenciais do CyberArk Central Credential Provider (CCP) +Ler credenciais através do CCP do CyberArk, escrevê-las através do seu PVWA {: .fs-6 .fw-300 } 1. TOC @@ -54,6 +54,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Escrever credenciais + +Desde 7.6.0, o utilizador e a palavra-passe de uma credencial podem ser escritos no CyberArk ao **Guardar** (ver [Escrever credenciais](./#writing-credentials)). +O CCP só lê, por isso o AnsibleForms escreve através da API REST do PVWA, com uma credencial própria. + +Ligue **Permitir escrita** nas **Opções** do cofre e preencha: + +| Campo | Significado | +|---|---| +| Permitir escrita | Permite que uma credencial escreva o seu utilizador e palavra-passe neste cofre ao **Guardar**. Desligado por omissão. | +| Cofres onde escrever | Os cofres onde se podem escrever credenciais, separados por vírgulas, p. ex. `Linux, DB`. Obrigatório com a escrita ligada. | +| Endereço do PVWA | O URL base do PVWA, p. ex. `https://pvwa.example.com`. Obrigatório. | +| Credencial do PVWA | Uma credencial própria do tipo **Utilizador e palavra-passe** ou **API**, nunca lida de um cofre de segredos, que pode adicionar contas a esses cofres e mudar as suas palavras-passe. Obrigatória. | +| Método de início de sessão | Como a credencial do PVWA inicia sessão: CyberArk (por omissão), LDAP, RADIUS ou Windows. | +| ID da plataforma | A plataforma das contas que adiciona, p. ex. `UnixSSH`. Necessário para adicionar uma conta nova. | + +A referência indica a conta como na leitura, `Safe=Linux;Object=srv01-root`, com `Address=srv01.example.com` quando a sua plataforma precisa de um. + +- Uma conta nova é adicionada ao cofre com a plataforma, o nome de utilizador e a palavra-passe. +- Uma conta existente só é alterada se **Substituir um segredo que já lá esteja** estiver marcado: primeiro o nome de utilizador, depois a palavra-passe. +- A sessão do PVWA é terminada após cada escrita. O início de sessão OAuth do Privilege Cloud não é suportado. + +--- + ## Opções extra As opções extra do cofre definem-se como um objeto JSON: diff --git a/i18n/pt/_configure/secret-stores/hashicorp-vault.md b/i18n/pt/_configure/secret-stores/hashicorp-vault.md index 33a319a..3602b64 100644 --- a/i18n/pt/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/pt/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: Cofres de segredos nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -Leia as credenciais do HashiCorp Vault, de KV v1 ou v2 ou de um motor de segredos dinâmicos +Ler e escrever credenciais no HashiCorp Vault KV, ler segredos dinâmicos {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ A referência do segredo é o caminho, ex. `secret/myapp/prod`. Para KV v2, o se --- +## Escrever credenciais + +Desde 7.6.0, o utilizador e a palavra-passe de uma credencial podem ser escritos no Vault ao **Guardar** (ver [Escrever credenciais](./#writing-credentials)). + +Ligue **Permitir escrita** nas **Opções** do cofre, e indique onde pode escrever: + +| Campo | Significado | +|---|---| +| Permitir escrita | Permite que uma credencial escreva o seu utilizador e palavra-passe neste cofre ao **Guardar**. Desligado por omissão. | +| Prefixo de escrita | O caminho onde, ou sob o qual, as credenciais são escritas, p. ex. `secret/ansibleforms`. Uma montagem sozinha, p. ex. `secret`, permite toda a montagem. Obrigatório com a escrita ligada. | + +O segredo é escrito como `username` e `password`, em KV v2 ou v1 conforme a **Versão KV** do cofre. O token precisa das capacidades +read, create e update sob o prefixo; read verifica se já lá existe um segredo. Para KV v2 e o prefixo `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +O caminho de um motor de segredos dinâmicos, p. ex. `database/creds/readonly`, nunca é escrito: é o Vault que cria essas credenciais. + +--- + ## Credenciais dinâmicas de base de dados Uma referência da forma `/creds/`, ex. `database/creds/readonly`, lê de um diff --git a/i18n/pt/_configure/secret-stores/index.md b/i18n/pt/_configure/secret-stores/index.md index 55ad29b..a299e2f 100644 --- a/i18n/pt/_configure/secret-stores/index.md +++ b/i18n/pt/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # Cofres de segredos {: .no_toc } -Leia as credenciais de um gestor de segredos em vez de as guardar no AnsibleForms +Ler e escrever credenciais num gestor de segredos em vez de no AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ Leia as credenciais de um gestor de segredos em vez de as guardar no AnsibleForm --- -Para administradores: ligue um gestor de segredos, e deixe as credenciais ler dele o seu utilizador e a sua palavra-passe. +Para administradores: ligar um gestor de segredos, para que as credenciais leiam dele o utilizador e a palavra-passe ou os escrevam nele. --- @@ -41,6 +41,8 @@ nada nos seus formulários. | HashiCorp Vault (KV v1 e v2, autenticação por token) | disponível | | Credenciais dinâmicas do HashiCorp Vault (`/creds/`) | experimental | | CyberArk Central Credential Provider (CCP) | experimental | +| Escrita de credenciais no HashiCorp Vault KV | disponível | +| Escrita de credenciais no CyberArk, através do seu PVWA | experimental | --- @@ -75,8 +77,8 @@ Cada gestor de segredos tem uma página própria: ### Numa credencial -Em **Ligações > Credenciais**, no passo **Armazenamento** da credencial, escolha **Cofre de segredos**, depois escolha o -**Cofre de segredos** e preencha a **Referência**. O utilizador e a palavra-passe passam então a ser lidos do cofre, não escritos. +Em **Ligações > Credenciais**, no passo **Armazenamento** da credencial, escolha **Cofre de segredos** e **Apontar para uma chave**, depois +escolha o **Cofre de segredos** e preencha a **Referência**. O utilizador e a palavra-passe são então lidos do cofre, não escritos. ### Diretamente, sem linha de credencial @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Escrever credenciais + +Desde 7.6.0, o utilizador e a palavra-passe de uma credencial podem ser escritos num cofre ao guardá-la, sem terem de lá ser postos antes. + +No passo **Armazenamento** da credencial, escolha **Cofre de segredos** e **Escrever numa chave**, escolha o cofre e preencha a **Referência**. +O passo **Acesso** pede então o utilizador e a palavra-passe, e **Guardar** escreve-os no cofre; o AnsibleForms guarda apenas o cofre e a referência. + +- Só é oferecido um cofre com **Permitir escrita** ligado nas suas **Opções**, e só escreve onde as suas opções o permitem. +- Uma chave que já tem um segredo só é substituída se **Substituir um segredo que já lá esteja** estiver marcado; caso contrário nada é escrito nem guardado. +- Só um admin pode escrever, e cada escrita é auditada como `credential.secret_write`, sem o segredo. + +Como se configura cada gestor de segredos para escrever: + +| Página | O que abrange | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | Um prefixo de escrita, e as capacidades do token | +| [CyberArk](cyberark.html#writing-credentials) | Os cofres, e o PVWA com a sua credencial e plataforma | + +--- + ## No config seed Os cofres também podem ser declarados no config seed, como os outros objetos de administração: @@ -161,7 +183,8 @@ credentials: O cofre inicia sessão com a sua credencial: uma `vault` contém o endereço do Vault em `url` e o token como palavra-passe, uma `cyberark` o AppID e o endereço do CCP. Sem credencial, são usados o `url` e o `token` próprios do cofre. -Para mais detalhes, consulte [Config seed](../seed). +Um cofre que permite escrita define `write_enabled: true` e `write_prefix` (no CyberArk, os seus cofres), e um CyberArk também `pvwa_url`, +`pvwa_credential`, `pvwa_auth` e `platform_id`. Para mais detalhes, consulte [Config seed](../seed). --- diff --git a/i18n/zh/_configure/credentials/list.md b/i18n/zh/_configure/credentials/list.md index c22bd80..1211038 100644 --- a/i18n/zh/_configure/credentials/list.md +++ b/i18n/zh/_configure/credentials/list.md @@ -3,7 +3,7 @@ layout: default title: 凭据页面 parent: 凭据 nav_order: 2 -translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 +translated_from: d801d981c9a2a1f17a66580c8af2c49ee567c8eb --- # 凭据页面 @@ -21,7 +21,7 @@ translated_from: 986d768c15d0b91bdc3760026bd904d3f89ff3e0 |---|---| | 凭据 | 名称和描述,均为必填。 | | 类型 | 18 种类型之一,见下文。 | -| 存储 | 用户和密码的保存位置:**数据库**(加密保存在 AnsibleForms 数据库中)或 **密钥库**,并指定密钥库及其中的 **引用**。不适用于 CyberArk 和 HashiCorp Vault,因为密钥库本身用它们登录。 选择存储后才会显示**引用**;其示例随所选存储而定:HashiCorp Vault 路径或 CyberArk 账户。 | +| 存储 | 用户和密码的保存位置:**数据库**(在 AnsibleForms 数据库中加密)或 **密钥库**。在 **密钥库** 下,**指向键** 读取存储中已有的密钥,**写入键** 在 **保存** 时将 **登录** 步骤中输入的用户和密码写入存储。然后选择存储并填写 **引用**;其示例随存储而定:HashiCorp Vault 路径或 CyberArk 账户。不适用于 CyberArk 和 HashiCorp Vault,密钥库用它们登录。 | | 登录 | 该类型用什么登录以及登录到哪里,见下文。 | **类型** 步骤按名称列出各种类型:AAP、API、Ascender、AWX、CyberArk、数据库、Git、HashiCorp Vault、Jenkins、LDAP、 @@ -41,7 +41,9 @@ Microsoft Entra ID、Open ID、RTE、Rundeck、Semaphore、SMTP、SSH,以及 | HashiCorp Vault、CyberArk、RTE、AWX、AAP、Ascender、Semaphore、Rundeck、Jenkins | **服务器**,即其登录的地址,必填,另有 **跳过证书验证** 和 **CA 证书包** | | CyberArk | **客户端证书** 和 **客户端密钥** | -选择**密钥库**时,不会询问用户和密码:由存储提供。**登录**步骤只保留该类型的地址字段(SSH、数据库、邮件和目录服务器、服务器地址),而简单登录(用户和密码、Git、API)完全没有**登录**步骤:在**存储**步骤中保存。 +选择**指向键**时,不会询问用户和密码:由存储提供。**登录**步骤只保留该类型的地址字段(SSH、数据库、邮件和目录服务器、服务器地址),而简单登录(用户和密码、Git、API)完全没有**登录**步骤:在**存储**步骤中保存。 + +使用 **写入键**(从 7.6.0 起)时,**登录** 步骤会询问用户和密码,**保存** 会将其写入存储中的 **引用**;AnsibleForms 只保留存储和引用。只提供允许写入的存储,**添加机密存储** 会创建一个已开启写入的存储。已有密钥的键只有在勾选 **覆盖已存在的密钥** 时才会被替换,参见 [写入凭据](../secret-stores/#writing-credentials)。 点击某一行会打开该凭据自己的页面。其菜单提供 **编辑**、**测试连接**(仅限数据库凭据)和 **删除**。 密码在凭据页面的 **登录** 选项卡中修改。 diff --git a/i18n/zh/_configure/secret-stores/cyberark.md b/i18n/zh/_configure/secret-stores/cyberark.md index 2f180e5..77fdab7 100644 --- a/i18n/zh/_configure/secret-stores/cyberark.md +++ b/i18n/zh/_configure/secret-stores/cyberark.md @@ -3,13 +3,13 @@ layout: default title: CyberArk parent: 密钥库 nav_order: 2 -translated_from: f001addbd5578169444a321ab9e668e54139842b +translated_from: 2c82742312515c87bc1c83fea368929c0a32bfb3 --- # CyberArk {: .no_toc } -从 CyberArk Central Credential Provider(CCP)读取凭据 +通过 CyberArk CCP 读取凭据,通过其 PVWA 写入 {: .fs-6 .fw-300 } 1. TOC @@ -53,6 +53,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## 写入凭据 + +从 7.6.0 起,凭据的用户和密码可在 **保存** 时写入 CyberArk(参见 [写入凭据](./#writing-credentials))。 +CCP 只能读取,因此 AnsibleForms 使用自己的凭据登录,通过 PVWA REST API 写入。 + +在存储的 **选项** 中开启 **允许写入**,然后填写: + +| 字段 | 含义 | +|---|---| +| 允许写入 | 允许凭据在 **保存** 时将其用户和密码写入此存储。默认关闭。 | +| 写入的保险箱 | 可写入凭据的保险箱,以逗号分隔,例如 `Linux, DB`。开启写入时必填。 | +| PVWA 地址 | PVWA 的基础 URL,例如 `https://pvwa.example.com`。必填。 | +| PVWA 凭据 | 一个专用的 **用户和密码** 或 **API** 凭据,从不从密钥库读取,可在这些保险箱中添加账户并更改其密码。必填。 | +| 登录方式 | PVWA 凭据的登录方式:CyberArk(默认)、LDAP、RADIUS 或 Windows。 | +| 平台 ID | 所添加账户的平台,例如 `UnixSSH`。添加新账户时需要。 | + +引用与读取时一样指定账户,`Safe=Linux;Object=srv01-root`,平台需要时加上 `Address=srv01.example.com`。 + +- 新账户会以平台、用户名和密码添加到保险箱。 +- 现有账户只有在勾选 **覆盖已存在的密钥** 时才会更改:先改用户名,再改密码。 +- 每次写入后都会注销 PVWA 会话。不支持 Privilege Cloud 的 OAuth 登录。 + +--- + ## 附加选项 密钥库的附加选项以 JSON 对象设置: diff --git a/i18n/zh/_configure/secret-stores/hashicorp-vault.md b/i18n/zh/_configure/secret-stores/hashicorp-vault.md index 9341618..ff519dd 100644 --- a/i18n/zh/_configure/secret-stores/hashicorp-vault.md +++ b/i18n/zh/_configure/secret-stores/hashicorp-vault.md @@ -3,13 +3,13 @@ layout: default title: HashiCorp Vault parent: 密钥库 nav_order: 1 -translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f +translated_from: 1134189481b234cb2b18edbabd74427e37d2f43c --- # HashiCorp Vault {: .no_toc } -从 HashiCorp Vault 的 KV v1 或 v2 或动态密钥引擎读取凭据 +在 HashiCorp Vault KV 中读写凭据,读取动态密钥 {: .fs-6 .fw-300 } 1. TOC @@ -33,6 +33,30 @@ translated_from: 33cbbea1ca86bf474182d220bd6824af81aa752f --- +## 写入凭据 + +从 7.6.0 起,凭据的用户和密码可在 **保存** 时写入 Vault(参见 [写入凭据](./#writing-credentials))。 + +在存储的 **选项** 中开启 **允许写入**,并设置它可以写入的位置: + +| 字段 | 含义 | +|---|---| +| 允许写入 | 允许凭据在 **保存** 时将其用户和密码写入此存储。默认关闭。 | +| 写入前缀 | 凭据写入的路径或其下级路径,例如 `secret/ansibleforms`。只写挂载点(例如 `secret`)则允许整个挂载点。开启写入时必填。 | + +密钥以 `username` 和 `password` 写入,按存储的 **KV 版本** 写入 KV v2 或 v1。令牌需要在前缀下具有 +read、create 和 update 权限;read 用于检查是否已有密钥。对于 KV v2 和前缀 `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +动态密钥引擎的路径(例如 `database/creds/readonly`)永远不会被写入:这些凭据由 Vault 自己创建。 + +--- + ## 动态数据库凭据 形如 `/creds/` 的引用(例如 `database/creds/readonly`)会从 diff --git a/i18n/zh/_configure/secret-stores/index.md b/i18n/zh/_configure/secret-stores/index.md index 95a0a55..be42f02 100644 --- a/i18n/zh/_configure/secret-stores/index.md +++ b/i18n/zh/_configure/secret-stores/index.md @@ -5,13 +5,13 @@ nav_order: 14 has_children: true has_toc: false permalink: /secret-stores/ -translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 +translated_from: 46ee77acbbf03c7b7536aa87ab0f44f0d486de6f --- # 密钥库 {: .no_toc } -从密钥管理器读取凭据,而不是将其保存在 AnsibleForms 中 +在密钥管理器中而非 AnsibleForms 中读写凭据 {: .fs-6 .fw-300 } 1. TOC @@ -19,7 +19,7 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 --- -面向管理员:连接密钥管理器,并让凭据从中读取其用户和密码。 +面向管理员:连接一个密钥管理器,让凭据从中读取用户和密码,或将其写入其中。 --- @@ -41,6 +41,8 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 | HashiCorp Vault(KV v1 和 v2,令牌认证) | 可用 | | HashiCorp Vault 动态凭据(`/creds/`) | 实验性 | | CyberArk Central Credential Provider(CCP) | 实验性 | +| 将凭据写入 HashiCorp Vault KV | 可用 | +| 通过 PVWA 将凭据写入 CyberArk | 实验性 | --- @@ -75,8 +77,8 @@ translated_from: c7e5d9fb5e640896bd51e3fa20d76be092857ce2 ### 在凭据中 -在 **连接 > 凭据** 下,在凭据的 **存储** 步骤中选择 **密钥库**,然后选择 -**密钥库** 并填写 **引用**。这样用户和密码就从密钥库读取,而不是手动输入。 +在 **连接 > 凭据** 中,在凭据的 **存储** 步骤选择 **密钥库** 和 **指向键**, +然后选择 **密钥库** 并填写 **引用**。用户和密码随后从存储中读取,而不是手动输入。 ### 内联方式,无需凭据行 @@ -133,6 +135,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## 写入凭据 + +从 7.6.0 起,凭据的用户和密码可在保存时写入存储,无需事先放入其中。 + +在凭据的 **存储** 步骤选择 **密钥库** 和 **写入键**,选择存储并填写 **引用**。 +**登录** 步骤随后会询问用户和密码,**保存** 会将其写入存储;AnsibleForms 只保留存储和引用。 + +- 只提供在其 **选项** 中开启了 **允许写入** 的存储,且只写入其选项允许的位置。 +- 已有密钥的键只有在勾选 **覆盖已存在的密钥** 时才会被替换;否则不写入也不保存任何内容。 +- 只有管理员可以写入,每次写入都会以 `credential.secret_write` 记录审计,不含密钥本身。 + +各密钥管理器的写入设置: + +| 页面 | 内容 | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | 写入前缀,以及令牌的权限 | +| [CyberArk](cyberark.html#writing-credentials) | 保险箱,以及 PVWA 及其凭据和平台 | + +--- + ## 在配置种子中 与其他管理对象一样,密钥库也可以在配置种子中声明: @@ -161,7 +183,8 @@ credentials: 密钥库使用其凭据登录:`vault` 凭据在 `url` 中保存 Vault 的地址,并以令牌作为其密码;`cyberark` 凭据保存 AppID 和 CCP 地址。没有凭据时,使用密钥库自身的 `url` 和 `token`。 -详情参见 [配置种子](../seed)。 +允许写入的存储设置 `write_enabled: true` 和 `write_prefix`(CyberArk 为其保险箱),CyberArk 还需设置 `pvwa_url`、 +`pvwa_credential`、`pvwa_auth` 和 `platform_id`。详情参见 [配置种子](../seed)。 --- diff --git a/source/_configure/credentials/list.md b/source/_configure/credentials/list.md index d7eb66d..d801d98 100644 --- a/source/_configure/credentials/list.md +++ b/source/_configure/credentials/list.md @@ -20,7 +20,7 @@ number of records, forms and workflows that name it (see [Credentials in use](.. |---|---| | Credential | Name and description, both required. | | Type | One of 18 types, see below. | -| Store | Where the user and password are kept: **Database** (encrypted in the AnsibleForms database) or **Secret store**, with the store and the **Reference** in it. Not for CyberArk nor HashiCorp Vault, which a secret store logs in with. The **Reference** shows once a store is chosen; its example follows the store: a HashiCorp Vault path, or a CyberArk account. | +| Store | Where the user and password are kept: **Database** (encrypted in the AnsibleForms database) or **Secret store**. Under **Secret store**, **Point to a key** reads a secret already in the store, and **Write to a key** writes the user and password typed in the **Login** step to the store on **Save**. Then pick the store and fill in the **Reference**; its example follows the store: a HashiCorp Vault path, or a CyberArk account. Not for CyberArk nor HashiCorp Vault, which a secret store logs in with. | | Login | What the type logs in with and where, see below. | The **Type** step lists the types by name: AAP, API, Ascender, AWX, CyberArk, Database, Git, HashiCorp Vault, Jenkins, LDAP, @@ -40,7 +40,9 @@ The **Login** step holds every field of the type, the address included; there is | HashiCorp Vault, CyberArk, RTE, AWX, AAP, Ascender, Semaphore, Rundeck, Jenkins | **Server**, the address it logs in to, required, with **Skip certificate verification** and the **CA bundle** | | CyberArk | **Client certificate** and **Client key** | -With **Secret store**, the user and password are not asked: the store gives them. The **Login** step then keeps only the address fields of the type (SSH, database, mail and directory servers, a server address), and a plain login (User and password, Git, API) has no **Login** step at all: it is saved from the **Store** step. +With **Point to a key**, the user and password are not asked: the store gives them. The **Login** step then keeps only the address fields of the type (SSH, database, mail and directory servers, a server address), and a plain login (User and password, Git, API) has no **Login** step at all: it is saved from the **Store** step. + +With **Write to a key** (from 7.6.0), the **Login** step asks the user and password, and **Save** writes them to the store at the **Reference**; AnsibleForms keeps only the store and the reference. Only the stores that allow writing are offered, and **Add secret store** makes one with writing already on. A key that already holds a secret is replaced only when **Overwrite a secret already there** is ticked, see [Writing credentials](../secret-stores/#writing-credentials). A row opens the credential's own page. Its menu offers **Edit**, **Test connection** (database credentials only) and **Delete**. The password is changed on the credential's page, in its **Login** tab. diff --git a/source/_configure/secret-stores/cyberark.md b/source/_configure/secret-stores/cyberark.md index f001add..2c82742 100644 --- a/source/_configure/secret-stores/cyberark.md +++ b/source/_configure/secret-stores/cyberark.md @@ -8,7 +8,7 @@ nav_order: 2 # CyberArk {: .no_toc } -Read credentials from the CyberArk Central Credential Provider (CCP) +Read credentials through the CyberArk CCP, write them through its PVWA {: .fs-6 .fw-300 } 1. TOC @@ -53,6 +53,30 @@ Query=Safe=Linux;Folder=Root;Object=root-srv01 --- +## Writing credentials + +From 7.6.0 a credential's user and password can be written to CyberArk on **Save** (see [Writing credentials](./#writing-credentials)). +The CCP only reads, so AnsibleForms writes through the PVWA REST API, logged on with a credential of its own. + +Switch on **Allow writing** in the store's **Options**, then fill in: + +| Field | Meaning | +|---|---| +| Allow writing | Lets a credential write its user and password to this store on **Save**. Off by default. | +| Safes to write to | The safes credentials may be written to, comma separated, e.g. `Linux, DB`. Required with writing on. | +| PVWA address | The PVWA's base URL, e.g. `https://pvwa.example.com`. Required. | +| PVWA credential | A **User and password** or **API** credential of its own, never read from a secret store, that may add accounts to those safes and change their passwords. Required. | +| Logon method | How the PVWA credential logs on: CyberArk (default), LDAP, RADIUS or Windows. | +| Platform ID | The platform of the accounts it adds, e.g. `UnixSSH`. Needed to add a new account. | + +The reference names the account as for reading, `Safe=Linux;Object=srv01-root`, with `Address=srv01.example.com` when its platform needs one. + +- A new account is added to the safe with the platform, the user name and the password. +- An existing account is changed only when **Overwrite a secret already there** is ticked: its user name, then its password. +- The PVWA session is logged off after each write. Privilege Cloud's OAuth sign-in is not supported. + +--- + ## Extra options The store's extra options are set as a JSON object: diff --git a/source/_configure/secret-stores/hashicorp-vault.md b/source/_configure/secret-stores/hashicorp-vault.md index 33cbbea..1134189 100644 --- a/source/_configure/secret-stores/hashicorp-vault.md +++ b/source/_configure/secret-stores/hashicorp-vault.md @@ -8,7 +8,7 @@ nav_order: 1 # HashiCorp Vault {: .no_toc } -Read credentials from HashiCorp Vault, from KV v1 or v2 or a dynamic secrets engine +Read and write credentials in HashiCorp Vault KV, read dynamic secrets {: .fs-6 .fw-300 } 1. TOC @@ -32,6 +32,30 @@ is inserted when you leave it out. --- +## Writing credentials + +From 7.6.0 a credential's user and password can be written to the Vault on **Save** (see [Writing credentials](./#writing-credentials)). + +Switch on **Allow writing** in the store's **Options**, and set where it may write: + +| Field | Meaning | +|---|---| +| Allow writing | Lets a credential write its user and password to this store on **Save**. Off by default. | +| Write prefix | The path credentials are written at or below, e.g. `secret/ansibleforms`. A mount alone, e.g. `secret`, allows the whole mount. Required with writing on. | + +The secret is written as `username` and `password`, to KV v2 or v1 as the store's **KV version** says. The token needs the read, create and +update capabilities below the prefix; read checks whether a secret is already there. For KV v2 and the prefix `secret/ansibleforms`: + +```hcl +path "secret/data/ansibleforms/*" { + capabilities = ["read", "create", "update"] +} +``` + +A dynamic secrets engine's path, e.g. `database/creds/readonly`, is never written: Vault makes those credentials itself. + +--- + ## Dynamic database credentials A reference of the form `/creds/`, e.g. `database/creds/readonly`, reads from a diff --git a/source/_configure/secret-stores/index.md b/source/_configure/secret-stores/index.md index c7e5d9f..46ee77a 100644 --- a/source/_configure/secret-stores/index.md +++ b/source/_configure/secret-stores/index.md @@ -10,7 +10,7 @@ permalink: /secret-stores/ # Secret stores {: .no_toc } -Read credentials from a secret manager instead of storing them in AnsibleForms +Read and write credentials in a secret manager instead of in AnsibleForms {: .fs-6 .fw-300 } 1. TOC @@ -18,7 +18,7 @@ Read credentials from a secret manager instead of storing them in AnsibleForms --- -For administrators: connect a secret manager, and let credentials read their user and password from it. +For administrators: connect a secret manager, and let credentials read their user and password from it or write them to it. --- @@ -40,6 +40,8 @@ nothing in your forms. | HashiCorp Vault (KV v1 and v2, token authentication) | available | | HashiCorp Vault dynamic credentials (`/creds/`) | experimental | | CyberArk Central Credential Provider (CCP) | experimental | +| Writing credentials to HashiCorp Vault KV | available | +| Writing credentials to CyberArk, through its PVWA | experimental | --- @@ -74,8 +76,8 @@ Each secret manager has a page of its own: ### In a credential -Under **Connections > Credentials**, on the credential's **Store** step, choose **Secret store**, then pick the -**Secret store** and fill in the **Reference**. The user and password are then read from the store, not typed in. +Under **Connections > Credentials**, on the credential's **Store** step, choose **Secret store** and **Point to a key**, then pick +the **Secret store** and fill in the **Reference**. The user and password are then read from the store, not typed in. ### Inline, without a credential row @@ -132,6 +134,26 @@ fn.fnCredentials('vault:secret/weird', '', '.creds | { user: .u, password: .p }' --- +## Writing credentials + +From 7.6.0 a credential's user and password can be written to a store when the credential is saved, so they never have to be put there first. + +On the credential's **Store** step, choose **Secret store** and **Write to a key**, pick the store and fill in the **Reference**. The +**Login** step then asks the user and password, and **Save** writes them to the store; AnsibleForms keeps only the store and the reference. + +- Only a store with **Allow writing** switched on in its **Options** is offered, and it writes only where its options allow. +- A key that already holds a secret is replaced only when **Overwrite a secret already there** is ticked; otherwise nothing is written or saved. +- Only an admin can write, and each write is audited as `credential.secret_write`, without the secret. + +How each secret manager is set up for writing: + +| Page | What it covers | +|---|---| +| [HashiCorp Vault](hashicorp-vault.html#writing-credentials) | A write prefix, and the token's capabilities | +| [CyberArk](cyberark.html#writing-credentials) | The safes, and the PVWA with its credential and platform | + +--- + ## In the config seed Stores can also be declared in the config seed, like the other admin objects: @@ -160,7 +182,8 @@ credentials: The store logs in with its credential: a `vault` one holds the Vault's address in `url` and the token as its password, a `cyberark` one the AppID and the CCP address. Without a credential, the store's own `url` and `token` are used. -For details, see [Config seed](../seed). +A store that allows writing sets `write_enabled: true` and `write_prefix` (a CyberArk its safes), and a CyberArk also `pvwa_url`, +`pvwa_credential`, `pvwa_auth` and `platform_id`. For details, see [Config seed](../seed). ---