DataPower API Gateway uniquement

Lambda

Utilisez la politique Lambda pour déclencher directement des fonctions d' AWS Lambda depuis une API sans passer par Amazon Web API Gateway.

Prise en charge des passerelles

Tableau 1. Tableau indiquant les passerelles prenant en charge cette politique, ainsi que la version correspondante de la politique
Passerelle Version de la stratégie
DataPower® API Gateway 1.3.0

Cette rubrique explique comment configurer la stratégie dans l'interface utilisateur de l'assembly; pour plus d'informations sur la configuration de la stratégie dans votre source d' OpenAPI, consultez Lambda.

A propos de

La politique Lambda vous permet de déclencher des fonctions d' AWS Lambda depuis l'assembly d'une API sans avoir à utiliser l' API Gateway d'Amazon. Lorsque vous ajoutez la stratégie à un assemblage d'API, vous pouvez spécifier la fonction Lambda à appeler et fournir des données d'identification pour l'utiliser. Les identifiants peuvent être soit un rôle IAM d' AWS, soit un couple identifiant de clé d'accès/clé d'accès secrète. Vous pouvez télécharger la politique Lambda à partir du pack de correctifs pour les politiques Lambda.

Pour permettre API Connect l'appel d'une fonction Lambda, procédez comme suit :
  1. Configurez l'accès à la fonction Lambda dans AWS comme expliqué dans la section Configuration des droits et de la confiance dans AWS de cette rubrique.
  2. Définissez une stratégie d'API en API Connect utilisant les propriétés de stratégie décrites dans la section Propriétés de cette rubrique.
Remarque :
  • La politique Lambda utilise des points de terminaison VPC pour garantir que la communication entre la passerelle et le service Lambda s'effectue via le réseau privé d' AWS.
  • Pour plus d'informations sur Lambda et pour obtenir des instructions sur l'utilisation des fonctionnalités de Lambda, consultez la documentation « AWS Lambda ».

Configuration des droits d'accès et de la confiance dans AWS

Pour utiliser une politique Lambda, vous devez configurer un rôle dans votre compte AWS, en spécifiant une politique d'autorisations et une relation de confiance, afin de API Connect pouvoir appeler la fonction AWS Lambda. Il existe une option d'authentification lorsque vous utilisez la stratégie « AWS Lambda » :

Utilisez les instructions pour l'option qui correspond le mieux à vos besoins.

ID de clé d'accès / Clé d'accès secrète
Indiquez la paire AWS Access Key ID/AWS Secret Access Key d'un compte avec le droit d'appeler une ou plusieurs fonctions Lambda. Les droits de ce compte doivent être aussi limités que possible ; le compte doit être un compte de service avec aucun autre droit que la possibilité d'appeler une ou plusieurs fonctions Lambda. Pour plus d'informations, consultez la documentation intitulée « Politiques IAM basées sur l'identité pour Lambda ».

Pour utiliser l'option d'authentification par identifiant de clé d'accès/clé d'accès secrète, procédez comme suit pour utiliser le service IAM de votre compte et créer un compte de service IAM doté des autorisations nécessaires afin de permettre une communication limitée avec API Connect:

  1. Connectez-vous à la console de gestion d' AWS, puis ouvrez la console IAM.
  2. Dans la console AWS IAM, cliquez sur Users dans la liste de navigation, puis sur Add users.
  3. A l'invite "Set user details", indiquez un nom d'utilisateur (unique dans votre compte AWS ) et sélectionnez Access key-Programmatic access.

    Vous pouvez sélectionner l'option d'accès « Mot de passe - Console de gestion d' AWS », mais celle-ci n'est pas obligatoire pour interagir avec API Connect.

    Il existe une variété d'options permettant de définir des droits pour le nouveau compte utilisateur. Pour plus d'informations sur l'ajout d'un utilisateur à un groupe d'utilisateurs ou sur l'association directe d'une politique à un utilisateur, consultez le Guide de l'utilisateur de la gestion des identités et des accès d' AWS.

    Une méthode simple de définition des droits utilisateur qui respecte le principe du moindre privilège consiste à créer un utilisateur IAM sans droits, puis à ajouter cet utilisateur à la configuration des droits d'une fonction Lambda spécifique, comme illustré dans les étapes suivantes.

  4. Sur la page "Définir les détails de l'utilisateur", cliquez sur Suivant: Etiquettes sans apporter de modifications au nouveau compte utilisateur.
  5. Créez les balises souhaitées, puis cliquez sur Next: Review.
  6. Passez en revue vos paramètres et cliquez sur Créer un utilisateur.

    Ignorez l'avertissement This user has no permissions car vous affecterez des droits dans les étapes restantes.

  7. Cliquez sur Télécharger .csv pour sauvegarder l' ID de clé d'accès et la clé d'accès secrètedu nouvel utilisateur et les stocker en lieu sûr. Ces valeurs serviront d 'identifiant d'accès (Access Key ID) et de clé secrète d'accès ( AWS ) pour l' AWS lors de la configuration de la politique Lambda de votre API dans API Connect.
  8. Mettez à jour la fonction Lambda pour fournir des droits au nouvel utilisateur:
    1. Dans la console Lambda, ouvrez la page Fonctions .
    2. Sélectionnez la fonction à API Connect exécuter.
    3. Cliquez sur Configuration.
    4. Dans la section Instructions de stratégie basées sur les ressources , cliquez sur Ajouter des droits.
    5. Sélectionnez le compteAWS et ajoutez un ID d'instructionunique.
    6. Définissez Principal sur l'ARN du nouvel utilisateur.

      arn:aws:iam::<AWS_account_ID>:user/<username>, accessible depuis la page Utilisateurs > <nom d'utilisateur>.

    7. Définissez l' Action sur lambda:InvokeFunction.
    8. Cliquez sur Sauvegarder.

    Répétez cette étape pour chaque fonction Lambda appelée par le compte utilisateur.

Propriétés

Le tableau suivant répertorie les propriétés des stratégies, indique si une propriété est nécessaire, définit les valeurs d'entrée et par défaut valides et précise le type de données des valeurs.

Tableau 2. Propriétés de la politique de limitation de débit
Libellé de la propriété Obligatoire Descriptif Type de données
Titre Non Titre de la stratégie. La valeur par défaut est lambda. chaîne
Description Non Description de la stratégie. chaîne
ID de clé d'accès AWS Oui AWS Les clés d'accès sont des données d'identification à long terme pour un utilisateur AWS IAM. Obligatoire si AWS Assume Role ARN n'est pas fourni à la place.

Pour des instructions sur la création de la paire de clés d'accès dans AWS, voir ID de clé d'accès/clé d'accès secrète dans cette rubrique.

chaîne
Clé d'accès secrète AWS Oui Clé d'accès secrète qui correspond à l' ID de clé d'accèsAWSspécifié. chaîne
FONCTION Oui Le nom ou l'ARN (Amazon Resource Name) de la fonction d' AWS Lambda s à exécuter, en utilisant l'un des formats suivants :
  • Nom de la fonction ; par exemple: my-function
  • Fonction ARN ; par exemple: arn:aws:lambda:us-east-a:123456789012:function:my-function
  • ARN partiel- 123456789012:function:my-function

Pour plus d'informations, consultez la section FunctionName correspondante dans le Guide du développeur d' AWS Lambda.

chaîne
RÉGION Oui Région AWS dans laquelle la fonction Lambda est hébergée. chaîne
Qualificateur Non Alias ou version de la fonction Lambda que vous souhaitez exécuter.

Pour plus d'informations, consultez la section Qualifier correspondante dans le Guide du développeur d' AWS Lambda.

chaîne