Ce module Ansible permet d'authentifier avec Devolutions Server et de récupérer des informations sur le serveur, des coffres et des secrets.
Consulter notre GitHub pour en savoir plus sur le module Ansible pour Devolutions Server.
Authentifier avec Devolutions Server à l'aide d'identités d'application.
Obtenir des informations sur le serveur, des listes de coffres ou des secrets spécifiques.
Support flexible pour les secrets statiques ou pour obtenir tous les secrets dans un coffre.
Ansible 2.18
Bibliothèque Python
requestsUne identité d'application Devolutions Server (créer sur
{your-dvls-url}/administration/applications).L'application doit avoir les permissions pour obtenir les secrets souhaités.
export DVLS_APP_KEY="your_app_key_here"
export DVLS_APP_SECRET="your_app_secret_here"
Définir les secrets à extraire dans secrets.yml :
secrets:
- secret_name: "my_secret_1"
- secret_name: "my_secret_2"
- secret_id: "12345678-1234-1234-1234-123456789012"
Utiliser le playbook suivant pour s'authentifier avec Devolutions Server et extraire les secrets définis dans secrets.yml :
vars_files:
- secrets.yml
tasks:
- name: Fetch secrets
devolutions.dvls.fetch_secrets:
server_base_url: "https://example.yourcompany.com"
app_key: ""
app_secret: ""
vault_id: "00000000-0000-0000-0000-000000000000"
secrets: ""
register: value
- name: Dump secrets
debug:
msg: ""
- name: Dump a secret
debug:
msg: ""
Utiliser le playbook suivant pour s'authentifier avec Devolutions Server et extraire tous les secrets d'un VaultID défini :
tasks:
- name: Fetch secrets
devolutions.dvls.fetch_secrets:
server_base_url: "https://example.yourcompany.com"
app_key: ""
app_secret: ""
vault_id: "00000000-0000-0000-0000-000000000000"
register: value
- name: Dump secrets
debug:
msg: ""
- name: Dump a secret
debug:
msg: ""
---
- name: Fetch dvls server information
server:
server_base_url: "https://example.yourcompany.com"
app_key: ""
app_secret: ""
register: value
- name: Fetch URI
debug:
msg: ""
- name: Fetch a vault from the list
debug:
msg: ""
Exemple de réponse
{
"server": {
"accessURI": "https://example.dvls-server.com/",
"changed": false,
"failed": false,
"vaults": [
{
"description": "User vault for personal entries",
"id": "123e4567-e89b-12d3-a456-426614174000",
"type": "User"
},
{
"description": "Shared vault for organization",
"id": "987f6543-d21c-43ba-987f-123456789abc",
"name": "Organization vault",
"type": "Shared"
}
],
"version": "2025.1.0.0"
}
}
Pour accéder à un champ particulier au sein d'un secret, utiliser le format ``. Voici un aperçu des catégories disponibles et de leurs champs :
| Catégorie | Champs |
|---|---|
| Nom d'utilisateur et mot de passe | domain, password, username |
| Chaîne de connexion | connectionString |
| Secret | password |
| Clé API | apiId, apiKey, tenantId |
| Clé SSH | domain, password, privateKeyData, privateKeyOverridePassword, privateKeyPassPhrase, publicKeyData, username |
| Principal de service Azure | clientId, clientSecret, tenantId |
Par exemple, si vous souhaitez accéder à apiId depuis un API key secret, utiliser la syntaxe suivante :
S'il y a déjà un secret existant à cet emplacement, il mettra à jour le secret. Sinon, une nouvelle entrée de secret sera créée. Lorsqu'un nouveau secret est créé ou mis à jour, le module retournera l'ID de l'entrée.
- name: Upload Credentials to DVLS
devolutions.dvls.create_secret:
server_base_url: "https://example.yourcompany.com"
app_key: ""
app_secret: ""
vault_id: "00000000-0000-0000-0000-000000000000"
secret:
secret_name: "my_secret_1"
value: "p@ssw0rd1"
Exemple avec des options supplémentaires disponibles (Actuellement, seul le type "Credential" et le sous-type "Default" sont pris en charge) :
- name: Upload Credentials to DVLS
devolutions.dvls.create_secret:
server_base_url: "https://example.yourcompany.com"
app_key: ""
app_secret: ""
vault_id: "00000000-0000-0000-0000-000000000000"
secret:
secret_name: "my_secret_1"
value: "p@ssw0rd1"
secret_path: "path\\to\\folder"
secret_type: "Credentials"
secret_subtype: "Default"
secret_description: "a description for the secret"