Tous les produits
Search
Centre de documentation

Object Storage Service:Server-side encryption (OSS SDK for Python 1.0)

Dernière mise à jour :Aug 18, 2026

Object Storage Service (OSS) chiffre les données sur le serveur. Cette fonctionnalité s'appelle le chiffrement côté serveur. Lorsque vous envoyez des données vers OSS, le service les chiffre avant de les stocker de manière persistante. Lorsque vous téléchargez des données depuis OSS, le service les déchiffre et renvoie les données en clair. De plus, un en-tête ajouté à la réponse indique que les données sont chiffrées côté serveur.

Notes

  • Avant de configurer le chiffrement côté serveur, familiarisez-vous avec cette fonctionnalité. Pour plus d'informations, consultez la rubrique Chiffrement côté serveur.

  • Cette rubrique utilise l'endpoint public de la région Chine (Hangzhou). Si vous souhaitez accéder à OSS depuis d'autres services Alibaba Cloud situés dans la même région, utilisez un endpoint interne. Pour plus d'informations sur les régions et les endpoints OSS, consultez la rubrique Régions et endpoints.

  • Dans cette rubrique, les identifiants d'accès sont récupérés depuis les variables d'environnement. Pour savoir comment configurer les identifiants d'accès, consultez la rubrique Configurer les identifiants d'accès à l'aide d'OSS SDK pour Python 1.0.

  • Cette rubrique explique comment créer une instance OSSClient avec un endpoint OSS. Pour d'autres configurations, telles que l'utilisation d'un nom de domaine personnalisé ou l'authentification via des identifiants du Security Token Service (STS), consultez la rubrique Initialisation.

  • Pour configurer le chiffrement côté serveur d'un bucket, vous devez disposer de l'autorisation oss:PutBucketEncryption. Pour consulter les configurations de chiffrement côté serveur d'un bucket, vous devez disposer de l'autorisation oss:GetBucketEncryption. Pour supprimer les configurations de chiffrement côté serveur d'un bucket, vous devez disposer de l'autorisation oss:DeleteBucketEncryption. Pour plus d'informations, consultez la rubrique Accorder une stratégie personnalisée.

Configurer le chiffrement côté serveur pour un 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 configurée, tous les objets envoyés dans le bucket sans méthode de chiffrement spécifique seront chiffrés à l'aide de la méthode par défaut.

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
from oss2.models import ServerSideEncryptionRule
# Obtain access credentials from the environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"

# Specify the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Create encryption configurations for the bucket. In this example, AES-256 encryption is used. 
rule = ServerSideEncryptionRule()
rule.sse_algorithm = oss2.SERVER_SIDE_ENCRYPTION_AES256
# Specify the CMK ID. The CMK ID can be specified only if you use the OSS-KMS encryption method. If you want to use a specified CMK for encryption, enter the CMK ID. If you want to use the default CMK managed by KMS for encryption, leave this parameter empty. If you use AES-256 encryption, you must leave this parameter empty. 
rule.kms_master_keyid = ""

# Apply the encryption configurations to the bucket. 
result = bucket.put_bucket_encryption(rule)

# Display the returned HTTP status code. 
print('http response code:', result.status)

Consulter les configurations de chiffrement côté serveur d'un bucket

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

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from the environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"

# Specify the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Query the server-side encryption configurations of the bucket. 
result = bucket.get_bucket_encryption()
# Display the obtained server-side encryption configurations. 
print('sse_algorithm:', result.sse_algorithm)
print('kms_master_keyid:', result.kms_master_keyid) # If the encryption method is AES256, set kms_master_keyid to None.

Supprimer les configurations de chiffrement côté serveur d'un bucket

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

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Obtain access credentials from the environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the endpoint of the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the endpoint to https://oss-cn-hangzhou.aliyuncs.com. 
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"
# Specify the ID of the region that maps to the endpoint. Example: cn-hangzhou. This parameter is required if you use the signature algorithm V4.
region = "cn-hangzhou"

# Specify the name of the bucket.
bucket = oss2.Bucket(auth, endpoint, "examplebucket", region=region)

# Delete the server-side encryption configurations of the bucket. 
result = bucket.delete_bucket_encryption()
# Display the returned HTTP status code. 
print('http status:', result.status)

Références

  • Pour consulter l'exemple de code complet relatif au chiffrement côté serveur, rendez-vous sur GitHub.

  • Pour plus d'informations sur l'opération API permettant de configurer le chiffrement côté serveur, consultez la rubrique PutBucketEncryption.

  • Pour plus d'informations sur l'opération API permettant de consulter les configurations de chiffrement côté serveur, consultez la rubrique GetBucketEncryption.

  • Pour plus d'informations sur l'opération API permettant de supprimer les configurations de chiffrement côté serveur, consultez la rubrique DeleteBucketEncryption.