Installazione di Guard come AWS Lambda funzione - AWS CloudFormation Guard

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Installazione di Guard come AWS Lambda funzione

È possibile eseguire AWS CloudFormation Guard l'installazione tramite Cargo, il gestore di pacchetti Rust. Guard as an AWS Lambda function (cfn-guard-lambda) è un wrapper leggero per Guard (cfn-guard) che può essere usato come funzione Lambda.

Prerequisiti

Prima di poter installare Guard come funzione Lambda, è necessario soddisfare i seguenti prerequisiti:

Installa il gestore di pacchetti Rust

Cargo è il gestore di pacchetti Rust. Completa i seguenti passaggi per installare Rust, che include Cargo.

  1. Esegui il seguente comando da un terminale, quindi segui le istruzioni sullo schermo per installare Rust.

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    1. (Facoltativo) Per gli ambienti Ubuntu, esegui il seguente comando.

      sudo apt-get update; sudo apt install build-essential
  2. Configura la variabile di PATH ambiente ed esegui il comando seguente.

    source $HOME/.cargo/env

Installa Guard come funzione Lambda (Linux, macOS o Unix)

Per installare Guard come funzione Lambda, completa i seguenti passaggi.

  1. Dal tuo terminale di comando, esegui il comando seguente.

    cargo install cfn-guard-lambda
    1. (Facoltativo) Per confermare l'installazione di Guard come funzione Lambda, esegui il comando seguente.

      cfn-guard-lambda --version

      Questo comando restituisce il seguente output.

      cfn-guard-lambda 3.0.0
  2. Per installare il musl supporto, esegui il comando seguente.

    rustup target add x86_64-unknown-linux-musl
  3. Crea conmusl, quindi esegui il comando seguente nel tuo terminale.

    cargo build --release --target x86_64-unknown-linux-musl

    Per un runtime personalizzato, AWS Lambda richiede un eseguibile con il nome bootstrap nel file.zip del pacchetto di distribuzione. Rinomina l'cfn-lambdaeseguibile generato in bootstrap e aggiungilo all'archivio.zip.

    1. Per gli ambienti macOS, crea il tuo file di configurazione cargo nella radice del progetto Rust o in. ~/.cargo/config

      [target.x86_64-unknown-linux-musl] linker = "x86_64-linux-musl-gcc"
  4. Passa alla directory cfn-guard-lambda principale.

    cd ~/.cargo/bin/cfn-guard-lambda
  5. Esegui il seguente comando nel tuo terminale.

    cp ./../target/x86_64-unknown-linux-musl/release/cfn-guard-lambda ./bootstrap && zip lambda.zip bootstrap && rm bootstrap
  6. Esegui il comando seguente per inviarlo cfn-guard come funzione Lambda al tuo account.

    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

Per creare ed eseguire Guard come funzione Lambda

Per richiamare l'invio cfn-guard-lambda come funzione Lambda, esegui il comando seguente.

aws lambda invoke --function-name cfnGuard \ --payload '{"data":"input data","rules":["rule1","rule2"]}' \ output.json

Per chiamare la struttura della richiesta della funzione Lambda

Richieste per cfn-guard-lambda richiedere i seguenti campi:

  • data— La versione in formato stringa del JSON modello YAML or

  • rules— La versione in formato stringa del file del set di regole