Conserver des fichiers dans Azure Cloud Shell

La première fois que vous démarrez Cloud Shell, vous êtes invité à sélectionner vos options de stockage. Si vous souhaitez stocker des fichiers qui peuvent être utilisés à chaque fois que vous utilisez Cloud Shell, vous devez créer de nouvelles ressources de stockage ou choisir des ressources existantes. Cloud Shell utilise un partage Microsoft Azure Files pour conserver les fichiers entre les sessions.

Fonctionnement du stockage Cloud Shell

Cloud Shell conserve les fichiers à l’aide des deux méthodes suivantes :

  • Crée une image de disque pour contenir le contenu de votre répertoire $HOME. L’image de disque est enregistrée dans https://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.img. Cloud Shell synchronise automatiquement les modifications apportées à cette image disque.
  • Monte le partage de fichiers comme un clouddrive dans votre répertoire $HOME. Le chemin d’accès /home/<User>/clouddrive est mappé à storageaccountname.file.core.windows.net/filesharename.

Remarque

Tous les fichiers figurant dans votre répertoire $HOME, tels que les clés SSH, sont conservés dans l’image disque utilisateur qui est stockée dans le partage de fichiers monté. Utilisez les bonnes pratiques pour sécuriser les informations dans votre répertoire $HOME et votre partage de fichiers monté.

Sécurisation de l’accès au stockage

Pour la sécurité, chaque utilisateur doit créer son propre compte de stockage. Pour le contrôle d’accès en fonction du rôle Azure (RBAC), les utilisateurs doivent avoir un accès contributeur ou supérieur au niveau du compte de stockage.

Cloud Shell utilise un partage de fichiers Azure dans un compte de stockage, au sein d’un abonnement spécifié. En raison des autorisations héritées, les utilisateurs disposant de droits d’accès suffisants dans l’abonnement peuvent accéder aux comptes de stockage ainsi qu’aux partages de fichiers contenus dans l’abonnement.

Les utilisateurs doivent verrouiller l’accès à leurs fichiers en définissant des autorisations au niveau du compte de stockage ou de l’abonnement.

Le compte de stockage Cloud Shell contient les fichiers créés par l’utilisateur Cloud Shell dans son répertoire d’accueil, qui pourrait inclure des informations sensibles, notamment des jetons d’accès ou des informations d’identification.

Restreindre la création de ressources avec une stratégie de ressource Azure

Les comptes de stockage créés dans Cloud Shell sont identifiés à l’aide de la balise ms-resource-usage:azure-cloud-shell. Si vous souhaitez interdire aux utilisateurs de créer des comptes de stockage dans Cloud Shell, créez une stratégie de ressource Azure déclenchée par cette étiquette spécifique.

Gestion du stockage Cloud Shell

Utiliser la commande clouddrive

Cloud Shell comprend un outil de ligne de commande qui vous permet de modifier le partage Azure Files qui se trouve dans Cloud Shell. Exécutez clouddrive pour afficher les commandes disponibles.

Group
  clouddrive                  :Manage storage settings for Azure Cloud Shell.

Commands
  mount                       :Mount a file share to Cloud Shell.
  unmount                     :Unmount a file share from Cloud Shell.

Monter un nouveau clouddrive

Utilisez la commande clouddrive mount pour modifier le partage utilisé par Cloud Shell.

Remarque

Si vous montez un nouveau partage, une nouvelle image utilisateur est créée pour votre répertoire $HOME. L’image $HOME précédente est conservée dans le partage de fichier précédent.

Exécutez la commande clouddrive mount avec les paramètres suivants :

clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName

Pour plus d’informations, exécuter clouddrive mount -h.

Command
  clouddrive mount            :Mount an Azure file share to Cloud Shell.

    Mount enables mounting and associating an Azure file share to Cloud Shell.
    Cloud Shell will automatically attach this file share on each session start-up.

    Note: This command does not mount storage if the session is Ephemeral.

    Cloud Shell persists files with both methods below:
    1. Create a disk image of your $HOME directory to persist files within $HOME.
    This disk image is saved in your specified file share as 'acc_sean.img'' at
    '//<storageaccount>.file.storage.windows.net/<fileshare>/.cloudconsole/acc_sean.img'
    2. Mount specified file share as 'clouddrive' in $HOME for file sharing.
    '/home/sean/clouddrive' maps to '//<storageaccount>.file.storage.windows.net/<fileshare>'

Arguments
  -s | --subscription id          [Required]:Subscription ID or name.
  -g | --resource-group group     [Required]:Resource group name.
  -n | --storage-account name     [Required]:Storage account name.
  -f | --file-share name          [Required]:File share name.
  -d | --disk-size size                     :Disk size in GB. (default 5)
  -F | --force                              :Skip warning prompts.
  -? | -h | --help                          :Shows this usage text.

Démontage de clouddrive

Vous pouvez démonter un partage de fichiers Cloud Shell à tout moment. Dans la mesure où Cloud Shell nécessite l’utilisation d’un partage de fichiers monté, il vous invite à créer et monter un autre partage de fichiers lors de la prochaine session.

  1. Exécutez clouddrive unmount.
  2. Acceptez et confirmez les invites.

Le partage de fichiers non monté continue d’exister jusqu’à ce que vous le supprimiez manuellement. Après le démontage, Cloud Shell ne recherche plus ce partage de fichiers dans les sessions suivantes. Pour plus d’informations, exécuter clouddrive unmount -h,

Command
  clouddrive unmount: Unmount an Azure file share from Cloud Shell.

    Unmount enables unmounting and disassociating a file share from Cloud Shell.
    All current sessions will be terminated. Machine state and non-persisted files will be lost.
    You will be prompted to create and mount a new file share on your next session.
    Your previously mounted file share will continue to exist.

    Note: This command does not unmount storage if the session is Ephemeral.

Arguments
  None

Avertissement

L’exécution de cette commande ne supprime pas de ressources. Toutefois, la suppression manuelle d’un groupe de ressources, d’un compte de stockage ou d’un partage de fichiers mappé à Cloud Shell efface votre image disque du répertoire $HOME, ainsi que tous les autres fichiers présents dans votre partage de fichiers. Cette action ne peut pas être annulée.

Utilisation de commandes PowerShell

Obtenir des informations sur le partage de fichiers actuel

Utilisez la commande Get-CloudDrive dans PowerShell pour obtenir des informations sur les ressources qui sauvegardent le partage de fichiers.

PS /home/user> Get-CloudDrive

FileShareName      : cs-user-microsoft-com-xxxxxxxxxxxxxxx
FileSharePath      : //cs7xxxxxxxxxxxxxxx.file.core.windows.net/cs-user-microsoft-com-xxxxxxxxxxxxxxx
MountPoint         : /home/user/clouddrive
Name               : cs7xxxxxxxxxxxxxxx
ResourceGroupName  : cloud-shell-storage-southcentralus
StorageAccountName : cs7xxxxxxxxxxxxxxx
SubscriptionId     : 78a66d97-7204-4a0d-903f-43d3d4170e5b

Démontage du partage de fichiers

Vous pouvez démonter un partage de fichiers Cloud Shell à tout moment en utilisant le cmdlet Dismount-CloudDrive. Le démontage du clouddrive met fin à la session active.

Dismount-CloudDrive
Do you want to continue
Dismounting clouddrive will terminate your current session. You will be prompted to create and
mount a new file share on your next session
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Étapes suivantes