12 Dec 2024, 00:00

Azure Files - Généralités sur les partages de fichiers

Général

Azure Files est un stockage cloud, accessible via SMB par une machine locale, ou une VM Azure.

Azure Files peut stocker plusieurs types de ressources, comme les conteneurs blob, mais je m’intéresse ici uniquement aux partages de fichiers.

Il y’a également la possibilité de créer des partages NFS, mais je n’aborde pas ce cas ici. Un partage est accessible soit par SMB soit par NFS, mais pas les 2 en même temps.

Guide de planification général Azure Files

https://learn.microsoft.com/en-us/azure/storage/files/storage-files-planning

Quelques considérations

MS conseille de ne pas mélanger les différents types de ressources au sein d’un même compte de stockage (si il contient un partage Azure Files, alors il est déconseillé d’y mettre un stocke blob par exemple).

Dans la mesure du possible, essayer de ne mettre qu’un seul partage par compte de stockage (chaque partage aura son propre compte de stockage).

Compte de stockage

https://learn.microsoft.com/fr-fr/azure/storage/common/storage-account-overview

La gestion se fait sur le portail Azure, section “Comptes de stockage”.
Il faut créer un compte de stockage (qui lui-même doit appartenir à un groupe de ressources).
Les performances du compte de stockage (standard ou premium) est défini définitivement à la création du compte.

Le compte de stockage est protégé par 2 clés, “storage account key”. On peut les voir sur le portail Azure, dans le compte de stockage -> Sécurité + réseau (colonne de gauche) -> Clé d’accès.
Ces clés donnent un accès admin complet à l’ensemble des partages et données du compte de stockage.

Partages

Une fois le compte de stockage créé, on peut créer des partages (Portail -> Comptes de stockage -> Partages de fichiers puis + Partage de fichiers). Le nom ne peut pas contenir de majuscule.

Chaque partage a son propre niveau de performance (froid, chaud, optimisé pour les transactions).
Celui-ci peut se changer par la suite si besoin.
MS conseille, s’il y a des gros volumes à transférer, de commencer par le niveau optimisé pour les transactions le temps de la migration, puis de repasser à un autre niveau après.

Chaque partage a ses paramètres de sauvegarde.

Paramètres SMB

Récap chez Microsoft

L’accès SMBv3 est ok pour Windows 10 et Debian Bullseye. Les paramètres SMB sont identiques pour tous les partages au sein d’un compte de stockage.

Accéder au partage Azure Files

Article chez Microsoft

Obtenir l’UNC

Ça devrait toujours être \\nomducomptedestockage.file.core.windows.net\nom-du-partage .

Pour le vérifier :
Azure Portal -> Comptes de stockage -> Sélectionner le compte de stockage souhaité -> Partage de fichiers (colonne de gauche du panneau central) puis clic sur Connecter
Cela donne un script, dans lequel on trouve l’UNC.
On y voit aussi la clé de sécurité, derrière le /pass=

Connexion via clé

Si on veut établir la connexion manuellement, on peut ajouter les informations de connection dans Panneau de configuration -> Comptes d'utilisateur -> informations de connexion Windows (ou à la volée lors de la connexion) :

  • Adresse : nomducomptedestockage.file.core.windows.net
  • Utilisateur : nomducomptedestockage (ou localhost\nomducomptedestockage )
  • Mot de passe : clé du compte de stockage

Il est bien sûr possible d’automatiser le déploiement de ce partage via GPO (ou Intune).

Depuis Linux

smb://nomducomptedestockage.file.core.windows.net/nom-du-partage
Mêmes utilisateurs et mot de passe. “Domaine” non-pertinent.

Authentification/autorisations

Article chez Microsoft

L’accès au partage se fait :

  • soit par la “storage account key” (donne un accès complet admin à tous les partages du compte de stockage)
  • soit par un accès basé sur l’identité (IAM)

Si on veut utiliser l’IAM, il est bien de commencer par vérifier que le montage fonctionne en utilisant la storage key, pour s’assurer du bon fonctionnement de la partie réseau sans s’occuper de la partie authentification.

Si on veut utiliser l’IAM, il faut le paramétrer. Un paramétrage sur le compte de stockage lui-même est nécessaire (chaque entité doit avoir les droits d’accès au compte de stockage pour accéder à un partage inclus dedans).

Ce paramétrage se fait sur le portail, dans Compte de stockage -> le choisir -> Access Control (IAM) -> Add -> Add role assignment .
On recherche “SMB”, puis on choisit le rôle “Storage File Data SMB Share Contributor” (pour un contributeur simple, qui peut modifier les fichiers).
On y affecte ensuite l’entité qui doit bénéficier de ce rôle (un groupe, un utilisateur).

Chaque partage de ce compte héritera de cette IAM. Il me semble qu’il est possible de surcharger chacun des partage avec d’autres droits (par exemple refus d’accès ?).

Il y a 3 méthodes d’authentification auprès d’une “source AD”, chacune avec ses spécificités.

Auprès d’un AD local (AD DS)

Il est nécessaire de pouvoir contacter ce DC local lors de l’établissement de la connexion au partage.
Ce DC local peut éventuellement être hébergé dans le cloud, avec accès via un VPN.
Disponible seulement pour les utilisateurs hybrides (synchronisés depuis le DC local vers Entra ID).

Introduction - MS
Activation - MS

Entra Domain Services (Entra DS, anciennement Azure AD DS)

Il s’agit d’un domaine géré (managé) par MS, qui fournit entre autres des fonctionnalités de DC et de GPO.
Il semble plutôt fait pour la gestion centralisée de serveurs virtuels, et il ne peut être contacté que via la connexion à un VPN.
Prend en charge les utilisateurs hybrides ainsi que cloud-only.
Les clients (postes utilisateurs) ne peuvent pas être Entra-joined ou Entra-registered.
les clients doivent être joints au domaine hosté pour que tout soit automatisé.
Il est toutefois possible de monter le partage depuis un poste non-joint à un domaine en fournissant des IDs explicites.

Récap chez Microsoft
Activation

Entra Kerberos

C’est une authentification directement auprès d’Entra, uniquement pour les utilisteurs hybrides (synchronisés depuis un DC local).
L’accès peut se faire sans besoin de connexion au DC (sauf pour régler les droits d’accès, là une connexion au DC sera nécessaire).
Les postes clients doivent être Entra-joined ou Entra-hybrid-joined ; pas ok si joints à Entra DS ou si joints uniquement à un AD local.

Détails sur mon memo

Migration des données

https://learn.microsoft.com/fr-fr/azure/storage/files/storage-files-migration-overview

Plusieurs méthodes possibles ; par exemple :

  • simplement avec robocopy d’un lecteur à l’autre
  • avec Azure Storage Mover
  • avec Azure Files Sync

Azure Files Sync

Pour synchroniser un serveur local avec un partage Azure Files Sync
https://learn.microsoft.com/en-us/azure/storage/file-sync/file-sync-planning

Possible de faire de la synchro simple.
Possible aussi de donner au server local un rôle de cache, les clients s’adressant à lui et lui échangeant avec Azure.

Azure Storage Mover

https://learn.microsoft.com/en-us/azure/storage-mover/service-overview

Capable de gérer des gros volumes de données.
Transfère les metadonnées.

Requiert la création sur Azure d’une ressource Azure Storage Mover
Requiert ensuite la création d’un agent (apparement c’est une VM)

Coût

https://azure.microsoft.com/fr-fr/pricing/details/storage/files/#pricing

Il y’a plusieurs choses distinctes qui sont facturées : stockage utilisé, transactions (lecture/écriture de données), metadonnées, backups, snapshots etc…

Facturation provisionnée (espace pré-payé, qu’il soit utilisé ou non)

Facturation à l’usage pour les modes standard (optimisé pour les transactions, chaud, froid).

Le stockage est de moins en cher quand on descend dans les gammes (optimisé pr transactions -> chaud -> froid)
Les transactions sont de + en + chères quand on descend dans la gamme.

Il est possible de changer le niveau de chacun des partages à tout moment. Ceci entraîne toutefois des transactions donc de la facturation.

Redondance

https://learn.microsoft.com/fr-fr/azure/storage/common/storage-redundancy

LRS : 3 copies dans le même datacenter
ZRS : 1 copie dans chacun de 3 datacenter différents (dans la même région primaire)
GRS : LRS en zone primaire + LRS en zone secondaire
GZRS : ZRS en zone primaire + LRS en zone secondaire

Peut se changer après la création du compte de stockage.

Zones de disponibilité :
https://learn.microsoft.com/fr-fr/azure/reliability/availability-zones-overview?tabs=azure-cli#azure-regions-with-availability-zones

Sauvegarde

https://learn.microsoft.com/en-us/azure/backup/azure-file-share-backup-overview

Vault

Il faut créer un “Recovery Services vault”
https://learn.microsoft.com/en-us/azure/backup/backup-create-recovery-services-vault
Pour ceci, dans le portail Azure, chercher “Business Continuity Center”, et ouvrir Manage -> Vaults.

Backup policy

Il faut ensuite créer une politique de sauvegarde ; consiste en un vault de destination, un type de sauvegarde, une fréquence de sauvegarde et une durée de rétention des sauvegardes. Pour ceci :
https://learn.microsoft.com/en-us/azure/backup/quick-backup-azure-files-vault-tier-portal
Une fois créé, toujours dans “Business Continuity Center”, ouvrir Manage -> Protection Policies puis Create policy -> Create backup policy. Choisir “Azure Files (Azure Storage)” et sélectionner le vault précédemment créé.

Pour une sauvegarde complète, MS recommande de choisir “Vault-Standard” comme niveau de sauvegarde.
Choisir la fréquence de sauvegarde (au + fréquent toutes les 4h, et 6 sauvegardes par jour).

Une fois créée, la politique apparaît dans la liste des “Protection policies”, en tant que politique gérée par Azure. Il faut toutefois s’assurer que la “Datasource type” est bien définie sur “Azure Files (Azure Storage)” pour la voir apparaître.

Activation de la sauvegarde

Aller dans “Business Continuity Center -> Overview” et cliquer sur “+ Configure protection”. Choisir “Azure”, “Azure Files” et “Azure Backup” en solution.
Choisir le vault créé précedemment.
Choisir le compte de stockage contenant les données à sauvegarder. Choisir le ou les partages à inclure dans la sauvegarde. Choisir la stratégie de sauvegarde désirée (celle créée précédemment).

Les différents partages au sein d’un même compte de stockage ne peuvent pas utiliser des vaults différents. On peut ne pas sauvegarder tous les partages d’un compte de stockage, mais ceux sauvegardés le seront tous dans le même vault.

Déclenchement manuel d’une sauvegarde

Aller dans les détails du vault, puis Protected items -> Backups items. Choisir “Azure Storage”.
Choisir le partage à sauvegarder, et ouvrir les détails, puis clic sur “Backup now”.
Les points de sauvegarde déclenchés manuellement ne sont pas soumis à la politique de rétention standard, mais ont une date de validité définie directement lors de la création du backup (par défaut c’est 1 mois).
L’avancement de la sauvegarde peut être suivi dans les notifications.

Restauration

https://learn.microsoft.com/en-us/azure/backup/restore-afs

Changement de Vault pour un compte de stockage

https://learn.microsoft.com/en-us/azure/backup/backup-azure-files-faq

Pour pouvoir changer le vault qui recevra les sauvegardes d’un compte de stockage, il faut d’abord désactiver la protection pour chacun des partages de ce compte, puis désenregistrer le compte de stockage du vault.

Pour stopper la protection, aller dans Business continuity Center -> Protected items. Choisir “Azure Files” en source. Choisir les partages appartenant au compte de stockage concerné. Choisir Stop Backup dans la barre du haut.
La doc MS indique qu’on peut choisir de conserver les données sauvegardées, ou bien de les supprimer ; mais dans mon expérience, il est indispensable de les supprimer pour pouvoir désenregistrer le compte de stockage.

Une fois la protection stoppée, ouvrir le vault actuel, puis aller dans Manage -> Backup infrastructure puis Azure storage accounts -> Storage accounts.
Choisir le compte de stockage à désassocier, clic sur les … à droite puis “Unregister”.

Limites de quantités de sauvegarde

https://learn.microsoft.com/en-us/azure/backup/azure-file-share-support-matrix

Rapport par mail

Business Continuity Center -> Monitoring + Reporting -> Reports

Suppression réversible (Soft delete)

Concerne uniquement la suppression d’un partage (et non de fichiers dans ce partage).
Si activé, lorsqu’un partage est supprimé, il reste “dans la corbeille” pendant un temps (configurable).
Activé au niveau du compte de stockage, pour tous les partages lui appartenant.
Article chez MS

Coût

https://azure.microsoft.com/fr-fr/pricing/details/backup/
Cout de l’espace utilisé par les snapshots (tarification Azure Files) + cout abonnement (~6€/mois)

Disques managés

disques virtuels attachables à une VM azure en tant que disque local
https://azure.microsoft.com/fr-fr/pricing/details/managed-disks/
en HDD, 8To = 300€/mois

Montable sur plusieurs serveurs virtuels ?

18 Dec 2017, 00:00

Notes en vrac sur Azure AD Connect et Office 365

Mise en cohérence des domaines

Dans mon cas, l’AD avait été pis en place il y’a longtemps, le domaine local était du genre domain.oldcompany.com, mais les utilsateurs utilisaient aujourd’hui des adresses mail du genre user@newcompany.fr, et l’abonnement O365 avait pour domaine initial unusedcompany.onmicrosoft.com.

Dans ces conditions, la synchro de l’AD vers Azure donnait des identifiants du type nomprenom@unusedcompany.onmicrosoft.com, ce qui rend tout plus pénible, par exemple la connexion à OWA qui ne marche pas avec d’éventuels alias, mais qu’avec cet identifiant.

Comme le domaine initial ne peut être changé, il faut ajouter et vérifier le domaine newcompany.fr dans la gestion des domaines sur le portail O365, connecté en admin de l’abonnement. Pour le vérifier, il faudra aller mettre une preuve TXT dans la zone DNS.
Il faut ensuite ajouter un nouveau suffixe UPN au domaine (Outils d’administration -> Domaines et approbations Active Directory -> Propriétés -> Suffixes UPN), on ajoutera ici newcompany.fr car c’est l’adresse couramment utilisée par l’entreprise. Il faut ensuite modifier les suffixes UPN des utilisateurs dans les Utilisateurs et Ordinateurs AD, pour les passer de p.nom@domaine.oldcompany.fr à p.nom@newcompany.fr. Il est possible de le faire en PowerSehll, par exemple avec ce script

Ainsi, les utilisateurs auront un seul couple adresse/password pour se connecter à tout (Session sur le domaine, OWA, Portail O365 pour télécharger les logiciels etc).

Préparer l’AD local pour la synchro

Pour synchroniser un Active Directory local avec les services Azure Active Directory, il faut commencer par préparer l’AD local (notamment étendre le schéma AD sur un serveur Windows 2012). Cette page de Microsoft détaille beaucoup plus la précédure.

Il faut récupérer une installation d’Exchange 2013, par exemple sur cette page de chez Microsoft. On la décompresse, on lance cmd puis la commande suivante :
Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

Une fois que le schéma est préparé, on peut identifier les incohérences dans l’annuaire avant de synchroniser avec O365. Pour ça, on utilise l’outil IdFix (DL). Dans le cas où une offre dediée à O365 a été souscrite, il faut aller dans les paramétres et choisir “Dedicated” au lieu de “Multi-tenants”. On clique sur Query, on le laisse chercher, on vérifie puis acccepte les modifications, on fait Apply et on voit ce que ça donne. Si tout va bien, on peut passer à la synchro avec Azure. Si il y’a des problèmes (par exemple attributs non-existants), revérifier que l’AD a bien été préparé tel qu’indiqué sur le tuto de Microsoft.

Mise en oeuvre Azure AD Connect

Télécharger AAD Connect. La dernière version à prendre en charge Windows Server 2012 R2 est la 1.6.16.

Synchronisation du hachage de mot de passe.
Utilisé l’UPN (userPrincipalName) comme nom d’utilisateur AAD.

Powershell

Pour charger le module :
Import-Module ADSync
ou si ça ne fonctionne pas :
Import-Module -Name "C:\Program Files\Microsoft Azure AD Sync\Bin\ADSync" -Verbose

Une fois installé et configuré, il est possible de synchroniser manuellement avec la commande PowerShell :
start-adsyncsynccycle -policytype delta

Vérification de la synchro

Les utilsateurs et groupes doivent apparaître dans le centre d’admin Office.
On peut aussi vérifier explicitement ici :
https://admin.microsoft.com/#/dirsyncmanagement