Orchestrator
2022.4
falso
Imagem de fundo do banner
Guia do usuário do Orchestrator
Última atualização 19 de abril de 2024

Integração com o HashiCorp Vault

O HashiCorp Vault é um plug-in que você pode usar como um repositório de credenciais com o Orchestrator.

Há dois plug-ins incluídos:

  • HashiCorp Vault — um plug-in de leitura-gravação (os segredos são criados através do Orchestrator)
  • HashiCorp Vault (somente leitura) — um plug-in somente leitura (você deve provisionar os segredos no cofre diretamente)

Pré-requisitos

  • Você deve configurar um dos métodos de autenticação compatíveis:

  • Você deve configurar um dos mecanismos de segredos compatíveis:

    • KeyValueV1 — disponível tanto para o plug-in HashiCorp Vault quanto o HashiCorp Vault (somente leitura)
    • KeyValueV2 — disponível tanto para o plug-in HashiCorp Vault quanto o HashiCorp Vault (somente leitura)
    • ActiveDirectory — disponível apenas para o plug-in HashiCorp Vault (somente leitura)
  • O método de autenticação escolhido deve ter uma política que permita os seguintes recursos no caminho em que você planeja armazenar seus segredos:

    • Para o plug-in HashiCorp Vault (somente leitura): read
    • Para o plug-in HashiCorp Vault: create, read, update, delete e, opcionalmente, delete no caminho de metadados, caso esteja usando o mecanismo de segredos KeyValueV2

Configuração da integração

A seguir, está um exemplo de como configurar uma versão de desenvolvimento do HashiCorp Vault, em execução num contêiner docker, a ser usado como um repositório de credenciais com o Orchestrator. Os exemplos devem ser adaptados para o seu próprio ambiente. Consulte a documentação oficial do HashiCorp Vault para obter mais detalhes.

Configuração da autenticação

Para começar a configurar e ler segredos, primeiro é necessário configurar o método de autenticação seguindo as seguintes etapas:

  1. Abra um shell dentro do contêiner:
    docker exec -it dev-vault shdocker exec -it dev-vault sh
  2. Faça logon como raiz. Certifique-se de ter o token raiz exibido nos logs para definir uma variável de ambiente com ele, executando o seguinte comando:
    export VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1fexport VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1f
  3. Consulte o status do cofre executando o seguinte comando:
    vault statusvault status
  4. Adicione um segredo fictício para o Orchestrator no repositório KV:
    vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456
  5. Dê ao Orchestrator acesso ao caminho secret/applications/orchestrator recém-criado. Para isso, primeiro, é necessário criar uma política de leitura e gravação para esse caminho e todos os seus subcaminhos, executando o seguinte comando:
    cat <<EOF | vault policy write orchestrator-policy -
    path "secret/data/applications/orchestrator/*" {
      capabilities = ["create", "read", "update", "delete"]
    }
    path "secret/metadata/applications/orchestrator/*" {
      capabilities = ["delete"]
    }
    EOFcat <<EOF | vault policy write orchestrator-policy -
    path "secret/data/applications/orchestrator/*" {
      capabilities = ["create", "read", "update", "delete"]
    }
    path "secret/metadata/applications/orchestrator/*" {
      capabilities = ["delete"]
    }
    EOF
    Observação:
    Ao usar um mecanismo de segredos KeyValueV2, os segredos são gravados e extraídos no caminho <mount>/data/<secret-path>, em vez de <mount>/<secret-path> como no KeyValueV1. Ele não altera nenhum dos comandos de CLI (ou seja, você não especifica os dados no seu caminho).
    No entanto, ele altera as políticas, pois os recursos são aplicados no caminho real. No exemplo anterior, o caminho é secret/data/applications/orchestrator/*, pois estamos trabalhando com um mecanismo de segredos KeyValueV2. Se um KeyValueV1 estivesse sendo usado, o caminho seria secret/applications/orchestrator/*.

    A capacidade de excluir no caminho de metadados é necessária apenas se você quiser garantir que o Orchestrator não deixe para trás chaves de teste ao verificar a conectividade. Se essa capacidade não for concedida, uma chave será criada e deixada para trás ao criar o repositório de credenciais no Orchestrator.

  6. Habilite a autenticação usando o método de autenticação userpass e, em seguida, crie um usuário para o Orchestrator e atribua a política criada anteriormente:
    vault auth enable userpass
    vault write auth/userpass/users/orchestrator password=123456 policies=orchestrator-policyvault auth enable userpass
    vault write auth/userpass/users/orchestrator password=123456 policies=orchestrator-policy
    Observação: o Orchestrator é compatível com vários modos de autenticação. Consulte a documentação do HashiCorp Vault para saber como configurá-los.
  7. Confira se você configurou tudo corretamente fazendo logon e tentando ler o segredo criado anteriormente:
    vault login -method=userpass username=orchestrator password=123456vault login -method=userpass username=orchestrator password=123456

    Saída deste comando:

    WARNING! The VAULT_TOKEN environment variable is set! This takes precedence
    over the value set by this command. To use the value set by this command,
    unset the VAULT_TOKEN environment variable or set it to the token displayed
    below.
    Success! You are now authenticated. The token information displayed below
    is already stored in the token helper. You do NOT need to run "vault login"
    again. Future Vault requests will automatically use this token.
    Key                    Value
    ---                    -----
    token                  s.nwombWQH3gGPDhJumRzxKqgI
    token_accessor         aGJL6Pzc6fRRuP8d8tTjS2Kj
    token_duration         768h
    token_renewable        true
    token_policies         ["default" "orchestrator-policy"]
    identity_policies      []
    policies               ["default" "orchestrator-policy"]
    token_meta_username    orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence
    over the value set by this command. To use the value set by this command,
    unset the VAULT_TOKEN environment variable or set it to the token displayed
    below.
    Success! You are now authenticated. The token information displayed below
    is already stored in the token helper. You do NOT need to run "vault login"
    again. Future Vault requests will automatically use this token.
    Key                    Value
    ---                    -----
    token                  s.nwombWQH3gGPDhJumRzxKqgI
    token_accessor         aGJL6Pzc6fRRuP8d8tTjS2Kj
    token_duration         768h
    token_renewable        true
    token_policies         ["default" "orchestrator-policy"]
    identity_policies      []
    policies               ["default" "orchestrator-policy"]
    token_meta_username    orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence
    over the value set by this command. To use the value set by this command,
    unset the VAULT_TOKEN environment variable or set it to the token displayed
    below.
    Success! You are now authenticated. The token information displayed below
    is already stored in the token helper. You do NOT need to run "vault login"
    again. Future Vault requests will automatically use this token.
    Key                    Value
    ---                    -----
    token                  s.nwombWQH3gGPDhJumRzxKqgI
    token_accessor         aGJL6Pzc6fRRuP8d8tTjS2Kj
    token_duration         768h
    token_renewable        true
    token_policies         ["default" "orchestrator-policy"]
    identity_policies      []
    policies               ["default" "orchestrator-policy"]
    token_meta_username    orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence
    over the value set by this command. To use the value set by this command,
    unset the VAULT_TOKEN environment variable or set it to the token displayed
    below.
    Success! You are now authenticated. The token information displayed below
    is already stored in the token helper. You do NOT need to run "vault login"
    again. Future Vault requests will automatically use this token.
    Key                    Value
    ---                    -----
    token                  s.nwombWQH3gGPDhJumRzxKqgI
    token_accessor         aGJL6Pzc6fRRuP8d8tTjS2Kj
    token_duration         768h
    token_renewable        true
    token_policies         ["default" "orchestrator-policy"]
    identity_policies      []
    policies               ["default" "orchestrator-policy"]
    token_meta_username    orchestrator
  8. Pegue esse token e use-o em vez do token raiz e, em seguida, tente ler o segredo do teste:
    export VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI
    vault kv get secret/applications/orchestrator/testSecretexport VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI
    vault kv get secret/applications/orchestrator/testSecret

Saída deste comando:

====== Metadata ======
Key              Value
---              -----
created_time     2020-10-12T06:24:41.7827631Z
deletion_time    n/a
destroyed        false
version          1
=========== Data ===========
Key                    Value
---                    -----
supersecretpassword    123456====== Metadata ======
Key              Value
---              -----
created_time     2020-10-12T06:24:41.7827631Z
deletion_time    n/a
destroyed        false
version          1
=========== Data ===========
Key                    Value
---                    -----
supersecretpassword    123456====== Metadata ======
Key              Value
---              -----
created_time     2020-10-12T06:24:41.7827631Z
deletion_time    n/a
destroyed        false
version          1
=========== Data ===========
Key                    Value
---                    -----
supersecretpassword    123456====== Metadata ======
Key              Value
---              -----
created_time     2020-10-12T06:24:41.7827631Z
deletion_time    n/a
destroyed        false
version          1
=========== Data ===========
Key                    Value
---                    -----
supersecretpassword    123456
Observação:

Você também pode habilitar o appRole do Orchestrator executando o seguinte comando:

/ # vault auth enable approle 
/ # vault write auth/approle/role/orchestrator policies=orchestrator-policy 
/ # vault read auth/approle/role/orchestrator/role-id 
/ # vault write -f auth/approle/role/orchestrator/secret-id/ # vault auth enable approle 
/ # vault write auth/approle/role/orchestrator policies=orchestrator-policy 
/ # vault read auth/approle/role/orchestrator/role-id 
/ # vault write -f auth/approle/role/orchestrator/secret-id

Agora, você terá um ID da função e ID do segredo para configurar no Orchestrator.

Configuração do mecanismo de segredos do Active Directory

Para configurar o mecanismo de segredos do Active Directory, siga as seguintes etapas:

  1. Habilite o mecanismo de segredos Active Directory executando o seguinte comando:
    vault secrets enable advault secrets enable ad
  2. Configure as credenciais usadas pelo HashiCorp Vault para se comunicar com o Active Directory para gerar senhas:
    vault write ad/config \
        binddn=$USERNAME \
        bindpass=$PASSWORD \
        url=ldaps://138.91.247.105 \
        userdn='dc=example,dc=com'vault write ad/config \
        binddn=$USERNAME \
        bindpass=$PASSWORD \
        url=ldaps://138.91.247.105 \
        userdn='dc=example,dc=com'
  3. Configure uma função que mapeie um nome no HashiCorp Vault para uma conta no Active Directory. Quando os aplicativos solicitarem senhas, as configurações de rotação de senha serão gerenciadas por essa função.
    vault write ad/roles/orchestrator service_account_name="my-application@example.com"vault write ad/roles/orchestrator service_account_name="my-application@example.com"
  4. Conceda a orchestrator acesso às suas credenciais em ad/creds/orchestrator usando um método de autenticação, como o AppRole.
    cat <<EOF | vault policy write orchestrator-policy -
    path "ad/creds/orchestrator" {
      capabilities = ["read"]
    }
    EOFcat <<EOF | vault policy write orchestrator-policy -
    path "ad/creds/orchestrator" {
      capabilities = ["read"]
    }
    EOF

Uso do HashiCorp Vault (somente leitura)

Ao usar o plug-in HashiCorp Vault (somente leitura), o administrador do cofre é responsável por provisionar corretamente os segredos que o Orchestrator usará. O formato no qual esses segredos devem ser provisionados difere entre os tipos de segredo (ativo versus senha de robô) e entre mecanismos de segredo.

Para obter instruções sobre como provisionar os segredos, consulte o seguinte:

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.