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.
Protecciones de integridad de datos para Amazon S3
nota
Si necesita ayuda para entender el diseño de las páginas de configuración o para interpretar la tabla de compatibilidad con AWS los SDK y las herramientas que aparece a continuación, consulte. Cómo comprender las páginas de configuración de esta guía
Durante algún tiempo, AWS los SDK han permitido comprobar la integridad de los datos al cargar o descargar datos de Amazon Simple Storage Service. Anteriormente, estas comprobaciones eran opcionales. Ahora, hemos habilitado estas comprobaciones de forma predeterminada, mediante CRC-based algoritmos como CRC32 o CRC64NVME. Aunque cada SDK o herramienta tiene un algoritmo predeterminado, se puede elegir un algoritmo diferente. Si se desea, también se puede seguir proporcionando manualmente una suma de comprobación precalculada para las cargas. El comportamiento uniforme en las cargas, las cargas multiparte, las descargas y los modos de cifrado simplifica las comprobaciones de integridad del lado del cliente.
Las versiones más recientes de nuestros AWS SDK calculan AWS CLI automáticamente una suma de comprobación basada en una comprobación de redundancia cíclica (CRC) para cada carga y la envían a Amazon
Para obtener más información sobre las operaciones de suma de comprobación, las cargas multiparte o la lista de algoritmos de suma de comprobación compatibles, consulte Comprobación de la integridad de los objetos en Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
Cargas multiparte:
Amazon S3 también proporciona a los desarrolladores sumas de comprobación coherentes de todos los objetos en las cargas de una o varias partes.
Al cargar archivos en varias partes, los SDK calculan las sumas de comprobación para cada parte. Amazon S3 utiliza estas sumas de comprobación para verificar la integridad de cada parte a través de la API de UploadPart. Además, Amazon S3 valida el tamaño y la suma de comprobación del archivo completo cuando se llama a la API de CompleteMultipartUpload.
Si su SDK cuenta con un administrador de transferencias de Amazon S3 que lo ayuda a cargar varias partes, las sumas de comprobación de las partes se validan mediante el algoritmo predeterminado que aparece en la tabla. SDK-specific Soporte de AWS SDK y herramientas Puede optar por utilizar una suma de comprobación completa de los objetos al configurar FULL_OBJECT en checksum_type o al utilizar el algoritmo CRC64NVME.
Si se utiliza una versión anterior del SDK o de la AWS CLI:
Si su aplicación utiliza una versión anterior a diciembre de 2024 del SDK o de la herramienta, Amazon S3 seguirá calculando una suma de comprobación CRC64NVME en los objetos nuevos y la almacenará en los metadatos del objeto para consultarla en el futuro. Más adelante, podrá comparar la CRC almacenada con una CRC calculada por su parte y comprobar que la transmisión de red fue correcta. Además, puede ampliar manualmente la protección de integridad al proporcionar sus propias sumas de verificación precalculadas junto con sus solicitudes PutObject o UploadPart, que es la técnica estándar para solucionar este problema en las versiones anteriores.
Configure esta funcionalidad mediante lo siguiente:
request_checksum_calculation- configuración de archivos compartidos AWSconfigAWS_REQUEST_CHECKSUM_CALCULATION: variable de entornoaws.requestChecksumCalculation- Propiedad del sistema JVM: solo Java/Kotlin-
De forma predeterminada, los usuarios tienen la opción de calcular una suma de comprobación de las solicitudes al enviar una solicitud. El usuario puede elegir cualquiera de los algoritmos de suma de comprobación disponibles como parte de la creación de la solicitud. De lo contrario, se utiliza un algoritmo SDK-specific predeterminado. Consulte la tabla Soporte de AWS SDK y herramientas para ver el algoritmo predeterminado de cada SDK o herramienta.
Valor predeterminado:
WHEN_SUPPORTEDValores válidos:
-
WHEN_SUPPORTED: la validación de la suma de comprobación se realiza en todas las cargas útiles solicitadas cuando la operación de la API lo admite, como las transferencias de datos a Amazon S3. -
WHEN_REQUIRED: la validación de la suma de comprobación solo se realiza cuando la operación de la API lo requiere.
-
response_checksum_validation- configuración de AWSconfigarchivos compartidosAWS_RESPONSE_CHECKSUM_VALIDATION: variable de entornoaws.responseChecksumValidation- Propiedad del sistema JVM: solo Java/Kotlin-
De forma predeterminada, los usuarios pueden optar por validar la suma de comprobación de la respuesta al enviar una solicitud. Se calcula una suma de comprobación para la carga útil de la respuesta y se compara con el encabezado de la respuesta de la suma de comprobación. Si se produce un error en la validación de la suma de comprobación, se genera un error para el usuario cuando se lee la carga útil.
El encabezado de respuesta de la suma de comprobación también indica el algoritmo de la suma de comprobación. El cliente de Amazon S3 intenta validar las sumas de comprobación de las respuestas para todas las operaciones de la API de Amazon S3 que admiten las sumas de comprobación. Sin embargo, si el SDK no ha implementado el algoritmo de suma de comprobación especificado, se omite esta validación.
Valor predeterminado:
WHEN_SUPPORTEDValores válidos:
-
WHEN_SUPPORTED: la validación de la suma de comprobación se realiza en todas las cargas útiles de respuesta cuando la operación de la API lo admite, como las transferencias de datos a Amazon S3. -
WHEN_REQUIRED: la validación de la suma de comprobación solo se realiza cuando la operación de la API lo admite y la persona que llama ha habilitado explícitamente la suma de comprobación para la operación. Por ejemplo, cuando se llama a la APIGetObjectde Amazon S3 y el parámetroChecksumModese establece en habilitado.
-
Soporte de AWS SDK y herramientas
Los siguientes SDK admiten las características y los ajustes descritos en este tema. Se anotan todas las excepciones parciales. Cualquier configuración de propiedades del sistema JVM solo es compatible con AWS SDK para Java y AWS SDK para Kotlin solo.
nota
En la siguiente tabla, “CRT” hace referencia a AWS Bibliotecas de Common Runtime (CRT) y podría ser necesario agregar una dependencia adicional a su proyecto.
| SDK | compatible | Algoritmo de suma de comprobación predeterminado | Algoritmos de suma de comprobación admitidos | Notas o más información |
|---|---|---|---|---|
| AWS CLI v2 | Sí | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, XXHash3, xxHash64, xxHash128, SHA512 | Para AWS CLI la versión 1, el algoritmo predeterminado y los algoritmos compatibles serán idénticos a los de Python (Boto3). |
| SDK para C++ | Sí | CRC64NVME | CRC64NVME, CRC32, CRC32C, SHA1, SHA256, XXHash3, xxHash64, xxHash128, SHA512 | |
| SDK para Go V2 (1.x) | Sí | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK para Go 1.x (V1) | No | |||
| SDK para Java 2.x | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256 Solo mediante CRT: CRC64NVME, xxHash3, xxHash64, xxHash128, SHA512 |
|
| SDK para Java 1.x | No | |||
| JavaScript SDK para 3.x | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK para 2.x JavaScript | No | |||
| SDK para Kotlin | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256 | |
| SDK para.NET 4.x | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK para .NET 3.x | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 | |
| SDK para PHP 3.x | Sí | CRC32 | CRC32, SHA1, SHA256 Solo mediante CRT: CRC32C |
Se requiere la extensión awscrt para poder utilizar CRC32C. |
| SDK para Python (Boto3) | Sí | CRC32 |
CRC32, SHA1, SHA256 Solo mediante CRT: CRC32C, CRC64NVME, xxHash3, xxHash64, xxHash128, SHA512 |
|
| SDK para Ruby 3.x | Sí | CRC32 | CRC32, SHA1, SHA256 Solo mediante CRT: CRC64NVME, CRC32C |
|
| SDK para Rust | Sí | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | |
| SDK para Swift | Sí | CRC32 | CRC64NVME, CRC32, CRC32C, SHA1, SHA256 | Se requiere la dependencia de CRT para todos los algoritmos. |
| Herramientas PowerShell para V5 | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256, XXHash3, SHA512 | |
| Herramientas PowerShell para V4 | Sí | CRC32 | CRC32, CRC32C, SHA1, SHA256, SHA512 |