Introduction
Pour rappel, les fonctionnalités proposées par Jint dans SharePoint sont déployées dans vos tenants et/ou sites en déployant des packages (contenant des WebParts et l'Expérience Unifiée).
Ce déploiement est entièrement automatisé côté Jint. Pour cela, nous appelons des API SharePoint.
Les modèles de sécurisation des API SharePoint
Il existe actuellement deux principaux modèles de sécurisation des API SharePoint, tous deux se basant sur l'authentification Entra ID. Dans les deux cas, les permissions que nous demandons sont les permissions minimales nous permettant de déployer de nouvelles versions des packages SharePoint (administrateur du (ou des) catalogue(s) d'applications) et vous avez la possibilité de révoquer les accès de Jint.
Compte de service
Historiquement, nous utilisions la connexion via un compte de service. Cela nécessite de votre côté la création d'un utilisateur Entra ID dédié, sans licence Microsoft 365, avec les caractéristiques suivantes, souvent en contradiction avec votre politique de sécurité :
- le mot de passe n'expire pas et est transmis à Jint (il est stocké en tant que secret dans nos variables de déploiement Azure DevOps),
- le MFA doit être désactivé pour ce compte.
AppOnly
Un second mode de connexion est disponible, se basant sur les services principaux d'Entra ID(méthode recommandée par Microsoft). Début 2022, Microsoft a créé un nouveau scope de permission ("Sites.Selected") permettant d'accorder des droits uniquement sur un site SharePoint (auparavant l'accès était accordée pour la collection de site).
L'octroi des permissions se fait en deux étapes :
- Un administrateur Entra ID approuve l'application dans votre tenant (sans aucun droit pour le moment),
- Un administrateur SharePoint accorde les droits FullControl sur votre (ou vos) catalogue(s) d'applications.
La connexion via ce service principal se fait via un certificat généré et stocké dans un Azure Key Vault. Seul notre système de déploiement a un accès en lecture à ce Key Vault, et deux personnes seulement sont habilités à modifier ce paramétrage de notre système de déploiement (sans pour autant avoir accès au certificat).
Cette méthode permet donc une connexion sécurisée, sans créer d'exceptions aux politiques de sécurité.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.