Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Installation de Guard en tant que AWS Lambda fonction
Vous pouvez l'installer AWS CloudFormation Guard via Cargo, le gestionnaire de paquets de Rust. Guard as an AWS Lambda function (cfn-guard-lambda
) est une enveloppe légère autour de Guard (cfn-guard
) qui peut être utilisée comme fonction Lambda.
Prérequis
Avant de pouvoir installer Guard en tant que fonction Lambda, vous devez remplir les conditions préalables suivantes :
-
AWS Command Line Interface (AWS CLI) configuré avec les autorisations nécessaires pour déployer et invoquer des fonctions Lambda. Pour plus d’informations, consultez Configuration de l’ AWS CLI.
-
Un rôle AWS Lambda d'exécution dans AWS Identity and Access Management (IAM). Pour plus d'informations, consultez la section rôle AWS Lambda d'exécution.
-
Dans les RHEL environnements CentOS/, ajoutez le référentiel de
musl-libc
packages à votre configuration yum. Pour plus d'informations, consultez ngompa/musl-libc.
Installez le gestionnaire de paquets Rust
Cargo est le gestionnaire de paquets de Rust. Procédez comme suit pour installer Rust, qui inclut Cargo.
-
Exécutez la commande suivante depuis un terminal, puis suivez les instructions à l'écran pour installer Rust.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
(Facultatif) Pour les environnements Ubuntu, exécutez la commande suivante.
sudo apt-get update; sudo apt install build-essential
-
-
Configurez votre variable d'
PATH
environnement et exécutez la commande suivante.source $HOME/.cargo/env
Installez Guard en tant que fonction Lambda (Linux, macOS ou Unix)
Pour installer Guard en tant que fonction Lambda, procédez comme suit.
-
Depuis votre terminal de commande, exécutez la commande suivante.
cargo install cfn-guard-lambda
-
(Facultatif) Pour confirmer l'installation de Guard en tant que fonction Lambda, exécutez la commande suivante.
cfn-guard-lambda --version
La commande renvoie le résultat suivant.
cfn-guard-lambda 3.0.0
-
-
Pour installer
musl
le support, exécutez la commande suivante.rustup target add x86_64-unknown-linux-musl
-
Compilez avec
musl
, puis exécutez la commande suivante dans votre terminal.cargo build --release --target x86_64-unknown-linux-musl
Pour un environnement d'exécution personnalisé, AWS Lambda nécessite un exécutable dont le nom figure
bootstrap
dans le fichier .zip du package de déploiement. Renommez l'cfn-lambda
exécutable généré en,bootstrap
puis ajoutez-le à l'archive .zip.-
Pour les environnements macOS, créez votre fichier de configuration de chargement à la racine du projet Rust ou dans
~/.cargo/config
.[target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
-
-
Accédez au répertoire
cfn-guard-lambda
racine.cd ~/.cargo/bin/cfn-guard-lambda
-
Exécutez la commande suivante dans votre terminal.
cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap
-
Exécutez la commande suivante pour l'envoyer
cfn-guard
en tant que fonction Lambda à votre compte.aws lambda create-function --function-name
cfnGuard
\ --handler guard.handler \ --zip-file fileb://./lambda.zip \ --runtime provided \ --role arn:aws:iam::444455556666
:role/your_lambda_execution_role \ --environment Variables={RUST_BACKTRACE=1} \ --tracing-config Mode=Active
Pour créer et exécuter Guard en tant que fonction Lambda
Pour appeler la fonction soumise cfn-guard-lambda
en tant que fonction Lambda, exécutez la commande suivante.
aws lambda invoke --function-name
cfnGuard
\ --payload '{"data":"input data
","rules":["rule1
","rule2
"]}' \ output.json
Pour appeler la structure de demande de la fonction Lambda
Demandes visant à cfn-guard-lambda
exiger les champs suivants :
-
data
— La version sous forme de chaîne du JSON modèle YAML or -
rules
— La version sous forme de chaîne du fichier d'ensemble de règles