Kit SDK pour Python

Le kit SDK Oracle Cloud Infrastructure pour Python vous permet d'écrire du code afin de gérer des ressources Oracle Cloud Infrastructure.

Ce kit SDK et cet exemple sont concédés sous double licence : Universal Permissive License 1.0 et Apache 2.0. Le contenu tiers fait l'objet d'une licence distincte comme décrit dans le code.

Téléchargement : le kit SDK pour Python est disponible sur GitHub ou sur PyPi (Python Package Index).

Documentation de référence : disponible sur docs.cloud.oracle.com.

Conseil

Cloud Shell : le kit SDK pour Python est préconfiguré avec vos informations d'identification et prêt à être utilisé immédiatement à partir de Cloud Shell. Pour plus d'informations sur l'utilisation du kit SDK pour Python à partir de Cloud Shell, reportez-vous à Démarrage rapide du kit SDK pour Python avec Cloud Shell.

Image Oracle Linux Cloud Developer : le kit SDK pour Python est préinstallé sur l'image de plate-forme Oracle Linux Cloud Developer. Pour plus d'informations, reportez-vous à Oracle Linux Cloud Developer.

Services pris en charge

  • Gouvernance d'accès
  • Account Management
  • AI Anomaly Detection
  • AI Language
  • AI Speech
  • AI Vision
  • Analytics Cloud
  • Announcements
  • API Gateway
  • Application Dependency Management
  • Application Management
  • Application Performance Monitoring
  • Audit
  • Autonomous Recovery
  • Redimensionnement automatique (Compute)
  • Bastion
  • Big Data Service
  • Blockchain Platform
  • Budgets
  • Build
  • Cache avec Redis
  • Certificats
  • Cloud Bridge
  • Cloud Migrations
  • Compute Cloud@Customer
  • Compute Instance Agent (Agent Oracle Cloud)
  • Container Engine for Kubernetes
  • Container Instances
  • Content Management
  • Services de base (Networking, Compute, Block Volume)
  • Cloud Guard
  • Cloud Migrations
  • Groupes de placement de cluster
  • Hub de connecteurs
  • Console Dashboard
  • Data Catalog
  • Data Flow
  • Data Integration
  • Data Labeling
  • Data Safe
  • Data Science
  • Transfert de données
  • Database
  • Database Management
  • Database Migration
  • Outils de base de données
  • DevOps
  • Digital Assistant
  • Digital Media
  • Disaster Recovery
  • DNS
  • Document Understanding
  • Email Delivery
  • Enterprise Manager Warehouse
  • Events
  • Mise à jour du parc Exadata
  • File Storage
  • Functions
  • Fusion Applications as a Service
  • IA générative
  • Inférence d'IA générative
  • Artefacts génériques
  • Base de données globale
  • GoldenGate
  • Règles de gouvernance
  • Health Checks
  • IAM
  • Domaines d'identité
  • Integration Cloud
  • Java Management
  • Téléchargements de Java Management Service
  • Gestion des clés (pour le service Vault)
  • License Manager
  • Limits
  • Load Balancer
  • Journalisation
  • Logging Analytics
  • Logging Search
  • Logging Ingestion
  • Managed Access
  • Management Agent Cloud
  • Tableau de bord de gestion
  • Marketplace
  • Monitoring
  • MySQL Vague d'activité
  • Network Firewall
  • Equilibrage de charge réseau
  • Network Monitoring
  • Topologie réseau
  • NoSQL Database Cloud
  • Notifications
  • Object Storage
  • Centre de contrôle OCI
  • OCI Registry
  • OneSubscription
  • Operations Insights
  • Operator Access Control
  • Optimiseur
  • Organisations
  • OS Management
  • Hub OS Management
  • PostgreSQL
  • Process Automation
  • Publisher
  • Queue Service
  • Quotas
  • Resource Manager
  • Roving Edge Infrastructure
  • Search
  • Gestion des clés secrètes (pour le service Vault)
  • Secure Desktop
  • Catalogue de services
  • Service Mesh
  • Gestion du code source
  • Stack Monitoring
  • Streaming
  • Support Management
  • Informations sur les menaces
  • Utilisation
  • Visual Builder
  • VMware Solution
  • Vulnerability Scanning
  • Web Application Acceleration and Security
  • Demandes de travail (Compute, Database)

Prise en charge de Python

Versions Python et systèmes d'exploitation pris en charge

Ce tableau répertorie les versions de Python prises en charge par le kit SDK OCI pour Python pour chaque système d'exploitation :

Système d'exploitation Versions Python prises en charge pour l'interface de ligne de commande
CentOS 7 3.6 à 3.9
CentOS 8 3.6 à 3.9
Oracle Autonomous Linux 7.9 3.6 à 3.9
Oracle Linux 7.8 3.6 à 3.9
Oracle Linux 7.9 3.6 à 3.9
Oracle Linux 8 3.6 à 3.11
Oracle Linux 9 3.7 à 3.11
Ubuntu 18.0.4 3.6 à 3.11
Ubuntu 20.0.4 3.6 à 3.11
Windows Desktop 10 et 11 3.6 à 3.11
Windows Server (2012/2016/2019) 3.6 à 3.11

Les versions plus récentes de Python peuvent ne pas être prises en charge immédiatement. Le kit SDK OCI pour Python peut fonctionner sur des systèmes d'exploitation non répertoriés, mais nous ne testons pas leur compatibilité.

Installation à l'aide de YUM

Si vous utilisez Oracle Linux 7 ou 8, vous pouvez vous servir de YUM afin d'installer le kit SDK OCI pour Python.

L'exemple suivant montre comment utiliser YUM afin d'installer le kit SDK OCI pour Python 3.6 :

sudo yum install python36-oci-sdk

Cet exemple montre comment utiliser YUM afin d'installer le kit SDK OCI pour Python 2.7 :

sudo yum install python-oci-sdk

Cryptage côté client

Le cryptage côté client vous permet de crypter les données côté client avant de les stocker en local ou de les utiliser avec d'autres services Oracle Cloud Infrastructure.

Pour utiliser le cryptage côté client, vous devez créer une clé de cryptage maître (MEK) à l'aide du service Key Management. Pour ce faire, vous pouvez utiliser l'opération CreateKey ou ImportKey.

La clé MEK permet de générer une clé de cryptage de données (DEK) utilisée pour crypter chaque charge utile. Une copie cryptée de cette clé DEK (sous la clé MEK) et d'autres métadonnées sont incluses dans la charge utile cryptée renvoyée par les kits SDK en vue d'être utilisées pour le décryptage.

Exemples

L'exemple de code suivant montre comment crypter une chaîne :



import oci
 
# user supplied vars
vault_id = TEST_VAULT_OCID
master_key_id = TEST_MASTER_KEY_ID
data_to_encrypt_bytes = b"This is a secret message"
 
config = oci.config.from_file()
kms_master_key = oci.encryption.KMSMasterKey(
    config=config, master_key_id=master_key_id, vault_id=vault_id
)
 
kms_master_key_provider = oci.encryption.KMSMasterKeyProvider(
    config=config,
    kms_master_keys=[kms_master_key]
)
 
crypto_result = crypto.encrypt(kms_master_key_provider, data_to_encrypt_bytes)
ciphertext = crypto_result.get_data()
print("ciphertext: {}".format(ciphertext))
 
# decrypt string example
crypto_result = crypto.decrypt(ciphertext, kms_master_key_provider)
print("unencrypted text: {}".format(crypto_result.get_data()))

L'exemple suivant montre comment crypter un flux de fichier :

import oci
import shutil
 
# user supplied vars
vault_id = TEST_VAULT_OCID
master_key_id = TEST_MASTER_KEY_ID
file_to_encrypt = "/file/to/encrypt/message.txt"
output_encrypted_file = "/tmp/message.txt.encrypted"
output_decrypted_file = "/tmp/message.txt.decrypted"
 
# setup OCI KMS keys
config = oci.config.from_file()
kms_master_key = oci.encryption.KMSMasterKey(
    config=config, master_key_id=master_key_id, vault_id=vault_id
)
 
kms_master_key_provider = oci.encryption.KMSMasterKeyProvider(
    config=config,
    kms_master_keys=[kms_master_key]
)
 
# encrypt stream example
with open(output_encrypted_file, 'wb') as output_stream, open(file_to_encrypt, 'rb') as stream_to_encrypt:
    with crypto.create_encryption_stream(
        kms_master_key_provider,
        stream_to_encrypt
    ) as encryption_stream:
        shutil.copyfileobj(encryption_stream, output_stream)
 
# decrypt stream example
with open(output_decrypted_file, 'wb') as output_stream, open(output_encrypted_file, 'rb') as stream_to_decrypt:
    with crypto.create_decryption_stream(
        stream_to_decrypt,
        kms_master_key_provider
    ) as decryption_stream:
        shutil.copyfileobj(decryption_stream, output_stream)

Nous contacter

Contributions

Vous disposez d'une correction de bug ou d'une nouvelle fonctionnalité que vous souhaitez partager ? Le kit SDK est open source et accepte les demandes d'extraction sur GitHub.

Notifications

Afin d'être averti lorsqu'une nouvelle version du kit SDK pour Python est disponible, abonnez-vous au flux Atom.

Questions ou commentaires