[ #Office 365 ] What is Fort Knox ? / Qu’est ce que Fort Knox ?
In a few words, it’s a new way SharePoint (in Office 365 only at this time) is storing blobs directly to Microsoft Azure. | En quelques mots, c’est une nouvelle manière qu’a SharePoint de stocker (dans Office 365 uniquement pour l’instant) les BLOB directement dans Microsoft Azure. |
The above schema shows that’s it’s an evolutionary step beyond RBS which allow to save BLOB outside Content Databases. Fort Knox allows to save BLOBs directly in Microsoft Azure and to benefit from any innovation available in the storage part of Azure. Fort Knox was designed to handle the massive gross capacity seen on OneDrive deployment.
| Le schéma ci-dessus montre qu’il s’agit d’une évolution de RBS qui permet d’externaliser le stockage des BLOB en dehors des bases de contenus. Fort Knox permet de sauvegarder les BLOB directement dans Microsoft Azure et de profiter des fonctionnalités innovantes disponibles au niveau du stockage dans Azure. Fort Knox a été conçu pour faire face à l’augmentation de capacité massive constatée dans les déploiements OneDrive. |
 |  |
RBS and Fort Knox are very similar but present key differences both from a security level but also from how the storage works. This allows to go beyond standard limits encountered with RBS today. | RBS et Fort Knox présentent des similarités mais aussi des différences clés en termes de sécurité et aussi d’implémentation. Ces améliorations permettent d’aller au-delà des limites rencontrées avec RBS. |
With RBS, all demands coming from WFE are handled by the SQL Server at the content database level. So even if BLOB storage is externalized, the load is not really removed from the SQL server. | Avec RBS toutes les demandes venant des frontaux sont traitées par le serveur SQL au niveau de la base de contenu. Ainsi bien que le stockage des BLOB soit externalisé, la charge de gestion n’est pas vraiment diminué sur le serveur SQL. |
With Fort Knox, all demands coming from WFE are handled by the SQL Server at the content databse level, but this is only to get the location of BLOB in Windows Azure. Then the WFE goes directly to Azure which allow a much better scalability than with RBS. | Avec Fort Knox les demandes venant des frontaux arrivent bien au niveau de la base de contenu pour retrouver la localisation des BLOB mais ensuite le frontal va directement chercher les données dans le stockage Azure. Cela permet d’avoir une bien meilleure scalabilité qu’avec RBS. |
The other great difference between RBS and Fort Knox (hence the name) is about security. 1°) Each document (and BLOB) is splitted in several fragments. Each fragment is encrypted (with AES 256 bits encryption) with its own unique key. Each is stored on separated Azure containers. Theses Azure containers are generated on demand (this is from where infinite scale is coming). There is one key store per environment (farm) where keys for Azure containers are stored. Each fragment is stored on one container. And 2°) The master key for the environment is then used to crypt the keys used to crypt the document shreds. 3°) This is stored in the content DB.
| L’autre grande différence entre RBS et Fort Knox (d’où le nom) est la sécurité. 1°) Chaque document (et BLOB) est géré en plusieurs fragments. Chaque fragment est chiffré (avec un chiffrement AES en 256 bits) avec sa propre clé unique. Chacun est stocké dans des containeurs Azure distincts. Ces containeurs sont générés à la demande (d’où vient la notion de stockage infini). Il y a un entrepôt de stockage des clés par environnement (ferme) où sont stockées les clés des conteneurs Azure. Chaque fragment est stocké dans un conteneur. 2°) La clé maîtresse de l’environnement est alors utilisée pour chiffrer les clés utilisées pour chiffrer les fragments. 3°) Le résultat est stocké dans la base de contenu. |
So we have 3 elements : o a content db which know where the shreds are and has the keys to read them. It needs the master key to be able to read them. o the key store with the master key but which don’t know where things are. o an Azure environment with a massive number of shreds, with no ability to read them or reconstruct the documents. | Aussi nous avons 3 éléments : o une base de contenu qui sait où les morceaux de fichiers sont stockés et qui a les clés pour les lire. Mais elle a besoin de la clé maîtresse pour les lire effectivement. o l’entrepôt des clés qui stocke la clé maîtresse, mais ne sait pas où sont stockées les éléments. o un environnement Azure avec un très grand nombre de fragments de fichiers et avec aucune possibilité de les lire ou de reconstruire les documents. |
So a pirate who would gain access to one of the three environnements would not be able to get access to the data. And as a supplementary protection, these keys are regenerated every day ! | Ainsi un pirate qui arriverait à rentrer dans l’un des environnements ne serait pas en mesure de violer la sécurité. Enfin mesure de sécurité supplémentaire, ces clés sont régénérées chaque jour. |
Almost all this information is coming from SPC364 session (Give users all the storage they want without going broke) by Zach Rosenfield. The details on Fort Knox is beginning at 23’ of the recording and slide 15. Other informations are coming from SPC279 Secure, Reliable and Evergreen Service at Massive Scale: Lessons learned from Running SharePoint Online by Ben Canning | La plupart de ces informations sont extraites de la session SPC364 (Donner aux utilisateurs tout le stockage qu’ils souhaitent sans succomber) par Zach Rosenfield. Les détails sur Fort Knox commencent à la minute 23 et au slide 15. D’autres informations viennent de la session SPC279 Un service sécurisé, fiable et toujours à jour; leçons apprises de SharePoint Online par Ben Canning |
Last but not least using Azure storage allow to benefit from very interesting and cost effective features. We should mention erasure coding which is a very efficient way to provide redundancy to storage. It provides the equivalent of 3 local copies by using only 1,33 the intitial storage space. For more details on this you can have a look here : Erasure Coding in Windows Azure Storage | Enfin, utiliser le stockage Azure permet de profiter de fonctionnalités très intéressantes et permettant de faire des economies. On doit mentionner à ce sujet le codage d’effacement qui est un moyen très efficace de fournir de la redondance de stockage. Il fournit l’équivalent de 3 copies locales en utilisant seulement 1,33 l’espace de stockage intial. Pour plus de détails, vous pouvez lire cet article de recherche : Erasure Coding in Windows Azure Storage |
One last question that may arise is to know whether or not this new feature will be made available one day on SharePoint On prem version. I didn’t find any hint on this. | Une dernière question que l’on peut se poser est de savoir si cette nouvelle fonctionnalité sera un jour disponible sur la version à installer localement de SharePoint. Je n’ai trouvé aucune information à ce sujet. |
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :