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.
Configuración de un flujo de trabajo gestionado para descifrar un archivo
En este tutorial se muestra cómo configurar un flujo de trabajo administrado que contenga un paso de descifrado. El tutorial también muestra cómo cargar un archivo cifrado en un bucket de Amazon S3 y, a continuación, ver el archivo descifrado en ese mismo bucket.
nota
El blog AWS de almacenamiento tiene una entrada que describe cómo cifrar y descifrar archivos, cifrar y descifrar archivos con y
Temas
- Paso 1: creación y configuración de un rol de ejecución de IAM
- Paso 2: creación de un flujo de trabajo administrado
- Paso 3: agregar el flujo de trabajo a un servidor y crear un usuario
- Paso 4: Crear un PGP key pair
- Paso 5: Guarde la clave PGP privada en AWS Secrets Manager
- Paso 6: cifrado de un archivo
- Paso 7: ejecución del flujo de trabajo y visualización de los resultados
Paso 1: creación y configuración de un rol de ejecución de IAM
Cree una función de ejecución AWS Identity and Access Management (IAM) que Transfer Family pueda utilizar para iniciar un flujo de trabajo. El proceso de creación de un rol de ejecución se describe en IAMpolíticas para flujos de trabajo.
nota
Como parte de la creación de un rol de ejecución, asegúrese de establecer una relación de confianza entre el rol de ejecución y Transfer Family, tal y como se describe en Para establecer una relación de confianza.
La siguiente política de roles de ejecución contiene todos los permisos necesarios para ejecutar correctamente el flujo de trabajo que va a crear en este tutorial. Para utilizar esta política de ejemplo, sustituya
por su propia información. Sustituya user input
placeholders
por el nombre del bucket de Amazon S3 donde cargará sus archivos cifrados.DOC-EXAMPLE-BUCKET
nota
No todos los flujos de trabajo requieren todos los permisos que se enumeran en este ejemplo. Puede limitar los permisos en función de los tipos de pasos de su flujo de trabajo específico. Los permisos necesarios para cada tipo de paso predefinido se describen en Utilice pasos predefinidos. Los permisos necesarios para un paso personalizado se describen en IAMpermisos para un paso personalizado.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "WorkflowsS3Permissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectTagging", "s3:ListBucket", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": ["arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET
"] "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "DecryptSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/*" } ] }
Paso 2: creación de un flujo de trabajo administrado
Ahora necesita crear un flujo de trabajo que contenga un paso de descifrado.
Creación de un flujo de trabajo que contenga un paso de descifrado
-
Abra la AWS Transfer Family consola en https://console.aws.amazon.com/transfer/
. -
En el panel de navegación izquierdo, seleccione Flujos de trabajo y, a continuación, Crear flujo de trabajo.
-
Escriba la información siguiente:
-
Introduzca una descripción, por ejemplo,
Decrypt workflow example
. -
En la sección Pasos nominales, seleccione Añadir paso.
-
-
En Elegir el tipo de paso, elija Descifrar archivo y, a continuación, elija Siguiente.
-
En el cuadro de diálogo Configurar parámetros, especifique lo siguiente:
-
Introduzca un nombre de paso descriptivo, por ejemplo,
decrypt-step
. No se permiten espacios en los nombres de los pasos. -
Para el Destino de los archivos descifrados, elija Amazon S3.
-
Para el nombre del bucket de destino, elija el mismo bucket de Amazon S3 que especificó
en la IAM política que creó en el paso 1.DOC-EXAMPLE-BUCKET
-
Para el prefijo de clave de destino, introduzca el nombre del prefijo (carpeta) en el que desee almacenar los archivos descifrados en el bucket de destino, por ejemplo,
decrypted-files/
.nota
Asegúrese de añadir una barra (
/
) final al prefijo. -
Para este tutorial, deja desactivada la opción Sobrescribir existente. Si se borra esta configuración, si intenta descifrar un archivo con el mismo nombre que un archivo existente, el procesamiento del flujo de trabajo se detiene y el nuevo archivo no se procesa.
Elija Siguiente para pasar a la pantalla de revisión.
-
-
Revise los detalles del paso. Si todo es correcto, seleccione Crear paso.
-
Su flujo de trabajo solo necesita un único paso de descifrado, por lo que no es necesario configurar ningún paso adicional. Seleccione Crear flujo de trabajo para crear el nuevo flujo de trabajo.
Anote el ID de flujo de trabajo del nuevo flujo de trabajo. Necesitará este ID en el siguiente paso. En este tutorial se utiliza
como ID de flujo de trabajo de ejemplo. w-1234abcd5678efghi
Paso 3: agregar el flujo de trabajo a un servidor y crear un usuario
Ahora que tiene un flujo de trabajo con un paso de descifrado, debe asociarlo a un servidor de Transfer Family. En este tutorial se muestra cómo adjuntar el flujo de trabajo a un servidor de Transfer Family existente. Si lo desea, puede crear un nuevo servidor para usarlo con su flujo de trabajo.
Tras adjuntar el flujo de trabajo a un servidor, debe crear un usuario que pueda SFTP entrar en el servidor y activar la ejecución del flujo de trabajo.
Configuración de un servidor de Transfer Family para ejecutar un flujo de trabajo
-
Abra la AWS Transfer Family consola en https://console.aws.amazon.com/transfer/
. -
En el panel de navegación izquierdo, seleccione Servidores y, a continuación, seleccione un servidor de la lista. Asegúrese de que este servidor es compatible con el SFTP protocolo.
-
En la página de detalles del servidor, desplácese hacia abajo hasta la sección Detalles adicionales y, a continuación, seleccione Editar.
-
En la página Editar detalles adicionales, en la sección Flujos de trabajo administrados, elija su flujo de trabajo y elija el rol de ejecución correspondiente.
-
En Flujos de trabajo para cargas completas de archivos, elija el flujo de trabajo que haya creado en Paso 2: creación de un flujo de trabajo administrado, por ejemplo,
w-1234abcd5678efghi
. -
En la función de ejecución de flujos de trabajo gestionados, elija la IAM función en la que la creóPaso 1: creación y configuración de un rol de ejecución de IAM.
-
-
Desplácese hasta la parte inferior de la página y elija Guardar para guardar sus cambios.
Anote el ID del servidor que está utilizando. El nombre del AWS Secrets Manager secreto que utilizas para almacenar PGP las claves se basa en parte en el ID del servidor.
Cómo añadir un usuario que pueda activar el flujo de trabajo
-
Abra la AWS Transfer Family consola en https://console.aws.amazon.com/transfer/
. -
En el panel de navegación izquierdo, seleccione Servidores y, a continuación, seleccione el servidor que utilice para el flujo de trabajo de descifrado.
-
En la página de detalles del servidor, desplácese hacia abajo hasta la sección Usuarios y seleccione Añadir usuario.
-
Para el nuevo usuario, introduzca los siguientes detalles:
-
En Nombre de usuario, introduzca
decrypt-user
. -
En Rol, elija un rol de usuario que pueda acceder a su servidor.
-
En el Directorio de inicio, elija el bucket de Amazon S3 que utilizó anteriormente, por ejemplo,
.DOC-EXAMPLE-BUCKET
-
En el caso de las claves SSH públicas, pegue una clave pública que corresponda a la clave privada que tenga. Para obtener más información, consulte Genere SSH claves para los usuarios gestionados por el servicio.
-
-
Seleccione Añadir para guardar el nuevo usuario.
Anote el nombre de su usuario de Transfer Family para este servidor. El secreto se basa parcialmente en el nombre del usuario. Para simplificar, este tutorial usa un secreto predeterminado que puede usar cualquier usuario del servidor.
Paso 4: Crear un PGP key pair
Utilice uno de los PGPclientes compatibles para generar un PGP key pair. Este proceso se describe en detalle en Generar claves PGP.
Para generar un PGP key pair
-
Para este tutorial, puede usar el cliente
gpg
(GnuPG
) versión 2.0.22 para generar un PGP key pair que se utilice RSA como algoritmo de cifrado. Para este cliente, ejecute el siguiente comando y proporcione una dirección de correo electrónico y una frase de contraseña. Puede usar cualquier nombre o dirección de correo electrónico que desee. Asegúrese de recordar los valores que utiliza, ya que tendrá que introducirlos más adelante en el tutorial.gpg --gen-key
nota
Si utiliza la versión 2.3.0 o posterior de
GnuPG
, debe ejecutargpg --full-gen-key
. Cuando se le pida el tipo de clave que desea crear, elija RSA o. ECC Sin embargo, si lo deseaECC, asegúrese de elegir una de las dos NIST o BrainPool para la curva elíptica. No elija Curve 25519. -
Exporte la clave privada mediante el siguiente comando. Sustituya
por la dirección de correo electrónico que utilizó al momento de generar la clave.user@example.com
gpg --output workflow-tutorial-key.pgp --armor --export-secret-key
user@example.com
Este comando exporta la clave privada al archivo
workflow-tutorial-key.pgp
. Puede asignar al archivo de salida el nombre que desee. También puede eliminar el archivo de clave privada una vez que lo haya agregado AWS Secrets Manager.
Paso 5: Guarde la clave PGP privada en AWS Secrets Manager
Debe almacenar la clave privada en Secrets Manager, de una manera muy específica, para que el flujo de trabajo pueda encontrar la clave privada cuando el flujo de trabajo ejecute un paso de descifrado en un archivo cargado.
nota
Cuando guardas secretos en Secrets Manager, Cuenta de AWS incurres en cargos. Para obtener más información acerca de los precios, consulte Precios de AWS Secrets Manager
Para almacenar una clave PGP privada en Secrets Manager
-
Inicie sesión en AWS Management Console y abra la AWS Secrets Manager consola en https://console.aws.amazon.com/secretsmanager/
. -
En el panel de navegación izquierdo, seleccione Secretos.
-
En la página Secretos, seleccione Almacenar un nuevo secreto.
-
En la página Seleccionar tipo de secreto, en Tipo de secreto, seleccione Otro tipo de secreto.
-
En la sección de Pares clave-valor, seleccione la pestaña Clave/valor.
-
Clave: introduzca
PGPPrivateKey
. -
valor: pegue el texto de su clave privada en el campo valor.
-
-
Seleccione Añadir fila y, en la sección de Pares clave/valor, seleccione la pestaña Clave/valor.
-
Clave: introduzca
PGPPassphrase
. -
valor: introduce la contraseña que utilizaste al generar el PGP key pair. Paso 4: Crear un PGP key pair
-
-
Elija Next (Siguiente).
-
En la página Configurar secreto, introduzca un nombre y una descripción para el secreto. En este tutorial, puede crear un secreto predeterminado que puedan usar todos los usuarios. Suponiendo que el ID del servidor es
, dime el secreto.s-11112222333344445
aws/transfer/
Reemplaces-11112222333344445
/@pgp-default
con el ID de su servidor de Transfer Family. Escriba una descripción de su secreto.s-11112222333344445
nota
Para crear un secreto solo para el usuario que creó anteriormente, asigne un nombre al secreto
aws/transfer/
.s-11112222333344445
/decrypt-user -
Seleccione Siguiente y, a continuación, acepte los valores predeterminados de la página Configurar rotación. A continuación, elija Siguiente.
-
En la página de Revisión, elija Guardar para crear y almacenar el secreto.
Para obtener más información sobre cómo añadir tu clave PGP privada a Secrets Manager, consulta Usar AWS Secrets Manager para almacenar tu PGP clave.
Paso 6: cifrado de un archivo
Use el programa gpg
para cifrar un archivo para usarlo en su flujo de trabajo. Para cifrar el archivo, ejecute el siguiente comando:
gpg -e -r
marymajor@example.com
--openpgp testfile.txt
Antes de ejecutar este comando, tenga en cuenta lo siguiente:
-
Para el
-r
argumento,
sustitúyalo por la dirección de correo electrónico que utilizaste al crear el PGP key pair.marymajor@example.com
-
La etiqueta
--openpgp
es opcional. Este indicador hace que el archivo cifrado se ajuste al estándar Open PGP RFC488 0. -
Este comando crea un archivo cuyo nombre se encuentra
testfile.txt.gpg
en la misma ubicación quetestfile.txt
.
Paso 7: ejecución del flujo de trabajo y visualización de los resultados
Para ejecutar el flujo de trabajo, debe conectarse al servidor de Transfer Family con el usuario que creó en el paso 3. A continuación, puede buscar en el bucket de Amazon S3 que especificó en el paso 2.5 y configurar los parámetros de destino para ver el archivo descifrado.
Ejecución del flujo de trabajo de descifrado
-
Abra un terminal de comandos.
-
Ejecute el siguiente comando y
sustitúyalo por su punto final actual yyour-endpoint
por la clave SSH privada de su usuario:transfer-key
sftp -i
transfer-key
decrypt-user@your-endpoint
Por ejemplo, si la clave privada está almacenada en
~/.ssh/decrypt-user
y su punto de conexión ess-11112222333344445.server.transfer.us-east-2.amazonaws.com
, el comando es el siguiente:sftp -i ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
-
Ejecute el comando
pwd
. Si se ejecuta correctamente, este comando devuelve lo siguiente:Remote working directory: /
/decrypt-userDOC-EXAMPLE-BUCKET
El directorio refleja el nombre del bucket de Amazon S3.
-
Ejecute el siguiente comando para cargar el archivo y activar el flujo de trabajo:
put testfile.txt.gpg
-
Como destino de los archivos descifrados, especificó la carpeta
decrypted-files/
al crear el flujo de trabajo. Ahora, puede ir a esa carpeta y enumerar el contenido.cd ../decrypted-files/ ls
Si tiene éxito, el comando
ls
muestra el archivotestfile.txt
. Puede descargar este archivo y comprobar que es el mismo que el archivo original que cifró anteriormente.