Autenticar solicitudes SOAP - Amazon Simple Storage Service

Autenticar solicitudes SOAP

nota

La compatibilidad con SOAP por HTTP está obsoleta, pero SOAP aún se encuentra disponible con HTTPS. Las características nuevas de Amazon S3 no son compatibles con SOAP. En vez de usar SOAP, le recomendamos que utilice la API de REST o los SDK de AWS.

Cada solicitud no anónima debe contener información de autenticación para establecer la identidad de la solicitud principal que hace la solicitud. En SOAP, la información de autenticación se coloca en los siguientes elementos de la solicitud SOAP:

  • Su ID de clave de acceso de AWS

    nota

    Cuando se haces solicitudes autenticadas SOAP, no se admiten credenciales de seguridad temporales. Para obtener más información acerca de estos tipos de credenciales, consulte Realizar solicitudes.

  • Timestamp: Debe ser una fecha y hora (consulte http://www.w3.org/TR/xmlschema-2/#dateTime) en la zona horaria del Tiempo universal coordinado (Tiempo medio de Greenwich), como 2009-01-01T12:00:00.000Z. La autorización fallará si esta marca temporal está adelantada más de 15 minutos que el reloj de los servicios de Amazon S3.

  • Signature: el resumen RFC 2104 HMAC-SHA1 (consulte http://www.ietf.org/rfc/rfc2104.txt) de la concatenación de "AmazonS3" + OPERATION + Timestamp, con su clave de acceso secreta deAWS como clave. Por ejemplo, en la siguiente solicitud de ejemplo CreateBucket, el elemento de firma debe contener el resumen HMAC-SHA1 del valor "AmazonS3CreateBucket2009-01-01T12:00:00.000Z":

Por ejemplo, en la siguiente solicitud de ejemplo CreateBucket, el elemento de firma debe contener el resumen HMAC-SHA1 del valor "AmazonS3CreateBucket2009-01-01T12:00:00.000Z":

ejemplo
<CreateBucket xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Acl>private</Acl> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2009-01-01T12:00:00.000Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </CreateBucket>
nota

Las solicitudes SOAP, tanto autenticadas como anónimas, deben enviarse a Amazon S3 con SSL. Amazon S3 devuelve un error si envía una solicitud SOAP por HTTP.

importante

Debido a diferentes interpretaciones con respecto a cómo se debe descartar la precisión de tiempo adicional, los usuarios de .NET deben tener cuidado y no enviar a Amazon S3 demasiadas marcas temporales específicas. Esto se puede lograr creando objetos DateTime manualmente con solo una precisión de milisegundos.