Tous les produits
Search
Centre de documentation

Object Storage Service:Server-side encryption (Node.js SDK)

Dernière mise à jour :Sep 24, 2026

Object Storage Service (OSS) peut chiffrer les données téléchargées sur le serveur. Cette fonctionnalité est appelée chiffrement côté serveur. Lorsque vous téléchargez des données vers OSS, le service chiffre ces données avant de les stocker de manière persistante. Lors du téléchargement de données depuis OSS, le service déchiffre les données et renvoie le contenu en clair. De plus, un en-tête est ajouté à la réponse pour indiquer que les données sont chiffrées côté serveur.

Configurer le chiffrement du bucket

L'exemple de code suivant montre comment configurer une méthode de chiffrement par défaut pour un bucket. Une fois cette méthode définie, tous les objets téléchargés dans le bucket sans spécification de méthode de chiffrement seront automatiquement chiffrés selon la configuration par défaut.

const OSS = require("ali-oss");

const client = new OSS({
  // Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Set bucket to the name of your bucket.
  bucket: 'yourbucketname'
});

async function putBucketEncryption() {
  try {
    // Configure the encryption method for the bucket.    

    const result = await client.putBucketEncryption("bucket-name", {
      SSEAlgorithm: "AES256", // This example shows how to set AES256 encryption. If you use KMS encryption, you must add the KMSMasterKeyID property.
      // KMSMasterKeyID: "yourKMSMasterKeyId". Set the KMS key ID. You can set this parameter if the encryption method is KMS. If the value of SSEAlgorithm is KMS and you use a specified key for encryption, you must enter the key ID. Otherwise, this parameter must be empty.
    });
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

putBucketEncryption();

Obtenir la configuration de chiffrement du bucket

L'exemple de code suivant illustre la procédure pour interroger les configurations de chiffrement côté serveur d'un bucket :

const OSS = require("ali-oss");

const client = new OSS({
  // Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Set bucket to the name of your bucket.
  bucket: 'yourbucketname'
});

async function getBucketEncryption() {
  try {
    const result = await client.getBucketEncryption("bucket-name");
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

getBucketEncryption();

Supprimer la configuration de chiffrement du bucket

L'exemple de code suivant montre comment supprimer les configurations de chiffrement côté serveur d'un bucket :

const OSS = require("ali-oss");

const client = new OSS({
  // Set region to the region where the bucket is located. For example, if the bucket is in the China (Hangzhou) region, set region to oss-cn-hangzhou.
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run this code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are set.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Set bucket to the name of your bucket.
  bucket: 'yourbucketname'
});

async function deleteBucketEncryption() {
  try {
    // Delete the encryption configuration of the bucket.
    const result = await client.deleteBucketEncryption("bucket-name");
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

deleteBucketEncryption();

Références

  • Pour consulter l'intégralité des exemples de code relatifs au chiffrement côté serveur, reportez-vous aux exemples GitHub.

  • Pour en savoir plus sur l'opération API utilisée pour définir le chiffrement côté serveur, consultez PutBucketEncryption.

  • Pour obtenir davantage d'informations sur l'opération API permettant de récupérer la configuration de chiffrement côté serveur, voir GetBucketEncryption.

  • Pour plus de détails sur l'opération API utilisée pour supprimer la configuration de chiffrement côté serveur, consultez DeleteBucketEncryption.