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.
Autenticación de solicitudes para Amazon SQS
La autenticación es un proceso para identificar y verificar a la parte que envía una solicitud. Durante la primera fase de la autenticación, AWS verifica la identidad del productor y si está registrado para utilizar AWS
-
El productor (remitente) obtiene la credencial necesaria.
-
El productor envía una solicitud y la credencial al consumidor (receptor).
-
El consumidor utiliza la credencial para verificar si el productor envió la solicitud.
-
Se produce una de las circunstancias siguientes:
-
Si la autenticación se realiza correctamente, el consumidor procesa la solicitud.
-
Si se produce un error de autenticación, el consumidor rechaza la solicitud y devuelve un error.
-
Temas
Proceso básico de autenticación con HMAC-SHA
Cuando se obtiene acceso a Amazon SQS con la API de consultas, se deben proporcionar los siguientes elementos para autenticar la solicitud:
-
El identificador de clave de AWS acceso que lo identifica Cuenta de AWS y que se AWS utiliza para buscar su clave de acceso secreta.
-
La firma de la solicitud HMAC-SHA, que se calcula utilizando la clave de acceso secreta (un secreto compartido conocido únicamente por usted y por AWS; para obtener más información, consulte RFC2104
). El AWS SDK se encarga del proceso de firma; sin embargo, si se realiza una solicitud de consulta a través de HTTP o HTTPS, se deberá incluir una firma en cada solicitud de consulta. -
Genere una clave firma Signature Version 4. Para obtener más información, consulte Generación de la clave de firma con Java.
nota
Amazon SQS admite Signature Version 4, que proporciona una seguridad basada en SHA256 y un rendimiento mejorados con respecto a las versiones anteriores. Cuando cree aplicaciones nuevas que usen Amazon SQS, utilice Signature Version 4.
-
codifique en formato base64 la firma de la solicitud. El siguiente ejemplo se de código Java lo hace:
package amazon.webservices.common; // Define common routines for encoding data in AWS requests. public class Encoding { /* Perform base64 encoding of input bytes. * rawData is the array of bytes to be encoded. * return is the base64-encoded string representation of rawData. */ public static String EncodeBase64(byte[] rawData) { return Base64.encodeBytes(rawData); } }
-
-
La marca temporal (o vencimiento) de la solicitud. La marca temporal que utilice en la solicitud debe ser un objeto
dateTime
, con la fecha completa, incluidas las horas, los minutos y los segundos. Por ejemplo: 2007-01-31T23:59:59Z
Aunque no es necesario, le recomendamos que proporcione el objeto utilizando la zona horaria de la hora universal coordinada (hora del meridiano de Greenwich).nota
Asegúrese de que la hora del servidor esté ajustada correctamente. Si especificas una marca de tiempo (en lugar de una fecha de caducidad), la solicitud caduca automáticamente 15 minutos después de la hora especificada (AWS no procesa las solicitudes con marcas de tiempo más de 15 minutos antes de la hora actual en los servidores). AWS
Si utiliza .NET, no debe enviar marcas temporales demasiado específicas (debido a las diferentes interpretaciones con respecto a cómo se debe descartar la precisión adicional del tiempo). En este caso, debe crear manualmente objetos
dateTime
con una precisión de no más de un milisegundo.
Parte 1: la solicitud del usuario
El siguiente es el proceso que debe seguir para autenticar las AWS solicitudes mediante una firma de solicitud del HMAC-SHA.
![Diagrama que describe la solicitud del usuario.](images/sqs-basic-authentication-process-hmac-user.png)
-
Cree una solicitud para AWS.
-
Calcule la firma de código de autenticación de mensajes mediante algoritmos hash con clave (HMAC-SHA) utilizando su clave de acceso secreta.
-
Incluye la firma y tu ID de clave de acceso en la solicitud y, a continuación, envía la solicitud a AWS.
Parte 2: La respuesta de AWS
AWS comienza el siguiente proceso en respuesta.
![Diagrama que describe la respuesta de AWS.](images/sqs-basic-authentication-process-hmac-aws.png)
-
AWS utiliza el identificador de clave de acceso para buscar su clave de acceso secreta.
-
AWS genera una firma a partir de los datos de la solicitud y la clave de acceso secreta, utilizando el mismo algoritmo que utilizó para calcular la firma que envió en la solicitud.
-
Se produce una de las circunstancias siguientes:
-
Si la firma que se AWS genera coincide con la que se envió en la solicitud, se considerará AWS que la solicitud es auténtica.
-
Si la comparación falla, la solicitud se descarta y AWS devuelve un error.
-