Le blog technique

Toutes les astuces #tech des collaborateurs de PI Services.

#openblogPI

Retrouvez les articles à la une

Azure – Privileged Identity Management

Privileged Identity Management

Privileged Identiy Mangement (PIM) une une fonctionnalité de Microsoft Azure qui permet de déléguer des droits et des ressources dans Azure, Office 365 et Intune.

Mise en place

Prérequis

Pour mettre en place PIM il est indispensable d’avoir sur les comptes qui l’utiliseront :

  • Une license Enterprise Mobility + Security (EMS) E5 ou à minima une license Azure AD Premium P2
  • Le MFA activé

2019-02-26_163601

Par défaut, PIM n’est pas actif dans Azure. Pour l’activer, il faut se rendre sur le portail Azure (https://portal.azure.com) avec des droits d' »administrateur global » et rechercher Privileged Identity Management.

Une page nous invite à vérifier notre identité via le MFA.

2019-02-26_113903

Une fois la vérification d’identité effectuée il est possible d’activer la fonctionnalité.

2019-02-26_114134

Quelques instants après le service est disponible.

2019-02-26_114203

Il est ensuite nécessaire de se déconnecter / reconnecter du portail Azure.

2019-02-26_114253

Configuration des rôles

Depuis PIM, dans la section Manage puis Roles, il existe par défaut une quarantaine de rôle que l’on peut modifier.

2019-02-26_114442

Dans cet article, je vais modifier le rôle Exchange Administrator pour qu’il soit actif durant 3H et qu’il nécessite une validation (par défaut le rôle est en auto-validation pour une durée d’une heure). Les utilisateurs Adminstrator et Megan auront le pouvoir d’accepter ou non la demande d’accès au rôle.

Pour ça, dans PIM, dans la section Manage puis Settings, je sélectionne Roles.

2019-02-26_165956

Je sélectionne le rôle Exchange Administrator et je change les paramètres.

2019-02-26_160256

Je peux ensuite depuis PIM, dans la section Manage puis Roles ajouter un utilisateur à mon rôle.

2019-02-26_160402

2019-02-26_160418

Obtention du rôle

Une fois le rôle ajouté sur l’utilisateur, celui-ci reçoit un mail pour le prévenir.

2019-02-26_161344

Depuis le lien présent dans le mail il est alors possible de faire la demande pour activer le rôle.

2019-02-26_160440

Une vérification d’identité via MFA est nécessaire à cette étape également.

2019-02-26_160451

Une fois l’identité confirmée, il est possible de demander l’activation du rôle.

2019-02-26_160641

Je peux réduire le temps d’activation du droit (de 30 minutes à 3h) et je dois indiquer un message pour obtenir les droits.

2019-02-26_160739

Une fois la demande effectuée, il ne reste plus qu’à attendre la validation par un administrateur.

2019-02-26_160822

Les administrateurs reçoivent un mail indiquant qu’une demande d’activation de rôle est en attente.

2019-02-26_161426

Depuis le lien présent dans le mail, il est possible d’accepter ou de refuser la demande.

2019-02-26_160841

Un message est obligatoire pour approuvé la demande.

2019-02-26_160907

L’utilisateur reçoit alors un mail lui indiquant qu’il dispose des droits d’administration.

2019-02-26_161353

Depuis le portail PIM l’utilisateur peut voir ses droits en cours et passés.

2019-02-26_161022

Il a également accès à la tuile Admin et bien évidement à la page d’administration d’Exchange dans notre cas.

2019-02-26_161144

2019-02-26_161635

Log

L’ensemble des droits demandées, validées et refusées est loggé dans PIM, section Activity puis Directory roles audit history.

2019-02-26_160953

Les administrateurs ont également le mail prouvant la validation au rôle.

2019-02-26_161436

Voila qui conclut ce billet sur PIM !

Azure : La valse des CLI … (Partie 2)

Bonjour à tous !

Dans cette seconde partie, nous allons voir quels sont les outils cross-platformes en ligne de commande étant à notre disposition afin de gérer la plateforme Microsoft Azure.

PowerShell 6

Cette version de PowerShell est une petite révolution dans le monde Microsoft, car elle est construite autour de .NET Core (au lieu de .NET Framework) ce qui lui permet d’être nativement cross-platforme. Appelée quelque peu abusivement PowerShell 6, il vaudrait mieux parler de PowerShell Core 6 pour être exact.

La dernière version stable en date est la version 6.1 (Janvier 2019).

Compatibilité (en Janvier 2019)

Pour Windows :

  • Windows 7 SP1, 8.1 et 10
  • Windows Server 2008 R2, 2012, 2012 R2, 2016, 2019

Pour Linux :

  • Ubuntu 18.04
  • Debian 8.7+ et Debian 9
  • CentOS 7
  • RHEL 7
  • OpenSuse 42.3
  • Fedora 27, 28

Pour MacOS :

  • macOS 10.12+

Les avantages

  • Compatibilité cross-plateforme native
  • Performances accrues comparées à Windows PowerShell 5.1
  • Peut coexister à coté de Windows PowerShell 5.1 (Exécutable powershell.exe pour la version 5.1 et pwsh.exe pour la version 6)
  • S’installe rapidement et facilement (Package MSI sous Windows ou ZIP sous Mac/Linux)
  • Sera utilisée pour toutes les futures évolutions de PowerShell (au contraire de la version 5.1 qui restera figée au niveau des nouvelles fonctionnalités)
  • La version 6.1 apporte un module de compatibilité (Microsoft.Windows.Compatibility) permettant d’utiliser certaines fonctionnalités de PowerShell 5.1 pas encore portées sous PowerShell Core.

Les inconvénients

  • Ne reprends pas encore 100% des fontionnalités de Windows PowerShell 5.1
  • N’est pas encore installée par défaut sous aucun OS (même Windows)
  • Cycle de vie réduit (Doit être mis à jour dans les six mois de la sortie d’une branche 6.X pour être supportée)

Installation des modules Azure

Une fois PowerShell Core 6 installé sur votre OS, l’installation des modules PowerShell Azure se déroule de la même manière qu’avec PowerShell 5.1. Par exemple, pour installer le module Az, vous pouvez toujours utiliser la commande suivante :

Install-Module -Name Az -AllowClobber

Les commandes des modules restent également les mêmes.

Azure CLI

Comme vu précédemment, PowerShell Core 6 a permis d’apporter une solution de gestion d’Azure cross-plateforme à base de PowerShell. Microsoft a décidé d’aller encore plus loin avec Azure CLI, en conservant toujours une approche cross-plateforme mais cette fois en pouvant s’affranchir complètement de PowerShell.

Azure CLI représente un environnement complet en ligne de commande permettant de gérer des ressources Azure. Je vais détailler ci-après les principales différences par rapport aux outils PowerShell existant :

  • Environnement complet écrit en Python. Concrètement, vous pouvez le lancer à partir d’une invite de commande Cmd Windows ou d’une console Bash ou d’un Terminal Mac, c’est un CLI dans un CLI.
  • Les commandes de gestion s’affranchissent de la logique PowerShell VerbAzNoun. Elles sont de la forme az resource action –options

Azure CLI 1.0 (ASM + ARM)

Azure CLI 1.0 / Azure Xplat CLI ou connue également sous le nom de Azure CLI Classic a été la première itération de Azure CLI et sera abandonée par Microsoft à terme.

Contrairement à sa version 2.0, elle n’est pas écrite avec une base Python mais avec une base NodeJS.

Le seul intérêt de son utilisation réside aujourd’hui en sa capacité à pouvoir gérer des ressources Azure de type Classic (ou ASM pour les intimes).

Il existe actuellement trois méthodes d’installation :

  • Installation à partir d’un package NPM (Version 4.0 min recommandée pour Node JS)
npm install -g azure-cli
  •  Installation à partir d’un programme d’installation MSI (Windows) TAR (Linux) ou DMG (Mac)

Sources

  • Déploiement d’un conteneur Docker (La version 0.10.17 est la dernière supportant Azure CLI Classic pour Docker)
docker run -it microsoft/azure-cli:0.10.17

Une fois Azure CLI Classic installé, vous pouvez utiliser le même type de commande que pour Azure CLI 2.0, elles sont de la forme azure resource action –options (az est donc remplacé par azure). Voici un exemple :

<pre class="wp-block-syntaxhighlighter-code">azure vm create [options] <resource-group> <name> <location> -y "Windows"</pre>

Bien que nous vous conseillons fortement l’utilisation d’Azure CLI 2.0 pour gérer des ressources Azure de type ARM, vous pouvez les gérer depuis Azure CLI 1.0 avec la commande suivante :

azure config mode arm

Pour retourner en mode ASM, vous pouvez taper la commande suivante :

azure config mode asm

Il est à noter que vous ne pouvez gérer qu’un seul type de ressource (ASM ou ARM) suivant le mode que vous activez.

Azure CLI 2.0 (ARM only)

Azure CLI 2.0 ou connue également sous le nom de Azure CLI tout court est la deuxième itération de Azure CLI qui est désormais basée sur Python. Il est important de noter qu’elle ne permet de gérer que des ressources de type ARM.

4 méthodes de déploiement sont disponibles :

  • Installation à partir d’un programme d’installation MSI (Windows)

Source et Procédure

  • Installation à partir de Homebrew (Mac)

Procédure

  • Installation à partir d’un repository ou manuellement (Linux)

Via Apt Via Yum Via Zypper Manuellement

  • Déploiement d’un conteneur Docker
docker run -it microsoft/azure-cli

Une fois Azure CLI installée, vous pouvez utiliser des commandes de la forme az resource action –options. Voici un exemple :

<pre class="wp-block-syntaxhighlighter-code">az vm create [options] <resource-group> <name> <location> -y "Windows"</pre>

La liste complète des commandes est disponible ici : Azure CLI ARM commands

Il est à noter que cette version d’Azure CLI dispose également d’un mode Interactif facilitant la prise en main de l’interfaçe avec une saisie semi-automatique, des exemples et des descriptions de commande. Pour l’activer, vous pouvez utiliser la commande suivante :

az interactive

Azure Cloud Shell

Le petit dernier dans la liste des outils pour administrer Azure en ligne de commande est Azure Cloud Shell, et c’est celui que je vous recommanderai s’il fallait en choisir un parmis ceux présentés précédemment.

Azure Cloud Shell est une interfaçe en ligne de commande vous permettant d’administrer votre plateforme Azure directement depuis un navigateur web ou même depuis une application mobile (Azure Mobile App). Elle est accéssible depuis le portail d’administration Azure (https://portal.azure.com) ou directement à l’URL suivante : https://shell.azure.com/.

Voici ses principales caractéristiques et avantages :

  • Uniquement basée sur un navigateur web (plus de dépendances à installer ni de RSSI à soudoyer pour ouvrir des flux)
  • Offre un CLI complet basé sur Bash ou PowerShell Core 6 et toujours à jour
  • Est déjà fournie avec tous les outils existants en ligne de commande permettant de gérer Azure (modules PowerShell AzureRM, Azure et Az, ainsi que les CLI Azure CLI Classic et Azure CLI (2.0))
  • Possibilité d’envois de scripts/fichiers pour de la persistance de données via un partage Azure Files
  • Persistance du $HOME (que ce soit avec Bash/PowerShell) (taille de l’image de base 5 GB)
  • Possibilité d’éditer des fichiers présents sur le partage de fichiers via l’éditeur Monaco (commande code)
  • La liste des fonctionnalités complète se trouve ici : https://docs.microsoft.com/fr-fr/azure/cloud-shell/features#tools

Il faut cependant faire attention aux points suivants :

  • L’environnement CLI n’est pas persistant (mais le stockage et le $HOME oui)
  • Toute session se ferme au bout de 20 minutes d’inactivité
  • Le partage Azure Files utilisé pour la persistance est payant (Tarif standard d’un compte de stockage Azure)

Voilà pour ce tour d’horizon des différents outils utilisable pour gérer la plateforme Azure en ligne de commande.

Azure – Introduction à Azure Information Protection

Azure Information Protection c’est quoi ?

Azure Information Protection abrégé en AIP est une solution disponible dans Azure qui permet de classifier et de protéger des documents / e-mails.

Une fois le document / e-mail classifié il est possible de voir et de contrôler comment celui-ci est utilisé. Par exemple, il est possible d’interdire l’édition du document ou le transfert d’un mail.

Comment ça marche ?

Prérequis

AIP est présent dans les licences Office 365 à partir de la licence E3 avec comme fonctionnalités :

  • Licence E3 et + : Classification et protection des documents / e-mails par défaut et automatiques (géré par l’administrateur)
  • Licence EMS, AIP Plan 1 : Classification et protection des documents / e-mails par défaut, automatiques et manuels
  • Licence EMS, AIP Plan 2 : Prise en compte du chiffrement via HYOK (Hold your own key, chiffrement à partir d’une clé isolée du cloud afin d’augmenter la sécurité)

Le détail de l’ensemble des fonctionnalités est disponible au lien suivant https://azure.microsoft.com/en-us/pricing/details/information-protection/.

2019-01-03_145308

Mise en place

Depuis le portail Azure, rechercher Azure Information Protection.

2019-01-03_145421

 Labels

Par défaut la page d’administration d’AIP s’ouvre sur les Labels de classification. Il en existe 5 par défaut : Personnel, Public, Général, Confidentiel, Hautement Confidentiel.

2019-01-03_145450

A la création d’un label, il est possible de proteger le document. Le chiffrement s’effectue alors via une clé dans Azure ou via une clé de type HYOK.

2019-01-03_152720

Il est ensuite possible d’ajouter des permissions sur le label.

2019-01-03_145858

Policy

Une fois le label créé, il est nécessaire de créer une politique et de l’appliquée sur les utilisateurs.

2019-01-03_153007

Résultats

Il est possible d’installer sur les postes de travail le client AIP (https://www.microsoft.com/en-us/download/details.aspx?id=53018) afin d’avoir un bouton Protéger dans Outlook, Word, Excel…

En sélectionnant dans Protéger le label, un message apparaît pour informer que le mail intègre la protection.

2019-01-10_141548