SlideShare a Scribd company logo
1 of 23
REST for the Rest of Us
Joe Garcia, CISSP – Corporate Solutions Engineer
Kevin Ross – Corporate Solutions Engineer
► Think about all the repetitive tasks you do every day…
■ Creating safes
■ Onboarding accounts
■ Adding members to safes
■ Activating Users that never seem to remember their password
► What if there was a 1-click way for you to do all that?
► The REST API allows you to make that “1-click dream” come true.
► We’ve simplified it to make it more welcoming to non-developers.
► With Postman, it allows you to do it with little-to-no previous dev
knowledge.
► Let me show you how…
Why should I care about the REST API?
What is a RESTful Web Service?
A RESTful Web Service helps developers easily automate CRUD of objects.
CRUD stands for:
Create (POST), Retrieve (GET), Update (PUT), Delete (DELETE)
A majority of what a developer does is deal with objects in that manner. Since
the founder of HTTP, Roy Fielding, has been a huge backer of REST from its
inception, he built HTTP with common CRUD operations already built-in.
This is awesome for us because it allows us to eventually automate ourselves
out of work! I call this an…
Joe’s last Automation Vacation – pre-CyberArk
Automation Vacation!
REST API Methods
POST
■ Create a new object: Add Account, Add Safe, Add Safe Member, Add User
GET
■ Retrieve an existing object: Get Account Details, List Safes, Get Safe Details
PUT
■ Update an existing object: Update Account Details, Update Safe, Update User
DELETE
■ Delete an existing object: Delete Account, Delete Safe, Delete User
>
>
>
>
Postman Live Documentation & Collection
Postman is an online tool that gives us the ability to provide you
with a pre-built testing environment for your CyberArk Web
Services.
Benefits include:
Live Documentation for commonly used languages
Available public collection for testing against live CyberArk Web Services
Code snippets for every available language (except PowerShell, inquire
within)
CyberArk Web Services SDK Documentation built into public collection
Available Online & Standalone for Windows
Let’s improve on something that exists already.
It should be an easily repeatable task.
Something we use a lot and would benefit most
from our improvements.
What could we build in 30 minutes?
Well, 20 minutes now…
Phase 1:
Breakdown the O.G. PUU
CSV template was
complex!
I have to give “PasswordManager” as the CPMUser every time?
If the Folder is always “Root”, why do I have to keep telling it that?
At the end of the day, we took more time trying to figure that out than automating.
PUU did not like commas
or quotes!
Actually, PUU couldn’t handle any special characters. (https:// = NOPE!)
You messed up a property?
You get half an account!
PUU uploaded accounts were not transactional (they wouldn’t back out at failure).
You’d get half of an account’s properties up until where the upload failed.
No good at being wrong!
PUU would not know how to deal with conflicts. Let’s help it grow up a little and
mature. I’d hate to be that conflicted…
PACLI as the foundation of
PUU didn’t allow for
customer customization
The REST API opens up the possibilities since it is not limited to particular
languages.
Phase 2:
Plan our PUU on Steroids
Make the CSV template
straightforward and easy
CSV should have the following most commonly used columns:
ObjectName, Safe, Address, Username, Password, PlatformID,
DisableAutoMgmt, DisableAutoMgmtReason
PUU 2 should upload all
account properties, or none
at all
Using proper Try…Catch error handling, we can stop that from happening
anymore.
Fix whitespace issues to
allow proper PlatformID
name spacing
Now you don’t have to worry about improper spacing of “Windows Domain
Account”
More speed! If you can use this to improve your Hygiene Report, let’s make it fast!
Make the new PUU handle
special characters properly
Since we’re dealing with URI, we’ll use what is called URLEncoding to make sure
all special characters are properly replaced. (i.e. Windows Domain Account
becomes Windows%20Domain%20Account)
Prepare
Pre-Requisites
passwords.csv
Should be created and ready in the same directory.
Phase 3:
Build our PUU 2
Prepare Main
PowerShell Script
(.ps1)
I used Microsoft’s freeware Visual Studio Code (https://code.visualstudio.com)
Also, I referenced http://git.joeco.de for PowerShell functions that we’ll be using
► Functions will be created for each REST API call needed
■ Logon
■ Add Account
■ Logoff
► User Input will be entered first
■ Base URL (i.e. https://pvwa.cyberark.local)
■ API Username
■ API Password
■ Path to CSV File
► Import-CSV and enter each row value into an
array variable
► Step through each row, adding the account that
is listed on each.
Plan the Pieces of our PUU Puzzle
Functions First!
Receive User Input
PASREST-Logon & Import-CSV
Read Each Row & Add Account
PASREST-Logoff & Report Results
What it looks like put together
Phase 4:
?????? (The Testing Phase)
WE’LL DO IT
LIVE!
Phase 5:
PROFIT!!! (Not really…)
Visit http://git.joeco.de/PasswordUploadUtility-v2
to fork the PUU 2 repo and start down your own
path to Automation Superstardom!
► REST API Common Uses
■ Quickly onboard accounts after Hygiene Report
■ 1-Click Activate Users without needing PrivateArk Client
■ Quickly mirror your new DEV safe structure from PROD
► Attend these sessions
■ Coming Up Next: Conjuring DevSecOps in an Insecure World
■ Tomorrow @ 10:30am: A Practical Guide to CyberArk and Amazon Web Services
► Visit the Discovery Center
■ Customer Success Booth
■ DevSecOps Demo Station
► http://git.joeco.de/PasswordUploadUtility-v2
Key Takeaways and Where to Learn More
CyberArk Impact 2017 - REST for the Rest of Us

More Related Content

What's hot

Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudMarcelo Serpa
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift WorkshopTyler Hatton
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...Mihai Criveti
 
Decorator Design Pattern Presentation
Decorator Design Pattern PresentationDecorator Design Pattern Presentation
Decorator Design Pattern PresentationOuissalBenameur
 
Container Security
Container SecurityContainer Security
Container SecuritySalman Baset
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 
Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Amazon Web Services
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm
 
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsRed Hat Developers
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...Amazon Web Services Korea
 
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축BESPIN GLOBAL
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOpsOpsta
 

What's hot (20)

Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift Workshop
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
Kubernetes Story - Day 2: Quay.io Container Registry for Publishing, Building...
 
Decorator Design Pattern Presentation
Decorator Design Pattern PresentationDecorator Design Pattern Presentation
Decorator Design Pattern Presentation
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Container Security
Container SecurityContainer Security
Container Security
 
Microservices
MicroservicesMicroservices
Microservices
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...Intégration et livraison continues des bonnes pratiques de conception d'appli...
Intégration et livraison continues des bonnes pratiques de conception d'appli...
 
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Kubernetes : Installation et Configuration
 
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
 
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축[웨비나] 다중 AWS 계정에서의 CI/CD 구축
[웨비나] 다중 AWS 계정에서의 CI/CD 구축
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Container on azure
Container on azureContainer on azure
Container on azure
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Security Process in DevSecOps
Security Process in DevSecOpsSecurity Process in DevSecOps
Security Process in DevSecOps
 

Viewers also liked

2016 04-05 cyber ark - не потеряйте ключи от королевства
2016 04-05 cyber ark - не потеряйте ключи от королевства 2016 04-05 cyber ark - не потеряйте ключи от королевства
2016 04-05 cyber ark - не потеряйте ключи от королевства Diana Frolova
 
Combating The Ransomworm
Combating The RansomwormCombating The Ransomworm
Combating The RansomwormLavi Lazarovitz
 
CyberArk University Certificate Advanced PSM Shayne Hotton
CyberArk University Certificate Advanced PSM Shayne HottonCyberArk University Certificate Advanced PSM Shayne Hotton
CyberArk University Certificate Advanced PSM Shayne HottonShayne Hotton, B.Comm
 
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...Digital Bond
 

Viewers also liked (7)

2016 04-05 cyber ark - не потеряйте ключи от королевства
2016 04-05 cyber ark - не потеряйте ключи от королевства 2016 04-05 cyber ark - не потеряйте ключи от королевства
2016 04-05 cyber ark - не потеряйте ключи от королевства
 
Combating The Ransomworm
Combating The RansomwormCombating The Ransomworm
Combating The Ransomworm
 
"EL ATAQUE INTERNO"
"EL ATAQUE INTERNO""EL ATAQUE INTERNO"
"EL ATAQUE INTERNO"
 
CyberArk University Certificate Advanced PSM Shayne Hotton
CyberArk University Certificate Advanced PSM Shayne HottonCyberArk University Certificate Advanced PSM Shayne Hotton
CyberArk University Certificate Advanced PSM Shayne Hotton
 
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...
Managing and Securing Remote Access To Critical Infrastructure, Yariv Lenchne...
 
DevOps
DevOpsDevOps
DevOps
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 

Similar to CyberArk Impact 2017 - REST for the Rest of Us

I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015Mike McNeil
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Mikkel Flindt Heisterberg
 
OpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in PythonOpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in PythonCodeOps Technologies LLP
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teamsJamie Thomas
 
Create ABS Project In Twenty Minutes
Create ABS Project In Twenty MinutesCreate ABS Project In Twenty Minutes
Create ABS Project In Twenty MinutesBENOIS Jérôme
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Ivo Jansch
 
We-Donut.io presentation of Platform
We-Donut.io presentation of PlatformWe-Donut.io presentation of Platform
We-Donut.io presentation of PlatformDennis Reurings
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps✅ William Pinaud
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieVMware Tanzu
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Mikkel Flindt Heisterberg
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Mikkel Flindt Heisterberg
 
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...ijtsrd
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...VMware Tanzu
 

Similar to CyberArk Impact 2017 - REST for the Rest of Us (20)

I Love APIs - Oct 2015
I Love APIs - Oct 2015I Love APIs - Oct 2015
I Love APIs - Oct 2015
 
Windows PowerShell
Windows PowerShellWindows PowerShell
Windows PowerShell
 
Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)Plug yourself in and your app will never be the same (1 hr edition)
Plug yourself in and your app will never be the same (1 hr edition)
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
OpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in PythonOpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in Python
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teams
 
Create ABS Project In Twenty Minutes
Create ABS Project In Twenty MinutesCreate ABS Project In Twenty Minutes
Create ABS Project In Twenty Minutes
 
Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)Enterprise PHP (PHP London Conference 2008)
Enterprise PHP (PHP London Conference 2008)
 
Drupal 7 ci and testing
Drupal 7 ci and testingDrupal 7 ci and testing
Drupal 7 ci and testing
 
We-Donut.io presentation of Platform
We-Donut.io presentation of PlatformWe-Donut.io presentation of Platform
We-Donut.io presentation of Platform
 
Introduction aux progressive web apps
Introduction aux progressive web appsIntroduction aux progressive web apps
Introduction aux progressive web apps
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel LavoieSpring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
 
SP24 S055 SharePointToolbox by Rodrigo Pinto
SP24 S055 SharePointToolbox by Rodrigo PintoSP24 S055 SharePointToolbox by Rodrigo Pinto
SP24 S055 SharePointToolbox by Rodrigo Pinto
 
Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)Plug yourself in and your app will never be the same (2 hr editon)
Plug yourself in and your app will never be the same (2 hr editon)
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
Advanced Virtual Assistant Based on Speech Processing Oriented Technology on ...
 
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
 

Recently uploaded

Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrsaastr
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfhenrik385807
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Pooja Nehwal
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxmohammadalnahdi22
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesPooja Nehwal
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 

Recently uploaded (20)

Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
Navi Mumbai Call Girls Service Pooja 9892124323 Real Russian Girls Looking Mo...
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara ServicesVVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 

CyberArk Impact 2017 - REST for the Rest of Us

  • 1. REST for the Rest of Us Joe Garcia, CISSP – Corporate Solutions Engineer Kevin Ross – Corporate Solutions Engineer
  • 2. ► Think about all the repetitive tasks you do every day… ■ Creating safes ■ Onboarding accounts ■ Adding members to safes ■ Activating Users that never seem to remember their password ► What if there was a 1-click way for you to do all that? ► The REST API allows you to make that “1-click dream” come true. ► We’ve simplified it to make it more welcoming to non-developers. ► With Postman, it allows you to do it with little-to-no previous dev knowledge. ► Let me show you how… Why should I care about the REST API?
  • 3. What is a RESTful Web Service? A RESTful Web Service helps developers easily automate CRUD of objects. CRUD stands for: Create (POST), Retrieve (GET), Update (PUT), Delete (DELETE) A majority of what a developer does is deal with objects in that manner. Since the founder of HTTP, Roy Fielding, has been a huge backer of REST from its inception, he built HTTP with common CRUD operations already built-in. This is awesome for us because it allows us to eventually automate ourselves out of work! I call this an…
  • 4. Joe’s last Automation Vacation – pre-CyberArk Automation Vacation!
  • 5. REST API Methods POST ■ Create a new object: Add Account, Add Safe, Add Safe Member, Add User GET ■ Retrieve an existing object: Get Account Details, List Safes, Get Safe Details PUT ■ Update an existing object: Update Account Details, Update Safe, Update User DELETE ■ Delete an existing object: Delete Account, Delete Safe, Delete User
  • 6. > > > > Postman Live Documentation & Collection Postman is an online tool that gives us the ability to provide you with a pre-built testing environment for your CyberArk Web Services. Benefits include: Live Documentation for commonly used languages Available public collection for testing against live CyberArk Web Services Code snippets for every available language (except PowerShell, inquire within) CyberArk Web Services SDK Documentation built into public collection
  • 7. Available Online & Standalone for Windows
  • 8. Let’s improve on something that exists already. It should be an easily repeatable task. Something we use a lot and would benefit most from our improvements. What could we build in 30 minutes? Well, 20 minutes now…
  • 9.
  • 10. Phase 1: Breakdown the O.G. PUU CSV template was complex! I have to give “PasswordManager” as the CPMUser every time? If the Folder is always “Root”, why do I have to keep telling it that? At the end of the day, we took more time trying to figure that out than automating. PUU did not like commas or quotes! Actually, PUU couldn’t handle any special characters. (https:// = NOPE!) You messed up a property? You get half an account! PUU uploaded accounts were not transactional (they wouldn’t back out at failure). You’d get half of an account’s properties up until where the upload failed. No good at being wrong! PUU would not know how to deal with conflicts. Let’s help it grow up a little and mature. I’d hate to be that conflicted… PACLI as the foundation of PUU didn’t allow for customer customization The REST API opens up the possibilities since it is not limited to particular languages.
  • 11. Phase 2: Plan our PUU on Steroids Make the CSV template straightforward and easy CSV should have the following most commonly used columns: ObjectName, Safe, Address, Username, Password, PlatformID, DisableAutoMgmt, DisableAutoMgmtReason PUU 2 should upload all account properties, or none at all Using proper Try…Catch error handling, we can stop that from happening anymore. Fix whitespace issues to allow proper PlatformID name spacing Now you don’t have to worry about improper spacing of “Windows Domain Account” More speed! If you can use this to improve your Hygiene Report, let’s make it fast! Make the new PUU handle special characters properly Since we’re dealing with URI, we’ll use what is called URLEncoding to make sure all special characters are properly replaced. (i.e. Windows Domain Account becomes Windows%20Domain%20Account)
  • 12. Prepare Pre-Requisites passwords.csv Should be created and ready in the same directory. Phase 3: Build our PUU 2 Prepare Main PowerShell Script (.ps1) I used Microsoft’s freeware Visual Studio Code (https://code.visualstudio.com) Also, I referenced http://git.joeco.de for PowerShell functions that we’ll be using
  • 13. ► Functions will be created for each REST API call needed ■ Logon ■ Add Account ■ Logoff ► User Input will be entered first ■ Base URL (i.e. https://pvwa.cyberark.local) ■ API Username ■ API Password ■ Path to CSV File ► Import-CSV and enter each row value into an array variable ► Step through each row, adding the account that is listed on each. Plan the Pieces of our PUU Puzzle
  • 17. Read Each Row & Add Account
  • 19. What it looks like put together
  • 20. Phase 4: ?????? (The Testing Phase) WE’LL DO IT LIVE!
  • 21. Phase 5: PROFIT!!! (Not really…) Visit http://git.joeco.de/PasswordUploadUtility-v2 to fork the PUU 2 repo and start down your own path to Automation Superstardom!
  • 22. ► REST API Common Uses ■ Quickly onboard accounts after Hygiene Report ■ 1-Click Activate Users without needing PrivateArk Client ■ Quickly mirror your new DEV safe structure from PROD ► Attend these sessions ■ Coming Up Next: Conjuring DevSecOps in an Insecure World ■ Tomorrow @ 10:30am: A Practical Guide to CyberArk and Amazon Web Services ► Visit the Discovery Center ■ Customer Success Booth ■ DevSecOps Demo Station ► http://git.joeco.de/PasswordUploadUtility-v2 Key Takeaways and Where to Learn More