Collection Bruno completa para a CyberArk Secrets Manager - SaaS (Conjur Cloud) — autenticação, secrets, policies, resources, roles, host factory, certificate authority e as APIs v2 de workloads/safes/autenticadores.
Bruno é um cliente HTTP open-source, baseado em arquivos (alternativa ao Postman), que
guarda a collection em texto plano (.bru) — versionável e diffável no git.
| Pasta | Requests |
|---|---|
| Setup | Tenant Discovery (auto-fill) — preencha só o subdomain e ele descobre e preenche baseUrl, pcloudUrl, identityUrl, account, tenantId, identityId |
| Health and Status | health, info, whoami, list authenticators, authenticator status (service/GCP), remote health |
| Authentication | login (API key), authenticate (access token), rotate API key, change password, authn-jwt / authn-iam (AWS) / authn-azure / authn-gcp / authn-oidc (CyberArk Identity) / authn-k8s / authn-ldap, enable/disable authenticator |
| ↳ PCloud (ISPSS) (subpasta de Authentication) | get platform token (service user / IAM), token via OAuth2 app alias, List Safes (uso do bearer), exchange platform token → Conjur (authn-oidc) |
| ↳ CyberArk Identity Login (MFA) (subpasta de Authentication) | login do usuário padrão com MFA: 1. StartAuthentication → 2. Advance (senha) → 3a. start MFA (SMS/e-mail) / 3b. answer MFA (OTP/TOTP) / 3c. poll (push) |
| Secrets | retrieve secret, set secret value, batch retrieve |
| Policies | append (POST), replace (PUT), update (PATCH) |
| Resources | list (global / por account / por kind), show resource |
| Roles | show role, add/remove membership |
| Host Factory | create token, revoke token, create host |
| Public Keys | show public keys |
| Certificate Authority | sign certificate (CSR) |
| SaaS v2 APIs | batch retrieve (até 250), add group member, update authenticator, create/delete workload |
- Usuário padrão com MFA (interativo — recomendado para humanos):
Authentication → CyberArk Identity Login (MFA). FluxoStartAuthentication→AdvanceAuthentication(senha → MFA). Por padrão o MFA é por E-MAIL (o script escolheidMechMfa = EMAIL, com fallback OATH → SMS). Para trocar, aponteidMechMfaparaidMechOath/idMechSms. Fluxo e-mail:1 Start → 2 senha → 3a envia e-mail → 3b código. Não precisa de service user OAuth; geraidentityBearer. Se vierPodFqdn, oidentityUrlé auto-ajustado — repita o Start. Tenants antigos usam o domínio.my.idaptive.app. - AWS IAM (workload):
Authentication → authn-iam— troca os headers assinados de umSTS GetCallerIdentitypor um access token do Conjur. - Service user / IAM do PCloud (CyberArk Identity / ISPSS):
Authentication → PCloud (ISPSS) → Get platform token— OAuth2client_credentialsno/oauth2/platformtoken, bearer para as APIs do Privilege Cloud (fluxo docybr-cli -a identity/ psPAS).⚠️ Exige um service user dedicado, não funciona com usuário interativo/humano.
Base v1 gerada a partir do OpenAPI oficial do Conjur; adições v2 conforme a documentação Secrets Manager SaaS.
- Instale o Bruno.
- Clone este repositório.
- No Bruno: Open Collection → aponte para a pasta clonada.
- Selecione o environment SaaS Example e preencha apenas o
subdomain(ex.:latamlab). RodeSetup → Tenant Discovery (auto-fill)— ele preenche sozinhobaseUrl,pcloudUrl,identityUrl,account,oidcServiceId,tenantIdeidentityIda partir do endpoint público de discovery da CyberArk. - Autentique conforme o caso:
- Você (humano, com MFA):
Authentication → CyberArk Identity Login (MFA)→1. Start authentication→2. Advance (senha)→3b. Advance (OTP/TOTP)(ou3a/3cpara SMS-email/push). - Workload/host: rode
authn-jwt/authn-iam/ etc. - Conjur nativo:
LOGIN→AUTHENTICATE(não vale para usuário SaaS — use MFA/OIDC). Os scripts guardam os tokens (accessToken,identityBearer, …) no environment.
- Você (humano, com MFA):
Para workloads (não-humanos), pule o LOGIN e rode direto o
authn-jwt/authn-iam/authn-oidccorrespondente — o access token é gravado da mesma forma.
Na prática você só precisa preencher subdomain e rodar o Tenant Discovery — o resto
é preenchido sozinho. As demais variáveis abaixo são só para requests específicos.
| Variável | Exemplo | Observação |
|---|---|---|
subdomain ⭐ |
latamlab |
a única obrigatória — o Tenant Discovery deriva o resto |
baseUrl |
https://example-tenant.secretsmgr.cyberark.cloud/api |
🔄 auto (Discovery) — URL da API do Conjur |
pcloudUrl / identityUrl |
— | 🔄 auto (Discovery) |
tenantId / identityId |
— | 🔄 auto (Discovery) |
account |
conjur |
🔄 auto (Discovery) — normalmente conjur |
login |
admin |
usuário ou host id |
password |
ChangeMe-Example-Passw0rd |
senha (Basic Auth do LOGIN) |
apiKey |
(preenchido pelo LOGIN) | |
accessToken |
(preenchido pelo AUTHENTICATE) | usado no header Token token="..." |
variableKind / variableId |
variable / data%2Fvault%2Fmy-safe%2Fdbuser_dual%2Fpassword |
id do secret URL-encoded (/ → %2F) |
policyId |
data/vault/my-safe |
branch da policy (barras literais) |
serviceId |
my-jwt-authenticator |
service_id do autenticador |
oidcServiceId |
cyberark |
service_id OIDC do CyberArk Identity |
workloadId |
host%2Fdata%2Fvault%2Fmy-safe%2Fmy-app |
host id URL-encoded |
jwt / identityToken / azureAccessToken / gcpIdentityToken |
(tokens de exemplo) | credenciais de workload por nuvem |
authnType / authnName |
authn-iam / default |
usados nas APIs v2 |
workloadName / safeName |
my-app / my-safe |
usados nas APIs v2 |
roleKind / roleId / memberId |
user / alice / my-safe:host:my-app |
roles e membership |
hostFactoryToken / remote |
(exemplos) | host factory / follower |
identityUrl |
https://example-tenant.id.cyberark.cloud |
tenant do CyberArk Identity (ISPSS) |
pcloudUrl |
https://example-tenant.privilegecloud.cyberark.cloud |
tenant do Privilege Cloud |
pcloudServiceUser / pcloudServiceSecret |
svc-conjur-api@example-tenant / (exemplo) |
usuário IAM/serviço + segredo (client_credentials) |
pcloudAppAlias |
__idaptive_cybr_user_oidc |
app alias do OAuth2 client (variante) |
pcloudToken |
(preenchido pelo Get platform token) | bearer para as APIs do PCloud |
idUser |
[email protected] |
seu usuário padrão do CyberArk Identity (login MFA) |
idPassword |
(sua senha) | senha do usuário no fluxo MFA |
idOtp |
(código do MFA) | OTP/TOTP do SMS/e-mail/app autenticador |
idSessionId / idTenantId / idMechPassword / idMechMfa |
(preenchidos pelo StartAuthentication) | sessão + ids dos mecanismos |
identityBearer |
(preenchido no LoginSuccess) | token de sessão do CyberArk Identity |
- Access token: os requests de
authenticateusamAccept-Encoding: base64, então o corpo da resposta já é o token pronto para o headerAuthorization: Token token="...". - URL-encoding: ids de secret (
/secrets/...) precisam ser URL-encoded; ids de policy (/policies/...) usam barras literais. - APIs v2: exigem o header
Accept: application/x.secretsmgr.v2+json. Alguns contratos v2 (create workload, batch v2) podem variar por versão do tenant — confira a doc v2 e a nota emdocsde cada request. conjur_enterprise.json: export legado (Conjur Enterprise) mantido para referência; a collection nativa.brudeste repo é a versão SaaS completa e recomendada.
Este repositório contém apenas valores de exemplo — nenhuma credencial, endpoint ou token real. Não faça commit de segredos reais; use o environment local do Bruno para isso.
Apache License 2.0 — veja LICENSE.