Skip to content

Commit

Permalink
Fixes #189 add support for cyberark identity authentication (#202)
Browse files Browse the repository at this point in the history
* Initial commit

* Implement Identity check for httpjson

* Update GitHub Workflows for successful tests (#200)

* Update action versions & add Conjur fetching (#195)

* Update action versions & add Conjur fetching

* flip Go install to after source checkout

* update go-version

* go-version to version

* version set to latest

* add debug step

* switch from authn-jwt to authn due to iat issues

* Update README.md

* Identity StartAuthentication implemented

* refactored StartAuth

* Began implementation of Password AdvanceAuth

* Identity auth-type tested successfully

* Added color to terminal

* Update /docs

* Updated README

* Use platform discovery instead of requiring TenantID

* Derive PCloud URL from Platform Discovery

* Derive PCloud URL from Platform Discovery

* Updated docs to remove tenant ID requirement

* Fix 7 code smells

* remove duplicate tests on v* branch
  • Loading branch information
infamousjoeg authored Aug 14, 2023
1 parent 66dae48 commit 274d603
Show file tree
Hide file tree
Showing 86 changed files with 772 additions and 178 deletions.
1 change: 0 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
pull_request:
branches:
- main
- v*
push:
branches-ignore:
- main
Expand Down
42 changes: 41 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
# cybr-cli <!-- omit in toc -->

![image](https://github.com/infamousjoeg/cybr-cli/assets/1924063/ff018174-2880-46f1-bd24-3262d1276b41)

A "Swiss Army Knife" command-line interface (CLI) for easy human and non-human interaction with CyberArk's suite of products.

Current products supported:
* CyberArk Privileged Access Manager (PAM)
* CyberArk Identity Security Platform Shared Services (ISPSS)
* CyberArk Privilege Cloud SaaS
* CyberArk Self-Hosted Privileged Access Manager (PAM)
* CyberArk Secrets Manager Central Credential Provider (CCP)
* CyberArk Conjur Secrets Manager Enterprise & [Open Source](https://conjur.org)
* CyberArk Cloud Entitlements Manager ([Free trial](https://www.cyberark.com/try-buy/cloud-entitlements-manager/))
Expand All @@ -21,6 +25,9 @@ Current products supported:
- [Install from Source](#install-from-source)
- [Usage](#usage)
- [Authenticating with authn-iam (AWS IAM Role Authentication)](#authenticating-with-authn-iam-aws-iam-role-authentication)
- [Authenticating to Privilege Cloud via ISPSS (Identity)](#authenticating-to-privilege-cloud-via-ispss-identity)
- [Password Authentication](#password-authentication)
- [MFA Authentication](#mfa-authentication)
- [Documentation](#documentation)
- [Autocomplete](#autocomplete)
- [Example Source Code](#example-source-code)
Expand Down Expand Up @@ -87,6 +94,39 @@ Once environment variables are set, ensure no .conjurrc or .netrc exists in the

Then run any command you wish to run within `cybr conjur`. Use the `--help` flag to see all available commands.

### Authenticating to Privilege Cloud via ISPSS (Identity)

You will need to know the following information to authenticate to Privilege Cloud via ISPSS:
* `-b, --base-url` - The base URL of CyberArk Cloud (e.g. https://example.cyberark.cloud or https://example.privilegecloud.cyberark.cloud)
* `-u, --username` - The username of the Privilege Cloud user (e.g. [email protected].1234)

#### Password Authentication

```shell
$ cybr logon -u [email protected] -a identity -b https://example.cyberark.cloud
+ Challenge #1
Enter password:
```

After providing the password, if no other challenges are required, the CLI will handle the token exchange and a successful logon will be displayed.

#### MFA Authentication

If MFA is required, the CLI will prompt for the challenge method to use out of those available:

```shell
$ cybr logon -u [email protected] -a identity -b https://example.cyberark.cloud
+ Challenge #1
Enter password:
+ Challenge #2
1. Email... @joe-garcia.com
2. SMS... XXX-1234
> 2
Enter code: 12341234
```

After providing the MFA code, if no other challenges are required, the CLI will handle the token exchange and a successful logon will be displayed.

### Documentation

All commands are documentated [in the docs/ directory](docs/cybr.md).
Expand Down
Loading

0 comments on commit 274d603

Please sign in to comment.