Cloud Shell
Oracle Cloud Infrastructure (OCI) est un terminal basé sur un navigateur Web accessible à partir de la console Oracle Cloud. Cloud Shell est gratuit (dans les limites mensuelles des locations) et donne accès à un shell Linux, avec une interface de ligne de commande Oracle Cloud Infrastructure préauthentifiée, une installation Ansible préauthentifiée et d'autres outils utiles permettant de suivre les laboratoires et tutoriels de service Oracle Cloud Infrastructure. Cloud Shell est une fonctionnalité disponible pour tous les utilisateurs OCI et accessible à partir de la console. Cloud Shell apparaît dans la console Oracle Cloud sous la forme d'un cadre persistant qui reste actif lorsque vous naviguez dans les différentes pages de la console.
Cloud Shell fournit les éléments suivants :
-
machine éphémère à utiliser en tant qu'hôte d'un shell Linux, préconfiguré avec la dernière version de l'interface de ligne de commande OCI et un certain nombre d'outils utiles,
-
5 Go de stockage pour le répertoire de base,
-
cadre persistant de la console qui reste actif lorsque vous naviguez dans les différentes pages de la console.
Fonctionnement de Cloud Shell
La machine Cloud Shell est une petite machine virtuelle exécutant un shell Bash auquel vous accédez via la console OCI. Cloud Shell est fourni avec une interface de ligne de commande OCI pré-authentifiée, définie sur la région de la page d'accueil de la location de la console, ainsi que des outils et utilitaires à jour.
Cloud Shell est fourni avec 5 Go de stockage persistant pour le répertoire de base afin que vous puissiez apporter des modifications locales à votre répertoire de base, puis continuer à travailler sur votre projet lorsque vous revenez à Cloud Shell.
Cloud Shell est gratuit (dans les limites mensuelles de votre location) et ne requiert ni configuration ni prérequis autres qu'une stratégie IAM y donnant accès. Cloud Shell inclut une machine virtuelle provisionnée pour vous qui s'exécute dans sa propre location (et n'utilise donc aucune des ressources de votre location) et héberge votre shell dans un système d'exploitation Oracle Linux pendant que vous utilisez activement Cloud Shell.
Eléments inclus avec Cloud Shell
Outre l'interface de ligne de commande OCI, la machine virtuelle Cloud Shell inclut les versions en cours de nombreux outils et utilitaires très pratiques préinstallés, notamment :
- Git
- Java
- Python (2 et 3)
- JDK 17 et Native Image pour GraalVM Enterprise
- SQLcl
- kubectl
- helm
- maven
- gradle
- terraform
- ansible
- node.js
- iputils
- jqmake
- tmux
- vim
- NPM
- wget
- zip/unzip
- nano
- emacs
- pip
- bash
- sh
- tar
- nvm
- mysql-community-client
- mysqlsh
- Moteur Docker
- ipython
- oci-powershell-modules
- Client d'administration GoldenGate
- La plupart des kits SDK OCI, y compris :
- Java
- Python
- Go
- TypeScript et JavaScript
- Ruby
Stratégie IAM requise
La mise en route de Cloud Shell suppose d'accorder à l'utilisateur un accès à Cloud Shell via une stratégie IAM. Chaque service d'Oracle Cloud Infrastructure s'intègre à IAM à des fins d'authentification et d'autorisation pour toutes les interfaces (console, kit SDK ou interface de ligne de commande et API REST).
Pour utiliser Oracle Cloud Infrastructure, vous devez disposer du type d'accès requis dans une stratégie écrite par un administrateur dans le compartiment racine de la location, que vous utilisiez la console ou l'API REST avec un kit SDK, l'interface de ligne de commande ou un autre outil. Si vous essayez d'effectuer une action et qu'un message indique que vous n'y êtes pas autorisé, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé.
Cloud Shell ne prend pas en charge les stratégies au niveau du compartiment, uniquement au niveau de la location.
allow group <GROUP-NAME> to use cloud-shell in tenancy
allow group <DOMAIN-NAME>/<GROUP-NAME> to use cloud-shell in tenancy
Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies, à Stratégies courantes et à Création d'une stratégie et d'un groupe dynamique.
Limites relatives à Cloud Shell
Gardez à l'esprit les limites suivantes lors de l'utilisation de Cloud Shell :
- Cloud Shell est fourni avec 5 Go de stockage pour le répertoire de base de la machine virtuelle. Ce stockage est persistant d'une session à l'autre. Toutefois, après plusieurs mois d'inutilisation, l'administrateur de la location recevra une notification indiquant que le stockage sera enlevé dans 60 jours. Le démarrage d'une session Cloud Shell réinitialise l'horloge de suppression du stockage.
- Cloud Shell ne prend pas en charge le montage de stockage supplémentaire.
- Cloud Shell n'analyse pas les fichiers utilisateur pour détecter les malwares ou les virus.
- Les sessions Cloud Shell n'autorisent aucune connexion entrante, et aucune adresse IP publique n'est disponible.
- L'interface de ligne de commande OCI exécute les commandes au niveau de la région sélectionnée dans le menu de sélection Région de la console au démarrage de Cloud Shell. La sélection d'une autre région dans la console ne modifie pas la région des instances Cloud Shell existantes. Vous devrez ouvrir une nouvelle instance Cloud Shell pour changer de région.
- Les sessions Cloud Shell ont une durée maximale de 24 heures et expirent après 60 minutes d'inactivité.
-
Cloud Shell utilise des sockets Web pour la communication entre le navigateur et le service. Si les sockets Web sont désactivés sur le navigateur ou que ce dernier utilise un proxy d'entreprise pour lequel les sockets Web sont désactivés, vous obtenez un message d'erreur (Une erreur inattendue est survenue) lors de la tentative de démarrage de Cloud Shell à partir de la console.
- Cloud Shell est conçu pour une utilisation interactive avec les ressources Oracle Cloud Infrastructure. Les utilisateurs ayant besoin d'un stockage supplémentaire pour Cloud Shell ou souhaitant exécuter des tâches non interactives à longue durée d'exécution sont encouragés à utiliser des ressources de calcul et de stockage dans leur location.
- A des fins de compatibilité maximale, Cloud Shell inclut Python version 2 et version 3. Python 2 est exécuté par défaut lorsque vous entrez 'python' dans la ligne de commande. Pour exécuter Python 3, entrez 'python3' dans la ligne de commande.
- Les mots réservés suivants ne peuvent pas être utilisés en tant que nom d'un utilisateur Cloud Shell :
oci
,root
,bin
,daemon
,adm
,lp
,sync
,shutdown
,halt
,mai
,operator
,games
,ftp
,nobody
,oci
,systemd-network
,dbus
,polkitd
,tss
etapache
. Si un utilisateur tente de créer une session Cloud Shell alors qu'il est connecté avec un nom utilisateur (ou la partie du nom située avant le signe @ si le nom utilisateur est une adresse électronique) faisant partie de ces mots réservés, un message d'erreur inattendue sera généré. - Les noms utilisateur numériques (par exemple, "1234") ne sont pas pris en charge par Cloud Shell.
- Le fuseau horaire de la session Cloud Shell est UTC et ne peut pas être modifié.
- Cloud Shell n'autorise pas l'accès root ni l'utilisation de sudo. Les packages dont l'installation nécessite un accès root ne peuvent donc pas être installés. De nombreux packages sont disponibles dans des versions qui n'exigent pas d'accès root pour l'installation. Vous pouvez les décompresser et les installer dans votre répertoire de base.
- Cloud Shell n'autorise pas l'utilisation de la commande ping, car celle-ci requiert un accès root.
- Cloud Shell s'initialise en mode FIPS, ce qui peut avoir une incidence sur le comportement de certaines commandes.
- Cloud Shell ne peut pas générer de clés PKCS#1 lors de l'utilisation de la commande
openssl
car il s'initialise en mode FIPS. Le mode FIPS exige que Cloud Shell génère des clés PKCS#8. - Pour plus d'informations sur les limites de Cloud Shell, reportez-vous à Cloud Shell dans Limites de service.
Accès à Cloud Shell et autres restrictions
Cloud Shell utilise des sockets Web pour la communication entre le navigateur et le service. Si les sockets Web sont désactivés sur le navigateur ou que ce dernier utilise un proxy d'entreprise pour lequel les sockets Web sont désactivés, vous obtenez un message d'erreur (Une erreur inattendue est survenue) lors de la tentative de démarrage de Cloud Shell à partir de la console.
Bien que Cloud Shell donne accès à Internet, tout accès de l'extérieur à Cloud Shell est impossible (par exemple, vous ne pouvez pas utiliser SSH pour accéder à Cloud Shell) et aucune adresse IP publique n'est disponible. Si l'administrateur de location ne veut pas activer l'accès à Internet à partir d'OCI, il ne doit pas accorder l'accès à Cloud Shell avec une stratégie IAM.
Emplacement et propriété des ressources Cloud Shell
Lorsque vous démarrez Cloud Shell pour la première fois, le service crée un volume de stockage de blocs persistant (5 Go) pour votre répertoire de base. Le volume du répertoire de base se trouve dans la région d'origine de votre location. L'ordinateur exécutant la session Cloud Shell se trouve également dans la région d'origine de la location.
Cloud Shell utilise votre OCID utilisateur pour créer votre répertoire de base. Si vous disposez de plusieurs comptes dans une location (par exemple, vous disposez d'un compte utilisateur fédéré et d'un compte utilisateur non fédéré), vous obtenez un répertoire de base Cloud Shell distinct et unique pour chaque compte.
La modification de la sélection de région de la console et la connexion à la console via une autre URL régionale n'ont aucune incidence sur l'emplacement de l'ordinateur Cloud Shell et du volume du répertoire de base. Pour vérifier la région d'origine de la location, consultez la page Détails de location dans la console.
Les ressources Cloud Shell (y compris la machine virtuelle utilisée pour la session Cloud Shell) appartiennent au service Cloud Shell et n'existent pas dans votre location. Par conséquent, vous ne pouvez pas ajouter la machine virtuelle Cloud Shell que vous utilisez à un groupe dynamique dans votre location, ni utiliser le principal de l'instance employée pour votre session Cloud Shell.
Cloud Shell et les régions
Lorsque vous démarrez Cloud Shell, le service configure votre session Cloud Shell avec la région actuellement sélectionnée dans la console afin que l'interface de ligne de commande OCI interagisse avec la région de console sélectionnée.
Dans l'invite bash par défaut de Cloud Shell, la région avec laquelle l'interface de ligne de commande OCI interagit est affichée dans l'invite de ligne de commande Cloud Shell comme suit :
Toute modification apportée à la région sélectionnée dans la console après le démarrage de votre session Cloud Shell n'a aucune incidence sur la session Cloud Shell active. Pour modifier la région avec laquelle l'interface de ligne de commande OCI interagit dans Cloud Shell, optez pour l'une des méthodes suivantes :
- Quittez la session Cloud Shell en cours, puis modifiez la région sélectionnée dans la console. Démarrez ensuite une nouvelle session Cloud Shell.
- Modifiez le profil d'interface de ligne de commande OCI actuellement sélectionné via la variable d'environnement OCI_CLI_PROFILE.
Pour plus d'informations, reportez-vous à la section Gestion des régions dans Utilisation de Cloud Shell.
Configuration réseau privée de Cloud Shell
La configuration réseau privée de Cloud Shell vous permet de connecter une session Cloud Shell à un réseau privé afin de pouvoir accéder aux ressources de votre réseau privé sans avoir le flux de trafic réseau sur les réseaux publics. Elle peut être utile pour accéder à des instances de calcul au sein d'un réseau privé via SSH ou pour gérer un cluster OKE privé, par exemple.
Une instance Cloud Shell est une instance privée et fonctionne comme une instance privée dans le cadre de la configuration réseau. La seule utilisation d'une passerelle Internet ne permettra pas d'acheminer le trafic sortant d'un sous-réseau privé vers Internet. Vous devrez utiliser une passerelle de service ou une passerelle NAT pour cela. Pour plus d'informations, reportez-vous à la documentation sur les passerelles Internet.
Exigences et stratégie IAM
Pour utiliser la configuration réseau privée, vous (ou un administrateur) devez spécifier les stratégies suivantes :
-
allow group <group> to use subnets in compartment <compartment>
-
allow group <group> to use vnics in compartment <compartment>
-
allow group <group> to use network-security-groups in compartment <compartment>
-
allow group <group> to inspect vcns in compartment <compartment>
Si vous ne connaissez pas bien le fonctionnement des stratégies, reportez-vous à Introduction aux stratégies et à Stratégies courantes.
Vous devrez également créer des réseaux cloud virtuels et des sous-réseaux privés dans les compartiments appropriés. Pour plus d'informations, reportez-vous à Réseaux cloud virtuels et sous-réseaux dans la documentation Networking.
Limites relatives à la configuration réseau privée de Cloud Shell
- Vous devrez créer des réseaux cloud virtuels et des sous-réseaux privés dans les compartiments appropriés. Pour plus d'informations, reportez-vous à VCN and Subnet Management dans la documentation Networking.
- Vous pouvez affecter jusqu'à 5 réseaux privés favoris.
- Un réseau éphémère temporaire est un réseau temporaire valide uniquement pour la durée de la session Cloud Shell qui ne sera pas conservé dans la liste des réseaux privés définis.
- Seuls les réseaux cloud virtuels et les sous-réseaux de votre région d'origine sont disponibles pour la création d'un réseau privé. Si vous devez accéder à un sous-réseau dans une région qui n'est pas votre région d'origine, vous pouvez vous servir de l'appairage à partir du sous-réseau utilisé par la configuration réseau privée pour y accéder. Pour plus d'informations, reportez-vous à Appairage inter-régions de réseau cloud virtuel.
- Un sous-réseau choisi pour un réseau privé Cloud Shell doit disposer d'au moins une adresse IP non réservée pour le bloc CIDR disponible du sous-réseau. Si toutes les adresses IP non réservées ont été allouées, Cloud Shell ne peut pas être attaché à ce sous-réseau.
- Un sous-réseau ne peut comporter que 5 groupes de sécurité réseau associés au maximum.
Introduction à la configuration réseau privée
Pour changer le réseau utilisé par votre session Cloud Shell, utilisez le menu déroulant Réseau en haut de la fenêtre de terminal Cloud Shell :
Dans ce menu, vous pouvez sélectionner une connexion de réseau privé favorite. Pour afficher d'autres options, vous pouvez sélectionner l'option Liste des définitions de réseau privé, qui affichera le panneau Liste des définitions de réseau privé.
Ce panneau vous permet de sélectionner des réseaux privés supplémentaires et de désigner des réseaux privés favoris pour une sélection rapide (vous pouvez avoir jusqu'à 5 favoris) :
Création d'une définition de réseau privé
Pour créer un réseau éphémère temporaire, sélectionnez Configuration de réseau privé éphémère dans la liste déroulante de sélection du réseau. Ce réseau temporaire est valide uniquement pour la durée de la session Cloud Shell et n'est pas conservé dans la liste des réseaux privés définis.
Entrez le nom de la définition de réseau privé dans la zone de texte Nom.
Seuls les réseaux cloud virtuels et les sous-réseaux de votre région d'origine sont disponibles. Si vous devez accéder à un sous-réseau dans une région qui n'est pas votre région d'origine, vous pouvez vous servir de l'appairage à partir du sous-réseau utilisé par la configuration réseau privée pour y accéder. Pour plus d'informations, reportez-vous à Appairage inter-régions de réseau cloud virtuel.
Un sous-réseau choisi pour un réseau privé Cloud Shell doit disposer d'au moins une adresse IP non réservée pour le bloc CIDR disponible du sous-réseau. Si toutes les adresses IP non réservées ont été allouées, Cloud Shell ne peut pas être attaché à ce sous-réseau.
Par exemple :
Si vous voulez définir cette définition comme réseau actif, cochez la case Utiliser en tant que réseau.
Cliquez sur le bouton Créer pour créer la définition de réseau privé Cloud Shell.
Votre session Cloud Shell est maintenant connectée à votre réseau privé, comme indiqué dans la liste déroulante Réseau en haut de la session de terminal Cloud Shell :
Vous pouvez afficher les détails de votre connexion de réseau privé en cliquant sur le lien Détails :