

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um segredo de cliente do Salesforce
<a name="tutorials_salesforce-client-secret"></a>

Neste tutorial, você cria um segredo de cliente do Salesforce e o armazena AWS Secrets Manager como um [segredo externo gerenciado](managed-external-secrets.md), ativa a rotação gerenciada e, em seguida, testa as credenciais alternadas trocando-as por um token de acesso. Este tutorial leva aproximadamente de 20 a 30 minutos para ser concluído.

Este tutorial usa AWS serviços que podem gerar cobranças para você Conta da AWS, incluindo cobranças pelo segredo que você armazena no Secrets Manager e, se você optar por usar um, por uma chave gerenciada pelo cliente. Para obter mais informações, consulte [Preços](intro.md#asm_pricing).

**nota**  
Este tutorial usa o tipo [SalesforceClientSecret](mes-partner-salesforce.md)secreto como exemplo. Outros tipos de segredos externos gerenciados seguem um fluxo semelhante. Você cria o segredo usando o formato definido pelo parceiro de integração, ativa a rotação gerenciada e usa as credenciais alternadas. Para ver a lista de parceiros integrados e seus formatos secretos necessários, consulte. [Parceiros de integração](mes-partners.md)

Antes de iniciar este tutorial, certifique-se de ter o seguinte.
+ Uma conta do Salesforce (de desenvolvedor ou não) que permite criar aplicativos de cliente externos (ECAs).
+ Permissões administrativas para o seu Conta da AWS. Em um ambiente de produção, é uma prática recomendada usar funções diferentes para tarefas diferentes. Por exemplo, uma função que gerencia segredos em sua organização criaria o segredo, e uma função separada usaria o segredo em tempo de execução. Para as etapas do tutorial, recomendamos que você continue usando a mesma identidade. Para obter mais informações sobre como configurar permissões em um ambiente de produção, consulte [Autenticação e controle de acesso para AWS Secrets Manager](auth-and-access.md).

**Topics**
+ [Etapa 1: criar um aplicativo cliente externo e ativar o OAuth](#tutorials_salesforce-client-secret_step1)
+ [Etapa 2: criar o segredo externo gerenciado e ativar a rotação](#tutorials_salesforce-client-secret_step2)
+ [Etapa 3: testar as credenciais alternadas](#tutorials_salesforce-client-secret_step3)
+ [Etapa 4: Limpar os recursos](#tutorials_salesforce-client-secret_step4)
+ [Próximas etapas](#tutorials_salesforce-client-secret_nextsteps)

## Etapa 1: criar um aplicativo cliente externo e ativar o OAuth
<a name="tutorials_salesforce-client-secret_step1"></a>

A primeira etapa é criar um aplicativo cliente externo (ECA) no Salesforce e configurá-lo para OAuth para que o Secrets Manager possa alternar o segredo do cliente. Para ver o procedimento completo do Salesforce, consulte [Configurar a autorização com um aplicativo cliente externo](https://developer.salesforce.com/docs/platform/accsdk/guide/acc-sdk-setup-auth-external.html) na documentação do Salesforce.

Ao configurar o ECA, certifique-se de configurar o seguinte:
+ No nível da organização, ative **Permitir acesso aos segredos do consumidor do aplicativo cliente externo por meio da API REST**. Essa configuração permite que o Secrets Manager recupere e alterne o segredo do consumidor por meio da API REST do Salesforce.
+ No ECA, ative o escopo do OAuth **Gerenciar dados do usuário por meio de APIs (api)**.
+ No ECA, habilite **Habilitar fluxo de credenciais do cliente**.
+ No ECA, habilite **Ativar fluxo de troca de tokens** e **Exigir segredo para fluxo de troca de tokens**.

Depois de criar o ECA, reúna os valores que você precisa armazenar no segredo na próxima etapa:
+ A **chave do consumidor** (ID do cliente) e o **segredo do consumidor** (segredo do cliente) das configurações do ECA Manager OAuth.
+ Seu URL base do Salesforce My Domain, por exemplo. `https://{{MyDomainName}}.my.salesforce.com`
+ O **ID do aplicativo** e o **ID do consumidor** do ECA. Eles correspondem aos `consumer_id` campos `external_client_app_identifier` e na documentação do Salesforce. Para saber como recuperar esses valores, consulte [Stage OAuth Credentials](https://help.salesforce.com/s/articleView?id=xcloud.eca_stage_oauth_credentials.htm&type=5) na documentação do Salesforce.

Para obter uma descrição de cada campo obrigatório no segredo, consulte[Segredo do cliente Salesforce](mes-partner-salesforce.md).

## Etapa 2: criar o segredo externo gerenciado e ativar a rotação
<a name="tutorials_salesforce-client-secret_step2"></a>

Em seguida, você armazena o segredo do cliente Salesforce no Secrets Manager como um segredo externo gerenciado e ativa a rotação gerenciada. Com a rotação gerenciada, você não cria nem mantém uma função de rotação do Lambda. O Secrets Manager gira o segredo para você.

**Para criar o segredo e ativar a rotação (console)**

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Selecionar tipo de segredo**, faça o seguinte:

   1. Em **Tipo secreto**, escolha o tipo de segredo externo gerenciado pelo segredo do cliente Salesforce () **SalesforceClientSecret**.

   1. Insira os campos de valor secreto para o segredo do cliente Salesforce: chave do consumidor, segredo do consumidor, URI base, ID do aplicativo e ID do consumidor. Para obter uma descrição de cada campo, consulte[Segredo do cliente Salesforce](mes-partner-salesforce.md).

   1. Para **Chave de criptografia**, escolha **aws/secretsmanager**usar o Chave gerenciada pela AWS for Secrets Manager. Não há custo para o uso dessa chave. Você também pode usar sua própria chave gerenciada pelo cliente. Para obter mais informações sobre os custos do uso de uma chave gerenciada pelo cliente, consulte [Preços](intro.md#asm_pricing).

   1. Escolha **Próximo**.

1. Na página **Configurar segredo**, insira um **nome secreto** descritivo e uma **Descrição** e escolha **Avançar**.

1. Na página **Configurar rotação**, faça o seguinte. Para segredos externos gerenciados, a rotação é ativada por padrão durante a criação do segredo.

   1. Confirme se a **rotação automática** está ativada.

   1. Em **Metadados de rotação**, em **Versão da API** (`apiVersion`), insira a versão da API da sua organização do Salesforce. Este campo é obrigatório. Ele deve estar no formato`v{{XX.X}}`, onde {{X}} há um caractere numérico, e deve estar no mínimo`v65.0`. Se você quiser que o Secrets Manager alterne o segredo usando um conjunto separado de credenciais administrativas, forneça também o ARN do segredo do administrador. Para obter uma descrição de cada campo de metadados, consulte[Segredo do cliente Salesforce](mes-partner-salesforce.md).

   1. Em **Permissões de serviço para rotação de segredos**, escolha **Criar um novo papel** para criar automaticamente um papel do IAM com as permissões que o Secrets Manager precisa para alternar o segredo. Por padrão, as permissões são atribuídas ao parceiro de integração na AWS região em que o segredo foi criado. Para obter mais informações, consulte [Segurança e permissões](mes-security.md).

   1. Em **Programação de rotação**, insira sua programação no fuso horário UTC, por exemplo, alterne automaticamente a cada 30 dias.

   1. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

Para obter mais maneiras de configurar a rotação para um segredo externo gerenciado, incluindo o AWS AWS CLI, consulte[O Rotate Secrets Manager gerenciou segredos externos](rotate-secrets_external.md).

## Etapa 3: testar as credenciais alternadas
<a name="tutorials_salesforce-client-secret_step3"></a>

A última etapa é confirmar se as credenciais alternadas funcionam recuperando o valor secreto e trocando as credenciais por um token de acesso do Salesforce.

**Para recuperar o valor secreto (console)**

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Na página **Secrets** (Segredos), escolha o segredo.

1. Na página **Secret details** (Detalhes do segredo), role para baixo e escolha **Retrieve secret value** (Recuperar valor do segredo). Observe a corrente `consumerKey` e `consumerSecret` os valores.

**nota**  
Confirme se os `consumerSecret` valores `consumerKey` e foram realmente alterados em relação aos valores que você armazenou originalmente. Se eles não tiverem sido alterados, aguarde alguns minutos e verifique novamente. Se eles ainda não tiverem sido alterados, verifique se AWS CloudTrail há `RotationFailed` eventos do segredo, que incluem detalhes sobre por que a rotação falhou. Para obter mais informações, consulte [Meu segredo externo gerenciado não está girando](troubleshoot.md#troubleshoot-mes-not-rotating).

Em seguida, use as credenciais recuperadas para solicitar um token de acesso do Salesforce. {{MyDomainName}}Substitua pelo nome do Salesforce My Domain e substitua {{consumerKey}} e {{consumerSecret}} pelos valores que você recuperou.

```
curl -X POST "https://{{MyDomainName}}.my.salesforce.com/services/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id={{consumerKey}}" \
  -d "client_secret={{consumerSecret}}"
```

Se as credenciais forem válidas, o Salesforce retornará uma resposta JSON que contém um. `access_token` O recebimento de um token de acesso confirma que as credenciais alternadas funcionam.

Quando você insere comandos em um shell de comando, existe o risco de o histórico de comandos ser acessado ou de utilitários terem acesso aos seus parâmetros de comando. Consulte [Mitigue os riscos de usar o AWS CLI para armazenar seus segredos AWS Secrets Manager](security_cli-exposure-risks.md).

## Etapa 4: Limpar os recursos
<a name="tutorials_salesforce-client-secret_step4"></a>

Para evitar cobranças contínuas, exclua os recursos que você criou neste tutorial quando não precisar mais deles: o segredo e a função de rotação do IAM que o Secrets Manager criou. A exclusão do segredo também interrompe a rotação automática.

**Para excluir o segredo (console)**

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Na página **Secrets** (Segredos), escolha o segredo.

1. Na seção **Secrets details** (Detalhes dos segredos), escolha **Actions** (Ações) e, em seguida, escolha **Delete secret** (Excluir segredo).

1. Na caixa de diálogo **Desabilitar exclusão secreta e agendada**, insira um período de espera e escolha **Agendar exclusão**. O Secrets Manager torna o segredo inacessível imediatamente e o programa para exclusão após a janela de recuperação. Para obter mais informações, consulte [Excluir um AWS Secrets Manager secret](manage_delete-secret.md).

**Para excluir a função de rotação (console)**

1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)e escolha **Roles**.

1. Encontre a função que o Secrets Manager criou para rotação, selecione-a e escolha **Excluir**. Para obter mais informações sobre como excluir uma função, consulte [Excluir funções ou perfis de instância](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) no *Manual do usuário do IAM*.

## Próximas etapas
<a name="tutorials_salesforce-client-secret_nextsteps"></a>
+ Para saber mais sobre segredos externos gerenciados e os parceiros com os quais o Secrets Manager se integra, consulte[Utilizar AWS Secrets Manager segredos externos gerenciados para gerenciar segredos de terceiros](managed-external-secrets.md).
+ Para revisar o valor secreto e os campos de metadados de rotação necessários para o Salesforce, consulte. [Segredo do cliente Salesforce](mes-partner-salesforce.md)
+ Para obter mais maneiras de configurar a rotação para um segredo externo gerenciado, consulte[Alterne segredos externos gerenciados](rotate-secrets_external.md).
+ É possível melhorar a perfomance e reduzir custos armazenando segredos em cache. Para obter mais informações, consulte [Obtenha segredos de AWS Secrets Manager](retrieving-secrets.md).
+ Para saber mais sobre o custo do uso do Secrets Manager, consulte[Preços](intro.md#asm_pricing).