Project: [Name] Started: [Date] Stack: [Key technologies]
This directory contains automated scripts for managing Multipass VMs and deploying the SWA (Secure Workload Access) solution.
- Multipass installed: Download from https://multipass.run/install
- Ansible installed: Required for deployment automation
- Terraform installed: Version 1.0 or higher (download)
- CyberArk Certificate Manager SAAS Account: With Workload Identity Manager (Firefly) activated
You've got multiple teams, each with their own CyberArk safes (let's say 20+), and secrets in those safes are needed for agent installation across your Linux fleet. If you try to solve this the "obvious" way—creating AAP credential objects for each user × safe combination—you end up with credential sprawl from hell. 200 users × 20 safes = 4,000 credential objects. Nobody wants that.
The thing is, you can't just template variables in AAP credential queries like this:
{
"object_query": "Username={{ service }};Address=foobar.example.dev"| #!/bin/bash | |
| kubectl create ns cyberark-poc | |
| kubectl create sa -n cyberark-poc cyberark-poc-app-sa |
| { | |
| "AWSTemplateFormatVersion": "2010-09-09", | |
| "Parameters": { | |
| "PolicyName": { | |
| "Type": "String", | |
| "Description": "Meaningful policy name" | |
| }, | |
| "CyberArkSecretsHubRoleARN": { | |
| "Type": "String", | |
| "Description": "The Secrets Hub tenant role ARN which will be trusted by this role" |
| import getpass | |
| from ark_sdk_python import ArkClient | |
| from ark_sdk_python.auth import ArkISPAuth | |
| def interactive_platform_auth(): | |
| """Interactive platform token authentication setup""" | |
| # Gather credentials interactively | |
| tenant_url = input("Enter your CyberArk tenant URL: ") | |
| client_id = input("Enter your Service User client ID: ") |
| # Requires: Az PowerShell Module | |
| # Install with: Install-Module -Name Az -Scope CurrentUser | |
| # ------------------------ | |
| # VARIABLES - EDIT THESE | |
| # ------------------------ | |
| $ManagementGroupId = "<YourManagementGroupID>" # e.g. "mg-root" | |
| # ------------------------ | |
| # CONNECT TO AZURE |
| # Version = 13.6.0.4-release/13.6 | |
| #----------------------------------------- | |
| # This script installs the Vault-Conjur Synchronizer | |
| #------------------------------------------ | |
| #Requires -Version 4.0 | |
| param([switch] $silent, [switch] $forceNoPVWAApiUse, [switch] $trustPVWAAndConjurCert, [switch] $automationTests) | |
| #region [Variables] |
This guide demonstrates how to authenticate to CyberArk's Self-Hosted Privileged Access Management (PAM) REST API using PingFederate SAML authentication with PowerShell.
The script implements a complete SAML authentication flow that:
- Initiates SAML authentication with CyberArk
- Redirects to PingFederate for authentication