Nouvelles Chroniques d'Amethyste

Penser au Sens, pas au Verbe


Poster un commentaire

Le service Azure Key Vault

Azure Key Vault (AKV) est un service important et sous utilisé à mon avis. Il est à la base d’importants patterns de sécurité dans Azure ou en on premises.

 

AKV est un outil d’outsourcing d’informations sensibles comme les certificats, les mots de passe, les chaînes de connexion… L’idée est de décorréler le code source ainsi que l’équipe de dev et de déploiement de ces informations qui seront gérées par d’autres personnes tout en fournissant un moyen standardisé d’y accéder pour vos applications.

Le service offre donc une gestion centralisée de vos informations sensibles, mais aussi d’en surveiller leur usage et le contrôle. Terminé les mots de passe dans la nature un peu partout!

 

Je vais présenter dans cet article les points essentiels du service. D’autres articles vont suivre pour présenter des cas concrets d’utilisation en particulier Managed Service Identity. Je pense que l’on sera amené de plus en plus souvent à utiliser ce service d’où l’importance de savoir l’utiliser.

Lire la suite

Publicités


Poster un commentaire

Personnaliser le binding en MVC

Regardons cette signature de méthode d’action dans un contrôleur:


public IHttpActionResult Get(string file)

 

La méthode attend un paramètre de type String. On pourrait également avoir quelque chose de plus sophistiqué comme:


public IHttpActionResult Get(Customer customer)

 

Cette fois un objet de type Customer est attendu. La question que l’on peut se poser est de savoir comment fait MVC pour passer des informations venues d’une requête HTTP à un objet C# qui n’a bien sûr rien à voir avec HTTP?

 

La réponse est que dans les coulisses un code s’active pour effectuer cette transformation. Le code en question est un binder, c’est à dire une classe qui implémente IModelBinder.

Bien entendu par défaut Microsoft propose des binders (liaison de données) pour les types usuels et quelques autres cas. Il est donc assez rare d’avoir à implémenter son propre binder.

Je propose de réaliser un exemple simple de binder personnalisé

Lire la suite


Poster un commentaire

La certification 70-535

Je viens de réussir cette certification, je vais donc faire un petit compte rendu pour aider ceux qui la préparent.

 

Il s’agit d’une certification architecture de solutions Azure. Elle demande donc d’avoir une certaine connaissance de tous les services Azure. Il y en a une centaine! On se doute bien que l’on a pas besoin d’une compétence très approfondie.

Ce qui est testé c’est savoir choisir quel service compte tenu de diverses contraintes, leurs rôles, comment ils peuvent s’enchaîner les uns avec les autres…

Je ne pense pas qu’il y ai beaucoup de questions portant sur du code (en tout cas je n’en ai pas eu), mais on doit au moins avoir activé ces services depuis le portail et réussi un ou deux tests ou tutos que l’on trouvera sans peine sur Internet. Evidement des services comme StorSimple ou ExpressRoute ne sont pas à la porté d’un simple compte… Les tutos sont la pour aider et bien entendu la doc proposée par Microsoft.

 

Je n’ai pas eu de CLI ou PowerShell, je doute que l’on en rencontre d’ailleurs. Par contre on doit savoir ce qu’est DSC, ARM et un Runbook. J’ai eu une question avec un script ARM.

 

Premier point important: cette certification remplace la 70-534. Ne pas se tromper de programme donc!

https://www.microsoft.com/fr-fr/learning/exam-70-535.aspx

 

Vous allez rencontrer deux types de questions:

  1. Le QCM classique
  2. L’étude de cas

 

Peu de choses à dire sur le QCM.

L’étude de cas est plus complexe. On a un pavé (plus ou moins gros) détaillant une situation client. Puis 4/5 questions type QCM sur ce thème.

Il faut lire le pavé (décompté sur le temps) et je dirai même le lire deux fois.

Le texte n’est pas toujours très bien organisé, par exemple des infos portants sur la sécurité vont peut être se trouver dans la rubrique « Sécurity » du cas, mais celles utiles pour répondre à la question peuvent se trouver ailleurs!

Donc on lit deux fois et on vérifie avec soin avant de cocher une réponse.

 

Honnêtement on a largement le temps. J’ai disposé de 180 min pour 58 questions et j’ai terminé avec 45 minutes d’avance en relisant tout avec soin. Je suis un angoissé.

Donc pas de stress la dessus, cette certif n’est peut être pas simple à préparer, mais largement abordable.

 

Le vrai problème est la préparation. J’ai mis plusieurs mois, cela dépend de chacun j’imagine. La préparation n’est pas simple car il est clair que l’on utilisera sans doute jamais pas mal des services Azure au vu de leur forte spécialisation, donc pas toujours d’expérience pratique à leur sujet et c’est pourtant ce qui aide le plus dans cette certification.

Je ne la conseillerai donc pas à un utilisateur débutant.

 

Microsoft propose des tests blancs pour se préparer (faire défiler la page dont je donne le lien plus haut). Je le conseille vraiment. Sont fournies les réponses argumentées, mais aussi les explications concernant les réponses incorrectes. C’est très utile.

 

Note: je ne suis tombée sur aucune question présente dans le test blanc!

 

Ca m’a par exemple permis d’identifier ma principale erreur et mettre au point une stratégie: ne pas lire avec attention la question, sauter le petit mot qui change tout.

C’est, comme dans toutes certification, indispensable de commencer par éliminer les réponses manifestement ridicules (rares) et celles hors sujet.

Je conseille vraiment de lire TOUTES les réponses avant de choisir la sienne et pour chacune d’entre elle lister les pour et les contre. C’est la stratégie qui a fonctionnée pour moi et m’a permis de passer d’un score ridicule après 3 mois de révisions à un score me permettant de passer la certif.

C’est cela que m’ont appris les tests à blanc.

 

Bonne chance et bon courage!


Poster un commentaire

Azure Application Gateway

Azure Application Gateway (Passerelle d’Application) est un service Azure qui se place en amont d’un trafic pour assurer diverses fonctions:

  • Déchargement SSL
  • SSL de bout en bout
  • Affinité de session
  • Equilibrage de charge
  • Redirection, en particulier HTTP => HTTPS
  • Routage
  • Pare-feu, application de règles de sécurité (OWASP)

La liste n’est pas exhaustive. L’objet de cet article est de donner les bases et monter un exemple. Pour toute la suite j’utiliserai l’acronyme AAG.

Lire la suite


Poster un commentaire

Les App Service Plan sous Azure

Azure propose un service appelé Azure App Service dont le représentant le plus notable sont les Web Apps. Celui-ci a été lancé en mars 2015.

Le service est en réalité un chapeau pour 4 services Azures que j’appellerai application pour la suite:

  1. Web Apps
  2. Mobile Apps
  3. Logic Apps
  4. Api Apps

 

On s’abonne à un Azure App Service (AAS) en sélectionnant un App Service Plan (ASP). Il s’agit en quelque sorte d’un plan de facturation.

Pour le même abonnement on peut provisionner chacune de ces applications dans les limites de l’ASP choisit.

Je vais justement m’intéresser aux différents ASP disponibles dans cet article.

Lire la suite


Poster un commentaire

Les secrets utilisateurs dans Visual Studio

Un projet utilise fréquemment des infos sensibles comme des chaînes de connexion des login/mot de passe, des email, numéro de téléphone…

Seulement voilà, il y a un moment où on doit pousser le code dans un repository de code, au hasard Github et là vos infos se retrouvent publiquement accessibles.

Alors que faire? Justement Visual Studio propose une solution élégante, mais avec quelques limites.

L’idée est de sauvegarder ses données dans un fichier qui ne fait pas partie du projet, mais en restant facilement accessibles sans écrire de code spécifique.

Lire la suite


Poster un commentaire

Faire survivre une sélection de fichiers à un upload

Vous avez une appli qui ressemble à ceci:

On aperçoit 3 <input type= »file »/>. Disons que la règle métier est que l’on doit obligatoirement fournir TROIS fichiers. Seulement je n’en ai fournit qu’un seul.

Si je clique sur SUBMIT. La validation échoue, je reviens sur la page avec un message d’erreur.

A votre avis la sélection initiale sera t’elle perdue? Si oui, que peut t’on faire pour l’empêcher?

Lire la suite