View a markdown version of this page

Crear un secreto de cliente de Salesforce - AWS Secrets Manager

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Crear un secreto de cliente de Salesforce

En este tutorial, creará un secreto de cliente de Salesforce y lo almacenará AWS Secrets Manager como secreto externo gestionado, activará la rotación gestionada y, a continuación, probará las credenciales rotadas intercambiándolas por un token de acceso. Este tutorial tarda aproximadamente entre 20 y 30 minutos en completarse.

En este tutorial se utilizan AWS servicios que pueden suponer gastos para usted Cuenta de AWS, incluidos los cargos por el secreto que almacene en Secrets Manager y, si decide utilizar uno, por una clave gestionada por el cliente. Para obtener más información, consulte Precios.

nota

En este tutorial se utiliza el tipo de SalesforceClientSecretsecreto como ejemplo. Otros tipos de secretos externos gestionados siguen un flujo similar. El secreto se crea con el formato que defina el socio de integración, se activa la rotación gestionada y, a continuación, se utilizan las credenciales rotadas. Para ver la lista de socios incorporados y los formatos secretos necesarios, consulte. Socios de integración

Antes de comenzar este tutorial, asegúrese de tener lo siguiente:

  • Una cuenta de Salesforce (de desarrollador o no) que le permite crear aplicaciones de cliente externas (ECA).

  • Permisos administrativos para su. Cuenta de AWS En un entorno de producción, se recomienda utilizar diferentes roles para diferentes tareas. Por ejemplo, un rol que gestione los secretos de su organización crearía el secreto y un rol independiente lo usaría en tiempo de ejecución. Para los pasos del tutorial, le recomendamos que siga utilizando la misma identidad. Para obtener más información sobre cómo configurar permisos en un entorno de producción, consulte Autenticación y control de acceso para AWS Secrets Manager.

Paso 1: Crea una aplicación cliente externa y activa OAuth

El primer paso es crear una aplicación de cliente externa (ECA) en Salesforce y configurarla para OAuth, de modo que Secrets Manager pueda rotar el secreto del cliente. Para ver el procedimiento completo de Salesforce, consulte Configurar la autorización con una aplicación de cliente externa en la documentación de Salesforce.

Al configurar la ECA, asegúrese de configurar lo siguiente:

  • A nivel de la organización, habilite Permitir el acceso a los secretos de los consumidores de aplicaciones cliente externas mediante la API REST. Esta configuración permite a Secrets Manager recuperar y rotar el secreto del consumidor a través de la API REST de Salesforce.

  • En el ECA, habilita el ámbito de OAuth. Gestiona los datos de los usuarios mediante las API (api).

  • En el ECA, habilite Habilitar el flujo de credenciales del cliente.

  • En el ECA, active Habilitar el flujo de intercambio de fichas y Solicitar un secreto para el flujo de intercambio de fichas.

Después de crear la ECA, recopile los valores que necesita almacenar en el secreto en el siguiente paso:

  • La clave de consumidor (ID de cliente) y el secreto de consumidor (secreto de cliente) de la configuración de OAuth de ECA Manager.

  • Su URL base de Salesforce My Domain, por ejemplo. https://MyDomainName.my.salesforce.com

  • El ID de aplicación y el ID de consumidor de la ECA. Se corresponden con los consumer_id campos external_client_app_identifier y de la documentación de Salesforce. Para obtener información sobre cómo recuperar estos valores, consulte Stage OAuth Credentials en la documentación de Salesforce.

Para obtener una descripción de cada campo obligatorio del secreto, consulte. Secreto de cliente de Salesforce

Paso 2: Cree el secreto externo gestionado y active la rotación

A continuación, guarda el secreto del cliente de Salesforce en Secrets Manager como un secreto externo gestionado y activa la rotación gestionada. Con la rotación gestionada, no se crea ni se mantiene una función de rotación Lambda. Secrets Manager cambia el secreto por ti.

Para crear el secreto y activar la rotación (consola)
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. Elija Almacenar un secreto nuevo.

  3. En la página Elegir tipo de secreto, haga lo siguiente:

    1. En Tipo de secreto, elija el tipo de secreto externo gestionado por el secreto del cliente de Salesforce (SalesforceClientSecret).

    2. Introduzca los campos de valores secretos para el secreto del cliente de Salesforce: la clave del consumidor, el secreto del consumidor, el URI base, el ID de la aplicación y el ID del consumidor. Para obtener una descripción de cada campo, consulteSecreto de cliente de Salesforce.

    3. Para la clave de cifrado, elija utilizar aws/secretsmanager Clave administrada de AWS para Secrets Manager. No se aplica ningún cargo por el uso de esta clave. También puede utilizar su propia clave gestionada por el cliente. Para obtener información sobre los costos por usar una clave administrada por el cliente, consulte Precios.

    4. Elija Siguiente.

  4. En la página Configurar el secreto, introduzca un nombre secreto descriptivo y una descripción y, a continuación, seleccione Siguiente.

  5. En la página Configurar la rotación, haga lo siguiente. En el caso de los secretos externos gestionados, la rotación está habilitada de forma predeterminada durante la creación del secreto.

    1. Confirma que la rotación automática esté activada.

    2. En Metadatos de rotación, para la versión de la API (apiVersion), introduzca la versión de la API de su organización de Salesforce. Este campo es obligatorio. Debe tener el formatovXX.X, donde debe ser X un carácter numérico, y debe ser como mínimov65.0. Si quieres que Secrets Manager rote el secreto mediante un conjunto independiente de credenciales administrativas, proporciona también el ARN del secreto de administrador. Para obtener una descripción de cada campo de metadatos, consulteSecreto de cliente de Salesforce.

    3. En Permisos de servicio para la rotación de secretos, selecciona Crear un nuevo rol para crear automáticamente un rol de IAM con los permisos que Secrets Manager necesita para rotar el secreto. De forma predeterminada, los permisos se asignan al socio de integración de la AWS región en la que se creó el secreto. Para obtener más información, consulte Seguridad y permisos.

    4. En Programa de rotación, introduce tu horario en la zona horaria UTC, por ejemplo, rota automáticamente cada 30 días.

    5. Elija Siguiente.

  6. En la página Review (Revisar), revise los detalles del secreto y, a continuación, elija Store (Almacenar).

Para obtener más información sobre cómo configurar la rotación de un secreto externo gestionado, incluido el AWS AWS CLI, consulteSecretos externos gestionados por Rotate Secrets Manager.

Paso 3: Probar las credenciales rotadas

El último paso consiste en confirmar que las credenciales rotadas funcionan recuperando el valor secreto e intercambiando las credenciales por un token de acceso de Salesforce.

Para recuperar el valor secreto (consola)
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. En la página Secrets (Secretos), elija el secreto.

  3. En la página Secret details (Detalles del secreto), deslícese hacia abajo y elija Retrieve secret value (Recuperar valor del secreto). Anote la corriente consumerKey y consumerSecret los valores.

nota

Confirme que los consumerSecret valores consumerKey y han cambiado realmente con respecto a los valores que almacenó originalmente. Si no han cambiado, espere un par de minutos y vuelva a comprobarlo. Si aún no han cambiado, comprueba AWS CloudTrail si hay algún RotationFailed evento relacionado con el secreto, que incluye detalles sobre el motivo por el que se ha producido un error en la rotación. Para obtener más información, consulte Mi secreto externo gestionado no está rotando.

A continuación, utilice las credenciales recuperadas para solicitar un token de acceso a Salesforce. MyDomainNameSustitúyalo por tu nombre de My Domain de Salesforce y sustituye consumerKey y por consumerSecret los valores que has recuperado.

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"

Si las credenciales son válidas, Salesforce devuelve una respuesta JSON que contiene un. access_token Al recibir un token de acceso, se confirma que las credenciales rotadas funcionan.

Cuando utiliza ingresa comandos en un shell de comandos, existe el riesgo de que se acceda al historial de comandos o de que las utilidades tengan acceso a sus parámetros de comando. Consulte Mitigue los riesgos de usarlo AWS CLI para almacenar sus AWS Secrets Manager secretos.

Paso 4: limpie los recursos

Para evitar incurrir en cargos continuos, elimina los recursos que creaste en este tutorial cuando ya no los necesites: el secreto y el rol de rotación de IAM que creó Secrets Manager. Al eliminar el secreto, también se detiene la rotación automática.

Para eliminar el secreto (consola)
  1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

  2. En la página Secrets (Secretos), elija el secreto.

  3. En la sección Secrets details (Detalles de secreto), elija Actions (Acciones) y, a continuación, elija Delete secret (Editar descripción).

  4. En el cuadro de diálogo Desactivar el secreto y programar la eliminación, introduzca un período de espera y, a continuación, seleccione Programar la eliminación. Secrets Manager hace que el secreto sea inaccesible inmediatamente y programa su eliminación después del período de recuperación. Para obtener más información, consulte Eliminar un AWS Secrets Manager secreta.

Para eliminar el rol de rotación (consola)
  1. Abra la consola de IAM en y https://console.aws.amazon.com/iam/, a continuación, seleccione Roles.

  2. Busque el rol que Secrets Manager creó para la rotación, selecciónelo y, a continuación, elija Eliminar. Para obtener más información, consulte Eliminación de roles o perfiles de instancia en la Guía del usuario de IAM.

Siguientes pasos