Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.crewai.com/llms.txt

Use this file to discover all available pages before exploring further.

Visão Geral

Este guia o orienta na configuração do AWS Secrets Manager como provedor de segredos para sua organização na CrewAI Platform, usando credenciais estáticas (chaves de acesso, opcionalmente com AssumeRole). Ao final, a CrewAI Platform poderá ler segredos armazenados na sua conta AWS e injetá-los como valores de variáveis de ambiente em runtime.
Este guia cobre o caminho de credenciais estáticas — segredos são resolvidos no momento do deploy e incorporados à imagem do deployment. Valores rotacionados exigem um novo deploy. Se você quiser segredos conscientes de rotação que se atualizam a cada kickoff de automação (sem novo deploy), veja AWS Workload Identity (Federação OIDC).
Este guia cobre a configuração do lado da AWS e a configuração da credencial na CrewAI Platform. Para então referenciar um segredo a partir de uma variável de ambiente, veja Usando o Secrets Manager.

Pré-requisitos

Antes de começar, certifique-se de que você tem:
  • Uma conta AWS com permissão para criar usuários IAM, políticas gerenciadas pelo cliente e (opcionalmente) papéis IAM.
  • A região AWS onde seus segredos vivem (ou viverão), por exemplo us-east-1.
  • Uma organização na CrewAI Platform onde seu usuário tem a permissão secret_providers: manage. Veja Permissões (RBAC).

Escolha um Método de Autenticação

A CrewAI Platform suporta duas formas para que a plataforma se autentique no AWS Secrets Manager. Escolha uma antes de começar — os passos abaixo diferem dependendo do que você escolher.
MétodoQuando usarTrade-offs
Chaves de acesso estáticasComeçar rápido, deployments single-accountConfiguração mais simples; chaves de acesso devem ser rotacionadas manualmente
AssumeRoleCross-account, hardening de produçãoCredenciais de curta duração; suporta External ID; requer papel IAM extra
O restante deste guia usa abas nos Passos 3–5 para que você possa seguir o caminho que corresponde à sua escolha.

Passo 1 — Criar um Usuário IAM

Abra o console IAM, navegue até Users, depois clique em Create user.
  • Nome sugerido: crewai-secrets-reader.
  • Deixe Provide user access to the AWS Management Console desmarcado — este principal é usado programaticamente pela CrewAI Platform, não por humanos.
  • Clique em Next.
Na página Set permissions, deixe a seleção padrão. Você anexará a política no Passo 3. Clique em Next, revise e clique em Create user. Para detalhes completos, veja a documentação da AWS: Create an IAM user in your AWS account.

Passo 2 — Criar a Política IAM

A CrewAI Platform precisa de acesso somente leitura ao AWS Secrets Manager e permissão para descriptografar segredos via KMS. Crie uma política gerenciada pelo cliente com o seguinte JSON. No console IAM, navegue até Policies, depois clique em Create policy. Escolha a aba JSON e substitua o conteúdo por:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "SecretsManagerRead",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:ListSecrets",
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret"
      ],
      "Resource": "*"
    },
    {
      "Sid": "KMSDecrypt",
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:Decrypt"
      ],
      "Resource": "*"
    }
  ]
}
Clique em Next, então na página Review and create:
  • Policy name: CrewAISecretsManagerRead
  • Description (optional): Read-only access to AWS Secrets Manager for CrewAI Platform
Clique em Create policy.
A política acima concede * em Resource para simplicidade. Em produção, restrinja o Resource aos ARNs dos segredos específicos que a CrewAI Platform deve acessar e restrinja kms:Decrypt aos ARNs das chaves KMS específicas que criptografam esses segredos. Veja a orientação da AWS sobre menor privilégio.

Passo 3 — Anexar a Política

  1. No console IAM, navegue até Users e clique no usuário que você criou no Passo 1.
  2. Na aba Permissions, clique em Add permissionsAttach policies directly.
  3. Procure por CrewAISecretsManagerRead, selecione-a e clique em Next.
  4. Clique em Add permissions.

Passo 4 — Obter Credenciais

  1. No console IAM, abra o usuário do Passo 1.
  2. Clique na aba Security credentials.
  3. Em Access keys, clique em Create access key.
  4. Selecione Application running outside AWS (ou Other) como caso de uso. Clique em Next.
  5. (Opcional) Adicione uma tag de descrição. Clique em Create access key.
  6. Clique em Show para revelar a secret access key, então copie tanto o Access key ID quanto a Secret access key, ou clique em Download .csv file.
A secret access key é mostrada apenas uma vez. Se você fechar esta página sem copiá-la, precisará excluir a chave e criar uma nova.
Para detalhes completos, veja a documentação da AWS: Manage access keys for IAM users.

Passo 5 — Adicionar a Credencial na CrewAI Platform

Na CrewAI Platform, navegue até SettingsSecret Provider Credentials e clique em Add Credential.
Preencha o formulário:
  • Name: Um nome descritivo, ex. aws-prod.
  • Provider: AWS Secrets Manager.
  • Region: A região AWS onde seus segredos vivem, ex. us-east-1. Deve corresponder à região dos segredos que você quer ler.
  • Access Key ID: O valor do Passo 4.
  • Secret Access Key: O valor do Passo 4.
  • (Opcional) Marque Set as default credential for this provider. A credencial padrão é usada por variáveis de ambiente que referenciam segredos AWS sem especificar uma credencial explicitamente.
Deixe Role ARN e External ID em branco.Clique em Create.
Como os dois modos se comportam em runtime:
  • Com apenas chaves de acesso estáticas, a CrewAI Platform chama o AWS Secrets Manager diretamente usando as chaves que você forneceu.
  • Quando um Role ARN está definido, a CrewAI Platform primeiro chama sts:AssumeRole com as chaves de acesso fornecidas (e External ID se configurado), depois usa as credenciais de curta duração retornadas pelo STS para ler seus segredos.

Passo 6 — Criar Pelo Menos Um Segredo na AWS

Se você ainda não tem segredos no AWS Secrets Manager, crie um agora para que possa verificar a conexão no Passo 7. No console do AWS Secrets Manager, clique em Store a new secret.
  • Secret type: Escolha Other type of secret.
  • Key/value pairs — ou:
    • Informe um ou mais pares chave/valor (recomendado para segredos estruturados), ou
    • Use a aba Plaintext para um único valor de string.
  • Encryption key: Use aws/secretsmanager (a chave gerenciada pela AWS) a menos que você tenha um requisito específico de chave KMS.
Clique em Next, então informe:
  • Secret name: Um nome único, ex. crewai/openai-api-key.
  • Description (optional): Uma nota curta sobre o propósito do segredo.
Clique em Next pelos passos de rotação e revisão, depois clique em Store.
Sintaxe de referência por chave JSON. Se você armazenar um segredo com múltiplos pares chave/valor (um objeto JSON), a CrewAI Platform pode extrair um campo específico usando a sintaxe secret-name#json_key em referências de variáveis de ambiente. Por exemplo, um segredo chamado database-credentials com {"username": "...", "password": "..."} pode ser referenciado como database-credentials#password. Veja Usando o Secrets Manager para detalhes.
Para detalhes completos, veja a documentação da AWS: Create an AWS Secrets Manager secret.

Passo 7 — Testar a Conexão

De volta à CrewAI Platform, na página Secret Provider Credentials, encontre a credencial que você acabou de criar e clique em Test Connection. Um toast de sucesso confirma que a CrewAI Platform consegue se autenticar na AWS e ler segredos da sua conta. Se o teste falhar, verifique as causas mais comuns:
SintomaCausa provável
AccessDenied em secretsmanager:ListSecretsPolítica não anexada, ou usuário errado. Reconfira o Passo 3.
AccessDenied em kms:DecryptFalta a declaração KMSDecrypt, ou seus segredos usam uma chave KMS gerenciada pelo cliente não coberta por Resource: "*".
InvalidClientTokenId / SignatureDoesNotMatchAccess key ID ou secret access key errados. Reconfira os Passos 4 e 5.
RegionDisabledException / nenhum segredo encontradoA Region da credencial não corresponde a onde seus segredos realmente vivem.
AccessDenied em sts:AssumeRole (apenas AssumeRole)Política inline sts:AssumeRole ausente no usuário IAM, ou a trust policy do role não permite este principal, ou o External ID não corresponde.
Teste passa imediatamente após criar o usuário IAM, mas falha da próxima vezCredenciais IAM às vezes levam um ou dois minutos para se propagar globalmente. Tente novamente.

Próximos Passos

Agora que a AWS está conectada, vá para Usando o Secrets Manager para:
  • Conceder aos membros da organização as permissões corretas para usar (ou gerenciar) o Secrets Manager.
  • Referenciar seus segredos AWS a partir de variáveis de ambiente da CrewAI Platform.
Se você quiser segredos conscientes de rotação que se propagam sem novo deploy, mude para AWS Workload Identity (Federação OIDC) — mesmo cofre de segredos, sem credenciais estáticas, segredos buscados por kickoff.