Azure Functions
Les fonctions Azure permettent d'utiliser la technologie sans-serveur pour déployer facilement des applications sans-état. Elles peuvent être déclenchées par l'intermédiaire de différents types de déclencheurs; comme une requête HTTP, une modification de données dans un conteneur, ou encore un message.
Les fonctions sont associées à un Plan de Service, qui détermine les capacités techniques du système. Le code de la fonction sera lui même déployé dans un compte de stockage Azure.
Sécurité d'accès des fonctions
Parlons d’abord des niveaux d’autorisation dans les fonctions Azure. Le premier paramètre de l'attribut HttpTrigger dans la fonction Azure est le type d'autorisation requis pour appeler la fonction.
AuthorizationLevel est une énumération et peut prendre les valeurs suivantes.
- Anonyme : aucune authentification requise
- Fonction : Autorisation au niveau de la fonction
- Utilisateur : autorisation au niveau de l'utilisateur
- Système : Autorisation au niveau de l'application de fonction
- Administrateur : autorisation d'administrateur.
L’application de fonction Azure peut héberger plusieurs fonctions. La fonction de déclenchement HTTP en fait partie.
Clés Hôte
Lorsque nous créons une application de fonction Azure, elle crée automatiquement deux clés d'application, default et _master. C'est ce qu'on appelle des clés d'hôte. Les clés hôte sont applicables à toutes les fonctions de l’application de fonction et peuvent être utilisées pour appeler toutes les fonctions de l’application de fonction.Clés de Fonction
Toute fonction Azure (sans AuthorizationLevel.Anonymous) que vous ajoutez dans l'application de fonction générera une clé de fonction nommée par défaut, valable uniquement pour cette fonction particulière.Elles peuvent être déployées facilement via AzureDevOps et la tache AzureFunctionApp@1.
KeyVault
Using User Assigned identity for keyvault references.
AppSettings
"keyVaultReferenceIdentity" = azurerm_user_assigned_identity.grace_id.id
Terraform Property
// identity for KV access
key_vault_reference_identity_id = azurerm_user_assigned_identity.grace_id.id
Ressources
- https://learn.microsoft.com/en-us/azure/azure-functions/function-keys-how-to
- https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger
- https://learn.microsoft.com/fr-fr/azure/app-service/app-service-key-vault-references
- https://learn.microsoft.com/en-us/azure/app-service/app-service-key-vault-references?tabs=azure-cli#access-vaults-with-a-user-assigned-identity
Commentaires
Enregistrer un commentaire