Rendere persistenti i file in Azure Cloud Shell

La prima volta che si avvia Cloud Shell, viene richiesto di selezionare le opzioni di archiviazione. Se si desidera archiviare i file che possono essere usati ogni volta che si usa Cloud Shell, è necessario creare risorse di archiviazione nuove o scegliere risorse di archiviazione esistenti. Cloud Shell usa una condivisione di Microsoft File di Azure per rendere persistenti i file tra le sessioni.

Come funziona l’archiviazione Cloud Shell

Cloud Shell rende persistenti i file tramite entrambe le modalità seguenti:

  • Crea un'immagine del disco per contenere il contenuto della $HOME directory. L'immagine del disco viene salvata in https://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.img. Cloud Shell sincronizza automaticamente le modifiche apportate a questa immagine disco.
  • Monta la condivisione file come clouddrive nella $HOME directory. /home/<User>/clouddrive viene eseguito il mapping di path a storageaccountname.file.core.windows.net/filesharename.

Nota

Tutti i file nella $HOME directory, ad esempio le chiavi SSH, vengono salvati in modo permanente nell'immagine del disco utente, archiviata nella condivisione file montata. Usare le procedure consigliate per proteggere le informazioni nella directory e nella $HOME condivisione file montata.

Protezione dell'accesso alle risorse di archiviazione

Per la sicurezza, ogni utente deve creare il proprio account di archiviazione. Per il controllo degli accessi in base al ruolo di Azure, gli utenti devono avere accesso collaboratore o superiore a livello di account di archiviazione.

Cloud Shell usa una condivisione file di Azure in un account di archiviazione, all'interno di una sottoscrizione specificata. A causa delle autorizzazioni ereditate, gli utenti con diritti di accesso sufficienti nella sottoscrizione possono accedere agli account di archiviazione e alle condivisioni file contenute nella sottoscrizione.

Gli utenti devono bloccare l'accesso ai file impostando le autorizzazioni a livello di account di archiviazione o sottoscrizione.

L'account di archiviazione di Cloud Shell contiene i file creati dall'utente di Cloud Shell nella home directory, che può includere informazioni riservate, inclusi i token di accesso o le credenziali.

Limitare la creazione di risorse con i criteri delle risorse di Azure

Archiviazione gli account creati in Cloud Shell vengono contrassegnati con ms-resource-usage:azure-cloud-shell. Se si vuole impedire agli utenti di creare account di archiviazione in Cloud Shell, creare criteri di risorse di Azure attivati da questo tag specifico.

Gestione dell'archiviazione di Cloud Shell

Usare il comando clouddrive

Cloud Shell include uno strumento da riga di comando che consente di modificare la condivisione File di Azure in Cloud Shell. Eseguire clouddrive per visualizzare i comandi disponibili.

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.

Montare una nuova clouddrive

Usare il clouddrive mount comando per modificare la condivisione usata da Cloud Shell.

Nota

Se si sta montando una nuova condivisione, viene creata una nuova immagine utente per la $HOME directory. L'immagine precedente $HOME viene mantenuta nella condivisione file precedente.

Eseguire il comando clouddrive mount con i parametri seguenti:

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

Per altre informazioni, eseguire 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.

Smontare l'unità clouddrive

È possibile smontare una condivisione file di Cloud Shell in qualsiasi momento. Poiché Cloud Shell richiede l'uso di una condivisione file montata, Cloud Shell richiede di creare e montare un'altra condivisione file nella sessione successiva.

  1. Eseguire clouddrive unmount.
  2. Accettare e confermare i prompt.

La condivisione file smontata continua a esistere fino a quando non viene eliminata manualmente. Dopo lo smontaggio, Cloud Shell non cerca più questa condivisione file nelle sessioni successive. Per altre informazioni, eseguire 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

Avviso

Anche se l'esecuzione di questo comando non elimina risorse, elimina manualmente un gruppo di risorse, un account di archiviazione o una condivisione file mappata a Cloud Shell cancella l'immagine $HOME del disco della directory e tutti i file nella condivisione file. Non è possibile annullare questa azione.

Con i comandi di PowerShell

Ottenere informazioni sulla condivisione file corrente

Usare il Get-CloudDrive comando in PowerShell per ottenere informazioni sulle risorse di cui viene eseguito il backup della condivisione file.

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

Smontare la condivisione file

È possibile smontare una condivisione file di Cloud Shell in qualsiasi momento usando il Dismount-CloudDrive cmdlet . Se si smonta clouddrive, viene terminata la sessione corrente.

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"):

Passaggi successivi