Méthodes d'authentification du kit SDK OCI

L'interface de ligne de commande et le kit SDK OCI prennent en charge les méthodes d'authentification suivantes :
  • Authentification basée sur une clé d'API
  • Authentification basée sur un jeton de session
  • Principal d'instance
  • Principal de ressource

Cette section présente en détail chaque méthode et fournit des exemples.

Authentification basée sur une clé d'API

Avec cette méthode d'authentification, vous créez un fichier de configuration et vous le stockez sur le disque local. Le fichier de configuration contient des détails tels que l'OCID utilisateur, l'OCID de location, la région, le chemin de clé privée et l'empreinte. Cette méthode d'authentification crée un fichier de configuration permanent sur l'ordinateur. Vous devez y recourir si vous travaillez à partir d'un réseau sécurisé, et que vous êtes à l'aise avec le stockage local des clés privées et de la configuration.

Exemples

La section suivante présente des exemples d'authentification basée sur une clé d'API.

Interface de ligne de commande

Vous pouvez utiliser les commandes d'interface de ligne de commande suivantes pour configurer l'authentification basée sur une clé d'API :

"oci setup bootstrap" : cette commande permet de configurer un fichier de configuration. Vous pouvez vous connecter via un navigateur, et le fichier de configuration est automatiquement créé et téléchargé vers la console. Pour plus d'informations, reportez-vous à oci setup bootstrap

"oci setup config" : cette commande permet de définir un fichier de configuration à partir d'une session de ligne de commande sans prise en charge du navigateur via une commande interactive de l'interface de ligne de commande qui vous invite à fournir des informations (notamment un OCID utilisateur, un OCID de location et un nom de région), et de créer une clé privée. Une fois le fichier créé, vous devez télécharger votre clé publique vers la console. Pour plus d'informations, reportez-vous à oci setup config.

Python

Pour obtenir un exemple d'utilisation de Python, reportez-vous à cet exemple sur GitHub.

Java

Pour obtenir un exemple simple d'utilisation de Java, reportez-vous à cet exemple sur GitHub.

Pour obtenir un exemple d'utilisation d'un fichier de configuration avec le kit SDK Java, reportez-vous à cet exemple sur GitHub.

.NET

Pour obtenir un exemple d'utilisation de .NET, reportez-vous à cet exemple sur GitHub.

PowerShell

La cmdlet Set-OCIClientConfig du module commun fournit une procédure pas à pas guidée pour définir un fichier de configuration. Pour plus d'informations, reportez-vous à la section Fichier de configuration des documents PowerShell.

Ruby

Pour obtenir un exemple d'utilisation de Ruby, reportez-vous à cet exemple sur GitHub.

TypeScript

Pour obtenir un exemple d'utilisation de TypeScript, reportez-vous à cet exemple sur GitHub.

Go

Pour obtenir un exemple d'utilisation de Go, consultez le fichier README, puis reportez-vous à cet exemple sur GitHub.

Authentification basée sur un jeton de session

Avec l'authentification basée sur un jeton de session, vous créez un fichier de configuration local contenant des informations, notamment l'OCID utilisateur, l'OCID de location, la région, le chemin de clé privée et un chemin de fichier de jeton de session temporaire. Cette méthode utilise ces informations avec le jeton de session temporaire, qui expire au bout d'une heure (par défaut). Vous pouvez recourir à l'authentification basée sur un jeton de session lorsque vous avez besoin d'une authentification rapide et temporaire.

Exemples

La section suivante présente des exemples d'authentification basée sur un jeton de session.

Interface de ligne de commande

Vous pouvez utiliser la commande d'interface de ligne de commande suivante pour configurer l'authentification basée sur un jeton de session :

"oci session authenticate" : cette commande définit un jeton de session temporaire. Connectez-vous via un navigateur, et un fichier de configuration de session est créé automatiquement. Vous pouvez l'utiliser pour vous authentifier jusqu'à l'expiration de la session (par défaut, le délai d'expiration est de 60 minutes). Après l'expiration de la session, vous devez actualiser le jeton de session. Pour plus d'informations, reportez-vous à oci session authenticate.

Python

Pour obtenir un exemple de syntaxe Python, reportez-vous à Exécution de scripts sur un ordinateur sans navigateur.

Java

Pour obtenir un exemple d'utilisation de Java, reportez-vous à cet exemple sur GitHub.

.NET

Pour obtenir un exemple d'utilisation de .NET, reportez-vous à cet exemple sur GitHub.

PowerShell

Non pris en charge.

Ruby

Non pris en charge.

TypeScript

Pour obtenir un exemple d'utilisation de TypeScript, reportez-vous à cet exemple sur GitHub.

Go

Pour obtenir un exemple d'utilisation de Go, reportez-vous à cet exemple sur GitHub.

Authentification par principal d'instance

Avec l'authentification par principal d'instance, vous pouvez autoriser une instance à effectuer des appels d'API sur les services Oracle Cloud Infrastructure. Après avoir configuré les ressources et les stratégies requises, une application exécutée sur une instance peut appeler des services publics Oracle Cloud Infrastructure. Ainsi, vous n'avez pas besoin de configurer des informations d'identification utilisateur ou un fichier de configuration. Pour plus d'informations, reportez-vous à Principal d'instance.

Vous pouvez recourir à l'authentification par principal d'instance à partir d'une instance ou d'une machine virtuelle sur laquelle vous ne voulez pas stocker de fichier de configuration.

Exemples

La section suivante présente des exemples d'authentification par principal d'instance.

Interface de ligne de commande

Vous pouvez utiliser la commande d'interface de ligne de commande suivante pour configurer l'authentification basée sur un principal d'instance :

"oci setup instance-principal" : cette commande permet de configurer l'authentification par principal d'instance sur une instance existante à partir d'un ordinateur sur lequel vous avez déjà configuré l'authentification via l'interface de ligne de commande OCI. Par exemple, vous pouvez exécuter cette commande à partir de Cloud Shell (qui est authentifié à l'aide d'un jeton de délégation) afin de configurer le principal sur une instance. Pour plus d'informations, reportez-vous à oci setup instance-principal.

Pour configurer manuellement des groupes dynamiques et des stratégies de principal d'instance, reportez-vous à Appel de services à partir d'instances.

Python

Pour obtenir un exemple d'utilisation de Python, reportez-vous à cet exemple sur GitHub.

Java

Pour obtenir un exemple d'utilisation de Java, reportez-vous à cet exemple sur GitHub.

.NET

Pour obtenir un exemple d'utilisation de .NET, reportez-vous à cet exemple sur GitHub.

PowerShell

Pour plus d'informations, reportez-vous à la documentation des modules PowerShell pour OCI.

Ruby

Pour obtenir un exemple d'utilisation de Ruby, reportez-vous à cet exemple sur GitHub.

TypeScript

Pour obtenir un exemple d'utilisation de TypeScript, reportez-vous à cet exemple sur GitHub.

Go

Pour obtenir un exemple de création et de configuration de l'authentification par principal d'instance à l'aide du kit SDK Go, reportez-vous à cet exemple sur GitHub.

Pour obtenir un exemple d'utilisation de l'authentification par principal d'instance, reportez-vous à cet exemple sur GitHub.

Authentification par principal de ressource

L'authentification par principal de ressource est très semblable à l'authentification de principal d'instance, mais elle est destinée à être utilisée pour les ressources qui ne sont pas des instances, telles que les fonctions sans serveur.

Exemples

La section suivante présente des exemples d'authentification par principal de ressource.

Interface de ligne de commande

Afin d'obtenir des exemples pour l'interface de ligne de commande, reportez-vous à Accès aux ressources OCI avec des fonctions.

Python

Pour obtenir un exemple d'utilisation de Python, reportez-vous à cet exemple sur GitHub.

Java

Pour obtenir un exemple d'utilisation de Java, reportez-vous à cet exemple sur GitHub.

.NET

Pour obtenir un exemple d'utilisation de .NET, reportez-vous à cet exemple sur GitHub.

PowerShell

Exemple non disponible.

Ruby

Pour obtenir un exemple d'utilisation de Ruby avec RPv1.1, reportez-vous à cet exemple sur GitHub.

Pour obtenir un exemple d'utilisation de Ruby avec RPv2.2, reportez-vous à cet exemple sur GitHub.

TypeScript

Pour obtenir un exemple d'utilisation de TypeScript, reportez-vous à cet exemple sur GitHub.

Go

Pour obtenir un exemple d'utilisation de Go, reportez-vous à cet exemple sur GitHub.