Azure Files είναι μια πλήρως διαχειριζόμενη υπηρεσία αποθήκευσης αρχείων στο cloud που παρέχει κοινή αποθήκευση αρχείων προσβάσιμη μέσω των τυπικών πρωτοκόλλων SMB (Server Message Block) και NFS (Network File System). Αν και το κύριο πρωτόκολλο που χρησιμοποιείται είναι το SMB, οι κοινές αποθήκες αρχείων NFS Azure δεν υποστηρίζονται για Windows (σύμφωνα με τα docs). Σας επιτρέπει να δημιουργείτε εξαιρετικά διαθέσιμες κοινές αποθήκες αρχείων δικτύου που μπορούν να προσπελαστούν ταυτόχρονα από πολλές εικονικές μηχανές (VMs) ή τοπικά συστήματα, επιτρέποντας την απρόσκοπτη κοινή χρήση αρχείων σε διάφορα περιβάλλοντα.
Access Tiers
Transaction Optimized: Βελτιστοποιημένο για λειτουργίες με πολλές συναλλαγές.
Hot: Ισορροπημένο μεταξύ συναλλαγών και αποθήκευσης.
Cool: Οικονομικό για αποθήκευση.
Premium: Υψηλής απόδοσης αποθήκευση αρχείων βελτιστοποιημένη για φορτία εργασίας με χαμηλή καθυστέρηση και IOPS.
Backups
Daily backup: Ένα σημείο αντιγράφου ασφαλείας δημιουργείται κάθε μέρα σε μια καθορισμένη ώρα (π.χ. 19.30 UTC) και αποθηκεύεται από 1 έως 200 ημέρες.
Weekly backup: Ένα σημείο αντιγράφου ασφαλείας δημιουργείται κάθε εβδομάδα σε μια καθορισμένη ημέρα και ώρα (Κυριακή στις 19.30) και αποθηκεύεται από 1 έως 200 εβδομάδες.
Monthly backup: Ένα σημείο αντιγράφου ασφαλείας δημιουργείται κάθε μήνα σε μια καθορισμένη ημέρα και ώρα (π.χ. πρώτη Κυριακή στις 19.30) και αποθηκεύεται από 1 έως 120 μήνες.
Yearly backup: Ένα σημείο αντιγράφου ασφαλείας δημιουργείται κάθε χρόνο σε μια καθορισμένη ημέρα και ώρα (π.χ. πρώτη Κυριακή του Ιανουαρίου στις 19.30) και αποθηκεύεται από 1 έως 10 χρόνια.
Είναι επίσης δυνατή η εκτέλεση χειροκίνητων αντιγράφων ασφαλείας και στιγμιότυπων οποιαδήποτε στιγμή. Τα αντίγραφα ασφαλείας και τα στιγμιότυπα είναι στην πραγματικότητα τα ίδια σε αυτό το πλαίσιο.
Supported Authentications via SMB
On-premises AD DS Authentication: Χρησιμοποιεί τα διαπιστευτήρια Active Directory τοπικά συγχρονισμένα με το Microsoft Entra ID για πρόσβαση βάσει ταυτότητας. Απαιτεί συνδεσιμότητα δικτύου με το τοπικό AD DS.
Microsoft Entra Domain Services Authentication: Εκμεταλλεύεται τις Υπηρεσίες Τομέα Microsoft Entra (cloud-based AD) για να παρέχει πρόσβαση χρησιμοποιώντας διαπιστευτήρια Microsoft Entra.
Microsoft Entra Kerberos for Hybrid Identities: Επιτρέπει στους χρήστες Microsoft Entra να πιστοποιούν τις κοινές αποθήκες αρχείων Azure μέσω του διαδικτύου χρησιμοποιώντας Kerberos. Υποστηρίζει υβριδικές εικονικές μηχανές που είναι συνδεδεμένες με Microsoft Entra ή Microsoft Entra χωρίς να απαιτεί συνδεσιμότητα με τοπικούς ελεγκτές τομέα. Αλλά δεν υποστηρίζει μόνο cloud ταυτότητες.
AD Kerberos Authentication for Linux Clients: Επιτρέπει στους πελάτες Linux να χρησιμοποιούν Kerberos για την πιστοποίηση SMB μέσω τοπικού AD DS ή Υπηρεσιών Τομέα Microsoft Entra.
Enumeration
# Get storage accountsazstorageaccountlist#Get the account name from here# List file sharesazstoragesharelist--account-name<name>azstorageshare-rmlist--storage-account<name># To see the deleted ones too --include-deleted# Get dirs/files inside the shareazstoragefilelist--account-name<name>--share-name<share-name>## If type is "dir", you can continue enumerating files inside of itazstoragefilelist--account-name<name>--share-name<prev_dir/share-name># Download a complete share (with directories and files inside of them)azstoragefiledownload-batch-d.--source<share-name>--account-name<name># Get snapshots/backupsazstoragesharelist--account-name<name>--include-snapshots--query"[?snapshot != null]"# List contents of a snapshot/backupazstoragefilelist--account-name<name>--share-name<share-name>--snapshot<snapshot-version>#e.g. "2024-11-25T11:26:59.0000000Z"# Download snapshot/backupazstoragefiledownload-batch-d.--account-name<name>--source<share-name>--snapshot<snapshot-version>
Get-AzStorageAccount# List File SharesGet-AzStorageShare-Context (Get-AzStorageAccount-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>").Context# Get Directories/Files Inside the ShareGet-AzStorageFile-ShareName "<share-name>"-Context (Get-AzStorageAccount-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>").ContextGet-AzStorageFile-ShareName "<share-name>"-Path "<share-directory-path>"-Context (Get-AzStorageAccount-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>").Context# Download a Complete ShareGet-AzStorageFileContent-ShareName "<share-name>"-Destination "C:\Download"-Path "<share-directory-path>"-Context (Get-AzStorageAccount-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>").Context# Get Snapshots/BackupsGet-AzStorageShare-Context (Get-AzStorageAccount-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>").Context |Where-Object { $_.SnapshotTime-ne$null }# List Contents of a Snapshot/BackupGet-AzStorageFile-ShareName "<share-name>"-Context (New-AzStorageContext-StorageAccountName "<storage-account-name>"-StorageAccountKey (Get-AzStorageAccountKey-ResourceGroupName "<resource-group-name>"-Name "<storage-account-name>"|Select-Object-ExpandProperty Value) -SnapshotTime "<snapshot-version>")
Από προεπιλογή, το az cli θα χρησιμοποιήσει ένα κλειδί λογαριασμού για να υπογράψει ένα κλειδί και να εκτελέσει την ενέργεια. Για να χρησιμοποιήσετε τα δικαιώματα του Entra ID principal, χρησιμοποιήστε τις παραμέτρους --auth-mode login --enable-file-backup-request-intent.
Χρησιμοποιήστε την παράμετρο --account-key για να υποδείξετε το κλειδί λογαριασμού που θα χρησιμοποιηθεί
Χρησιμοποιήστε την παράμετρο --sas-token με το SAS token για πρόσβαση μέσω ενός SAS token
Σύνδεση
Αυτά είναι τα σενάρια που προτείνονται από το Azure κατά τη διάρκεια της συγγραφής για να συνδεθείτε σε ένα File Share:
Πρέπει να αντικαταστήσετε τους χώρους <STORAGE-ACCOUNT>, <ACCESS-KEY> και <FILE-SHARE-NAME>.
$connectTestResult =Test-NetConnection-ComputerName filescontainersrdtfgvhb.file.core.windows.net -Port 445if ($connectTestResult.TcpTestSucceeded) {# Save the password so the drive will persist on rebootcmd.exe/C "cmdkey /add:`"<STORAGE-ACCOUNT>.file.core.windows.net`" /user:`"localhost\<STORAGE-ACCOUNT>`" /pass:`"<ACCESS-KEY>`""# Mount the driveNew-PSDrive-Name Z -PSProvider FileSystem -Root "\\<STORAGE-ACCOUNT>.file.core.windows.net\<FILE-SHARE-NAME>"-Persist} else {Write-Error-Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."}