Lambda
Utilisez la stratégie Lambda pour déclencher directement les fonctions AWS Lambda à partir de l'API sans utiliser Amazon API Gateway.
Prise en charge des passerelles
| 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'assemblage. Pour plus de détails sur la configuration de la stratégie dans votre source OpenAPI , voir Lambda.
A propos de
La politique Lambda vous permet de déclencher des fonctions Lambda AWS à partir de l'assemblage d'une API sans avoir à utiliser l'application Amazon API Gateway. 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 informations d'identification peuvent être soit un rôle IAM AWS, soit une paire ID de clé d'accès/clé d'accès secrète. Vous pouvez télécharger la politique lambda à partir de Lambda policy fix pack.
- 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.
- Définissez une politique d'API dans API Connect en utilisant les propriétés de la politique dans la section Propriétés de cette rubrique.
- La politique Lambda utilise des points d'extrémité VPC pour garantir que la communication entre la passerelle et le service Lambda passe par le réseau fédérateur privé d'AWS.
- Pour obtenir des informations sur Lambda et des instructions sur l'utilisation des fonctionnalités Lambda, consultez la documentation Lambda à l'adresse AWS.
Configuration des droits d'accès et de la confiance dans AWS
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 sur les politiques IAM basées sur l'identité pour Lambda.
Pour utiliser l'option d'authentification ID de clé d'accès/clé d'accès secrète, suivez les étapes suivantes pour utiliser le service IAM de votre compte et créer un compte de service IAM avec les autorisations appropriées pour faciliter une communication limitée avec API Connect :
- Connectez-vous à la console de gestion AWS et ouvrez la console IAM.
- Dans la console AWS IAM, cliquez sur Users dans la liste de navigation, puis sur Add users.
- 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 Mot de passe - AWS Accès à la console de gestion, mais elle n'est pas requise pour l'interaction avec API Connect.
Il existe une variété d'options permettant de définir des droits pour le nouveau compte utilisateur. Consultez le Guide de l'utilisateur deAWS Identity and Access Management pour plus d'informations sur l'ajout de l'utilisateur à un groupe d'utilisateurs ou sur l'attachement d'une politique directement à l'utilisateur.
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.
- Sur la page "Définir les détails de l'utilisateur", cliquez sur Suivant: Etiquettes sans apporter de modifications au nouveau compte utilisateur.
- Créez les balises souhaitées, puis cliquez sur Next: Review.
- Passez en revue vos paramètres et cliquez sur Créer un utilisateur.
Ignorez l'avertissement
This user has no permissionscar vous affecterez des droits dans les étapes restantes. - 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 seront utilisées comme AWS ID de la clé d'accès et AWS Clé d'accès secrète lors de la configuration de la politique Lambda de votre API dans API Connect.
- Mettez à jour la fonction Lambda pour fournir des droits au nouvel utilisateur:
- Dans la console Lambda, ouvrez la page Fonctions .
- Sélectionnez la fonction que API Connect invoquera.
- Cliquez sur Configuration.
- Dans la section Instructions de stratégie basées sur les ressources , cliquez sur Ajouter des droits.
- Sélectionnez le compteAWS et ajoutez un ID d'instructionunique.
- Définissez Principal sur l'ARN du nouvel utilisateur.
arn:aws:iam::<AWS_account_ID>:user/<username>, available on the page. - Définissez l' Action sur
lambda:InvokeFunction. - 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.
| 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 | Nom ou nom de ressource Amazon (ARN) de la fonction AWS Lambda à exécuter, à l'aide de l'un des formats suivants:
Pour plus d'informations, voir |
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, voir |
chaîne |