Share via


Persistencia de archivos en Azure Cloud Shell

La primera vez que inicie Cloud Shell, se le pedirá que seleccione las opciones de almacenamiento. Si desea almacenar archivos que se pueden usar cada vez que use Cloud Shell, debe crear recursos de almacenamiento existentes o elegirlos. Cloud Shell usa un recurso compartido de Microsoft Azure Files para conservar archivos entre sesiones.

Funcionamiento del almacenamiento de Cloud Shell

Cloud Shell conserva los archivos a través de los métodos siguientes:

  • Crea una imagen de disco para contener el contenido del directorio $HOME. La imagen de disco se guarda en https://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.img. Cloud Shell sincroniza automáticamente los cambios en esta imagen de disco.
  • Monta el recurso compartido de archivos como clouddrive en el directorio $HOME. /home/<User>/clouddrive ruta de acceso se asigna a storageaccountname.file.core.windows.net/filesharename.

Nota:

Todos los archivos del directorio $HOME, como las claves SSH, se conservan en la imagen de disco de usuario, que se almacena en el recurso compartido de archivos montado. Use los procedimientos recomendados para proteger la información del directorio $HOME y el recurso compartido de archivos montado.

Protección del acceso al almacenamiento

Por motivos de seguridad, cada usuario debe crear su propia cuenta de almacenamiento. En el caso del control de acceso basado en rol (RBAC) de Azure, los usuarios deben tener acceso de colaborador o superior en el nivel de cuenta de almacenamiento.

Cloud Shell usa un recurso compartido de archivos de Azure en una cuenta de almacenamiento, dentro de una suscripción especificada. Debido a los permisos heredados, los usuarios con derechos de acceso suficientes en la suscripción pueden acceder a las cuentas de almacenamiento y los recursos compartidos de archivos contenidos en la suscripción.

Los usuarios deben bloquear el acceso a sus archivos estableciendo los permisos en el nivel de cuenta de almacenamiento o de suscripción.

La cuenta de almacenamiento de Cloud Shell contiene archivos creados por el usuario de Cloud Shell en su directorio principal, lo que puede incluir información confidencial, incluidos los tokens de acceso o las credenciales.

Restringir la creación de recursos con una directiva de recursos de Azure

Las cuentas de almacenamiento creadas en Cloud Shell se etiquetan con ms-resource-usage:azure-cloud-shell. Si desea impedir que los usuarios creen cuentas de almacenamiento en Cloud Shell, cree una directiva de recursos de Azure desencadenada por esta etiqueta específica.

Administración del almacenamiento de Cloud Shell

Uso del comando clouddrive

Cloud Shell incluye una herramienta de línea de comandos que permite cambiar el recurso compartido de Azure Files que se encuentra en Cloud Shell. Ejecute clouddrive para ver los comandos 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.

Montaje de un nuevo clouddrive

Use el clouddrive mount comando para cambiar el recurso compartido usado por Cloud Shell.

Nota:

Si va a montar un nuevo recurso compartido, se crea una nueva imagen de usuario para el directorio de $HOME. La imagen de $HOME anterior se mantiene en el recurso compartido de archivos anterior.

Ejecute el comando clouddrive mount con los parámetros siguientes:

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

Para más información, vea 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.

Desmontaje de clouddrive

Puede desmontar un recurso compartido de archivos de Cloud Shell en cualquier momento. Dado que Cloud Shell requiere que se use un recurso compartido de archivos montado, Cloud Shell le pedirá que cree y monte otro recurso compartido de archivos en la siguiente sesión.

  1. Ejecute clouddrive unmount.
  2. Reconozca y confirme los mensajes.

El recurso compartido de archivos desmontado continúa existiendo hasta que lo elimine manualmente. Después de desmontar, Cloud Shell ya no busca este recurso compartido de archivos en sesiones posteriores. Para obtener más información, ejecute 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

Advertencia

Aunque la ejecución de este comando no elimina ningún recurso, elimina manualmente un grupo de recursos, una cuenta de almacenamiento o un recurso compartido de archivos asignado a Cloud Shell borra la imagen de disco del directorio $HOME y los archivos del recurso compartido de archivos. Esta acción no se puede deshacer.

Uso de comandos de PowerShell

Obtener información sobre el recurso compartido de archivos actual

Use el comando Get-CloudDrive en PowerShell para obtener información sobre los recursos que respaldan el recurso compartido de archivos.

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

Desmontaje del recurso compartido de archivos

Puede desmontar un recurso compartido de archivos de Cloud Shell en cualquier momento mediante el cmdlet Dismount-CloudDrive. Desmontar clouddrive finaliza la sesión actual.

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

Pasos siguientes