Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Implementa una ChatOps soluzione per gestire i risultati della scansione SAST utilizzando Amazon Q Developer nelle applicazioni di chat, azioni personalizzate e AWS CloudFormation - Prontuario AWS

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à.

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à.

Implementa una ChatOps soluzione per gestire i risultati della scansione SAST utilizzando Amazon Q Developer nelle applicazioni di chat, azioni personalizzate e AWS CloudFormation

Creato da Anand Bukkapatnam Tirumala (AWS)

Riepilogo

Questo modello presenta una soluzione completa che utilizza Amazon Q Developer nelle applicazioni di chat per semplificare la gestione degli errori di scansione statici dei test di sicurezza delle applicazioni (SAST) segnalati. SonarQube Questo approccio innovativo integra azioni e notifiche personalizzate in un'interfaccia conversazionale, abilitando processi decisionali e di collaborazione efficienti all'interno dei team di sviluppo.

Nell'odierno ambiente di sviluppo software frenetico, la gestione efficiente dei risultati di scansione SAST è fondamentale per mantenere la qualità e la sicurezza del codice. Tuttavia, molte organizzazioni devono affrontare le seguenti sfide significative:

  • Ritardo nella consapevolezza delle vulnerabilità critiche a causa dell'inefficienza dei sistemi di notifica

  • Processi decisionali lenti causati da flussi di lavoro di approvazione scollegati

  • Mancanza di risposte immediate e attuabili agli errori di scansione SAST

  • Comunicazione e collaborazione frammentate in merito ai problemi di sicurezza

  • Configurazione manuale dell'infrastruttura per gli strumenti di sicurezza, dispendiosa in termini di tempo e soggetta a errori

Questi problemi spesso comportano un aumento dei rischi per la sicurezza, ritardi nei rilasci e una riduzione della produttività del team. Per affrontare efficacemente queste sfide è necessaria una soluzione in grado di semplificare la gestione dei risultati SAST, migliorare la collaborazione tra i team e automatizzare il provisioning dell'infrastruttura.

Le caratteristiche principali della soluzione includono:

  • Notifiche personalizzate: gli avvisi e le notifiche in tempo reale vengono inviati direttamente ai canali di chat del team, garantendo una pronta consapevolezza e azioni in caso di vulnerabilità o errori della scansione SAST.

  • Approvazioni conversazionali: le parti interessate possono avviare e completare i flussi di lavoro di approvazione dei risultati della scansione SAST senza problemi all'interno dell'interfaccia di chat, accelerando i processi decisionali.

  • Azioni personalizzate: i team possono definire ed eseguire azioni personalizzate in base ai risultati della scansione SAST, come l'attivazione automatica di messaggi e-mail in caso di guasti ai gate di qualità, migliorando la reattività ai problemi di sicurezza.

  • Collaborazione centralizzata: tutte le discussioni, le decisioni e le azioni relative alla scansione SAST vengono conservate all'interno di un ambiente di chat unificato, che favorisce una migliore collaborazione e condivisione delle conoscenze tra i membri del team.

  • Infrastructure as code (IaC): l'intera soluzione è dotata di AWS CloudFormation modelli che consentono un provisioning dell'infrastruttura più rapido e affidabile riducendo al contempo gli errori di configurazione manuale.

Prerequisiti e limitazioni

Prerequisiti

  • Un attivo. Account AWS

  • Un ruolo AWS Identity and Access Management (IAM) con autorizzazioni per creare e gestire risorse associate a Servizi AWS quelle elencate in Strumenti.

  • Uno spazio di lavoro Slack.

  • Amazon Q Developer in applicazioni di chat aggiunte all'area di lavoro Slack richiesta come plug-in. Per ulteriori informazioni, consulta Aggiungere app al tuo spazio di lavoro Slack nella documentazione di Slack. Tieni nota dell'ID dell'area di lavoro Slack come mostrato dopo la registrazione avvenuta con successo. AWS Management Console

  • Un client di applicazioni Amazon Q Developer in chat configurato, con l'ID dello spazio di lavoro immediatamente disponibile per l'immissione nella AWS CloudFormation console. Per istruzioni, consulta Configurare un client Slack nella Guida per amministratori delle applicazioni Amazon Q Developer in chat.

  • Un account e-mail di origine creato e verificato in Amazon Simple Email Service (Amazon SES) per inviare messaggi e-mail di approvazione. Per istruzioni di configurazione, consulta Creazione e verifica delle identità e-mail nella Amazon Simple Email Service Developer Guide.

  • Un indirizzo e-mail di destinazione per ricevere le notifiche di approvazione. Questo indirizzo può essere una casella di posta condivisa o una lista di distribuzione specifica del team.

  • Un' SonarQube istanza operativa accessibile dal tuo Account AWS. Per ulteriori informazioni, consulta le istruzioni SonarQube di installazione.

  • Un token SonarQube utente con le autorizzazioni per attivare e creare progetti attraverso la pipeline.

Limitazioni

  • Le azioni personalizzate per Amazon Q Developer nelle applicazioni di chat non sono attualmente supportate tramite AWS CloudFormation. La creazione di pulsanti di azione personalizzati è un processo manuale in questa soluzione.

  • Alcuni Servizi AWS non sono disponibili in tutti Regioni AWS. Per la disponibilità per regione, vedi Servizi AWS per regione. Per endpoint specifici, consulta Endpoints and quotas del servizio e scegli il link relativo al servizio.

Architettura

Il diagramma seguente mostra i componenti del flusso di lavoro e dell'architettura per questo modello.

Flusso di lavoro per implementare il controllo automatico della qualità del codice per la gestione dei rilasci utilizzando AWS Chatbot.

Il diagramma mostra il flusso di lavoro automatizzato per il controllo automatico della qualità del codice:

  1. Preparazione e caricamento del codice:

    • Lo sviluppatore comprime la codebase in un file.zip.

    • Lo sviluppatore carica manualmente il file.zip in un bucket Amazon Simple Storage Service (Amazon S3) designato.

  2. Attivazione e orchestrazione di eventi Amazon S3: AWS Step Functions

    • L'evento di caricamento di Amazon S3 attiva un flusso di lavoro Step Functions.

    • Step Functions orchestra una scansione SAST utilizzando. SonarQube

    • Il flusso di lavoro monitora lo stato del AWS CodeBuild lavoro per determinare le azioni successive. In caso di CodeBuild esito positivo (quality gate pass), il flusso di lavoro viene interrotto. In caso di CodeBuild errore, viene richiamata una AWS Lambda funzione per la diagnostica. Per ulteriori dettagli, consulta la sezione AWS Step Functions logica più avanti in questa sezione.

  3. AWS CodeBuild esecuzione:

    • Il CodeBuild job esegue una SonarQube scansione sulla codebase caricata.

    • Gli artefatti di scansione vengono archiviati in un bucket Amazon S3 separato per il controllo e l'analisi.

  4. Analisi dei guasti (funzione Lambda):

    • In CodeBuild caso di errore, viene attivata la funzione CheckBuildStatus Lambda.

    • In caso di CodeBuild successo, il processo viene interrotto e non sono necessarie ulteriori azioni.

  5. La funzione Lambda analizza la causa del guasto (guasto del Quality Gate o altri problemi)

    • La CheckBuildStatus funzione crea un payload personalizzato con informazioni dettagliate sugli errori.

    • La CheckBuildStatus funzione pubblica il payload personalizzato su un argomento di Amazon Simple Notification Service (Amazon SNS).

  6. Sistema di notifica:

    • Amazon SNS inoltra il payload ad Amazon Q Developer nelle applicazioni di chat per l'integrazione con Slack.

  7. Integrazione con Slack:

    • Amazon Q Developer nelle applicazioni di chat pubblica una notifica nel canale Slack designato.

  8. Procedura di approvazione:

    • Gli approvatori esaminano i dettagli dell'errore nella notifica di Slack.

    • Gli approvatori possono avviare l'approvazione utilizzando il pulsante Approva in Slack.

  9. Gestore dell'approvazione:

    • Una funzione Approval Lambda elabora l'azione di approvazione di Slack.

    • La funzione di approvazione genera un messaggio personalizzato per la notifica agli sviluppatori.

    • La funzione Approval pubblica il messaggio personalizzato su Amazon SES.

  10. Notifica per gli sviluppatori:

    • Amazon SES invia un messaggio e-mail allo sviluppatore con i passaggi successivi o le azioni richieste.

Questo flusso di lavoro combina il caricamento manuale del codice con controlli di qualità automatici, fornisce un feedback immediato tramite Slack e consente l'intervento umano quando necessario, garantendo un processo di revisione del codice solido e flessibile.

AWS Step Functions logica

Come mostrato nel diagramma di architettura precedente, se il quality gate pass on SonarQube fallisce, il flusso di lavoro passa alla funzione CheckBuildStatus Lambda. La CheckBuildStatus funzione attiva una notifica sul canale Slack. Ogni notifica include informazioni con i passaggi successivi suggeriti. Di seguito sono riportati i tipi di notifiche:

  • L'applicazione non è riuscita nella scansione di sicurezza del codice: l'utente riceve questa notifica quando il codice caricato non ha superato la scansione SonarQube di sicurezza. L'utente può scegliere APPROVE per accettare la build. Tuttavia, la notifica consiglia all'utente di fare attenzione ai potenziali rischi di scarsa qualità del codice e alla sicurezza. La notifica include i seguenti dettagli:

    • Passaggi successivi: Errore: Quality gate status: FAILED — Visualizza i dettagli all'URL fornito.

    • Valuta le vulnerabilità come indicato nel documento all'URL fornito.

    • CodeBuild i dettagli sono disponibili nella posizione all'URL fornito.

  • La pipeline di scansione dell'applicazione non è riuscita per qualche altro motivo: l'utente riceve questa notifica quando la pipeline non riesce per qualche motivo diverso dal fallimento della scansione di sicurezza del codice. La notifica include i seguenti dettagli:

    • Per i passaggi successivi, vai al link fornito per ulteriori informazioni sulla risoluzione dei problemi.

Per vedere gli screenshot delle notifiche così come appaiono in un canale Slack, vai alla cartella assets nell'archivio GitHub chatops-slack.

Il diagramma seguente mostra un esempio dello stato della fase di Step Functions dopo il fallimento del Quality Gate Pass.

Lo stato della fase del flusso di lavoro di AWS Step Functions dopo un errore del gate pass di qualità.

Strumenti

Servizi AWS

  • Le applicazioni di chat di Amazon Q Developer ti consentono di utilizzare i canali di chat Amazon Chime, Microsoft Teams e Slack per monitorare e rispondere agli eventi operativi nelle tue applicazioni. AWS

  • AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita su e. Account AWS Regioni AWS

  • AWS CodeBuildè un servizio di compilazione completamente gestito che consente di compilare codice sorgente, eseguire test unitari e produrre artefatti pronti per l'implementazione.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • AWS Key Management Service (AWS KMS) ti aiuta a creare e controllare chiavi crittografiche per proteggere i tuoi dati.

  • AWS Lambda è un servizio di calcolo che consente di eseguire il codice senza gestire i server o effettuarne il provisioning. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.

  • Con AWS Secrets Manager puoi sostituire le credenziali nel codice,incluse le password, con una chiamata API a Secrets Manager in modo da recuperare il segreto a livello di codice.

  • Amazon Simple Email Service (Amazon SES) Simple Email Service (Amazon SES) ti aiuta a inviare e ricevere messaggi e-mail utilizzando i tuoi indirizzi e-mail e domini.

  • Amazon Simple Notification Service (Amazon SNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

  • AWS Step Functionsè un servizio di orchestrazione senza server che ti aiuta a combinare AWS Lambda funzioni e altro per creare applicazioni aziendali critiche. Servizi AWS

Altri strumenti

  • Slack, un'offerta di Salesforce, è una piattaforma conversazionale basata sull'intelligenza artificiale che offre collaborazione tramite chat e video, automatizza i processi senza codice e supporta la condivisione delle informazioni.

  • SonarQubeè uno strumento di analisi locale progettato per rilevare problemi di codifica in oltre 30 lingue, framework e piattaforme IaC.

Archivio di codice

Il codice per questo pattern è disponibile nel repository GitHub chatops-slack.

Best practice

  • CloudFormation gestione dello stack: se riscontri errori durante l'esecuzione CloudFormation dello stack, ti consigliamo di eliminare lo stack fallito. Quindi, ricrealo con i valori dei parametri corretti. Questo approccio supporta una distribuzione pulita e aiuta a evitare potenziali conflitti o implementazioni parziali.

  • Configurazione condivisa della posta in arrivo: quando configuri il SharedInboxEmail parametro, utilizza una lista di distribuzione comune accessibile a tutti gli sviluppatori interessati. Questo approccio promuove la trasparenza e aiuta le notifiche importanti a raggiungere i membri del team interessati.

  • Flusso di lavoro di approvazione della produzione: per gli ambienti di produzione, limita l'accesso al canale Slack utilizzato per le approvazioni delle build. Solo gli approvatori designati devono essere membri di questo canale. Questa pratica mantiene una chiara catena di responsabilità e migliora la sicurezza limitando chi può approvare modifiche critiche.

  • Autorizzazioni IAM: segui il principio del privilegio minimo e concedi le autorizzazioni minime necessarie per eseguire un'attività. Per ulteriori informazioni, consulta le best practice relative alla concessione dei privilegi minimi e alla sicurezza nella documentazione IAM.

Epiche

AttivitàDescrizioneCompetenze richieste

Clonare il repository.

Per clonare il repository chatops-slack per questo pattern, usa il seguente comando.

git clone “git@github.com:aws-samples/chatops-slack.git“

AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore cloud

Crea i file.zip che contengono il codice Lambda.

Crea i file.zip per il codice AWS Lambda funzionale per la funzionalità and. CheckBuildStatus ApprovalEmail Per creare notification.zip eapproval.zip, utilizzate i seguenti comandi.

cd chatops-slack/src
chmod -R 775 *
zip -r approval.zip approval
zip -r notification.zip notification
AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore cloud

Esegui la configurazione iniziale

AttivitàDescrizioneCompetenze richieste

Clonare il repository.

Per clonare il repository chatops-slack per questo pattern, usa il seguente comando.

git clone “git@github.com:aws-samples/chatops-slack.git“

AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore cloud

Crea i file.zip che contengono il codice Lambda.

Crea i file.zip per il codice AWS Lambda funzionale per la funzionalità and. CheckBuildStatus ApprovalEmail Per creare notification.zip eapproval.zip, utilizzate i seguenti comandi.

cd chatops-slack/src
chmod -R 775 *
zip -r approval.zip approval
zip -r notification.zip notification
AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore cloud
AttivitàDescrizioneCompetenze richieste

Esegui il file pre-requisite.yml stack.

Il file pre-requisite.yml CloudFormation stack distribuisce le risorse iniziali necessarie prima di eseguire il app-security.yml file stack. Per eseguire il pre-requisite.yml file, effettuate le seguenti operazioni:

  1. Accedere a AWS Management Console e aprire la AWS CloudFormationconsole. Scegli Crea stack, quindi scegli Con nuove risorse (standard) dall'elenco a discesa.

  2. Nella pagina Crea stack, scegli Scegli un modello esistente e Carica un file modello. Quindi, scegli Scegli file e seleziona pre-requisite.yml. Scegli Next (Successivo).

  3. Nella pagina Specificare i dettagli dello stack, immettete i valori per i parametri come descritto in Informazioni aggiuntive. Quindi, seleziona Next (Successivo).

  4. Nella pagina Configura le opzioni dello stack, scegli il ruolo IAM per la creazione delle risorse come descritto in Prerequisiti. Quindi, seleziona Next (Successivo).

  5. Nella pagina Rivedi e crea, scegli Invia.

  6. Nella pagina dei dettagli dello stack, scegli le schede Risorse e Output. Prendete nota dei valori per i CKMSKeyId parametri S3LambdaCKMSKeyArn, e utilizzati nei passaggi seguenti.

Amministratore AWS, AWS DevOps, responsabile di Build, DevOps ingegnere

Carica i file.zip nel bucket Amazon S3.

Carica i approval.zip file notification.zip and che hai creato in precedenza nel bucket Amazon S3 denominato. S3LambdaBucket Il file app-security.yml CloudFormation stack viene utilizzato S3LambdaBucket per fornire la funzione Lambda.

AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore di sistema AWS

Distribuisci il file stack prerequisito

AttivitàDescrizioneCompetenze richieste

Esegui il file pre-requisite.yml stack.

Il file pre-requisite.yml CloudFormation stack distribuisce le risorse iniziali necessarie prima di eseguire il app-security.yml file stack. Per eseguire il pre-requisite.yml file, effettuate le seguenti operazioni:

  1. Accedere a AWS Management Console e aprire la AWS CloudFormationconsole. Scegli Crea stack, quindi scegli Con nuove risorse (standard) dall'elenco a discesa.

  2. Nella pagina Crea stack, scegli Scegli un modello esistente e Carica un file modello. Quindi, scegli Scegli file e seleziona pre-requisite.yml. Scegli Next (Successivo).

  3. Nella pagina Specificare i dettagli dello stack, immettete i valori per i parametri come descritto in Informazioni aggiuntive. Quindi, seleziona Next (Successivo).

  4. Nella pagina Configura le opzioni dello stack, scegli il ruolo IAM per la creazione delle risorse come descritto in Prerequisiti. Quindi, seleziona Next (Successivo).

  5. Nella pagina Rivedi e crea, scegli Invia.

  6. Nella pagina dei dettagli dello stack, scegli le schede Risorse e Output. Prendete nota dei valori per i CKMSKeyId parametri S3LambdaCKMSKeyArn, e utilizzati nei passaggi seguenti.

Amministratore AWS, AWS DevOps, responsabile di Build, DevOps ingegnere

Carica i file.zip nel bucket Amazon S3.

Carica i approval.zip file notification.zip and che hai creato in precedenza nel bucket Amazon S3 denominato. S3LambdaBucket Il file app-security.yml CloudFormation stack viene utilizzato S3LambdaBucket per fornire la funzione Lambda.

AWS DevOps, responsabile di sviluppo, DevOps ingegnere, amministratore di sistema AWS
AttivitàDescrizioneCompetenze richieste

Esegui il file app-security.yml stack.

I file app-security.yml stack implementano l'infrastruttura rimanente per il sistema di notifica e approvazione. Per eseguire il app-security.yml file, procedi come segue:

  1. Accedere a AWS Management Console e aprire la AWS CloudFormationconsole. Scegli Crea stack, quindi scegli Con nuove risorse (standard) dall'elenco a discesa.

  2. Nella pagina Crea stack, scegli Scegli un modello esistente e Carica un file modello. Quindi, scegli Scegli file e seleziona app-security.yml. Scegli Next (Successivo).

  3. Nella pagina Specificare i dettagli dello stack, inserisci i valori per i parametri come descritto in Informazioni aggiuntive. Quindi, seleziona Next (Successivo).

  4. Nella pagina Configura le opzioni dello stack, scegli il ruolo IAM per la creazione delle risorse come descritto in Prerequisiti. Quindi, seleziona Next (Successivo).

  5. Nella pagina Rivedi e crea, scegli Invia.

AWS DevOps, amministratore di sistema AWS, DevOps ingegnere, responsabile Build

Verifica la configurazione delle notifiche.

Per testare la configurazione delle notifiche, procedi come segue:

  1. Apri la console Amazon SNS. Nel pannello di navigazione a sinistra, selezionare Topics (Argomenti).

  2. Seleziona il nome dell'argomento che termina con LambdaToAWSSlackChatbot.

  3. Nella pagina dei dettagli dell'argomento, scegli Pubblica messaggio.

  4. Nella pagina Pubblica messaggio sull'argomento, per il corpo del messaggio da inviare all'endpoint, inserisci quanto segue:

    { "version": "1.0", "source": "custom", "content": { "description": ":warning: This is a test notification" } }
  5. Seleziona Publish message (Pubblica messaggio).

Dopo che il messaggio di prova è stato recapitato correttamente, dovresti vedere una notifica sul canale Slack. Per ulteriori informazioni, consulta Notifiche di test da Servizi AWS a Slack nella Guida per amministratori delle applicazioni Amazon Q Developer in chat.

AWS DevOps, amministratore di sistema AWS, DevOps ingegnere, responsabile Build

Esegui il file stack app-security.yml

AttivitàDescrizioneCompetenze richieste

Esegui il file app-security.yml stack.

I file app-security.yml stack implementano l'infrastruttura rimanente per il sistema di notifica e approvazione. Per eseguire il app-security.yml file, procedi come segue:

  1. Accedere a AWS Management Console e aprire la AWS CloudFormationconsole. Scegli Crea stack, quindi scegli Con nuove risorse (standard) dall'elenco a discesa.

  2. Nella pagina Crea stack, scegli Scegli un modello esistente e Carica un file modello. Quindi, scegli Scegli file e seleziona app-security.yml. Scegli Next (Successivo).

  3. Nella pagina Specificare i dettagli dello stack, inserisci i valori per i parametri come descritto in Informazioni aggiuntive. Quindi, seleziona Next (Successivo).

  4. Nella pagina Configura le opzioni dello stack, scegli il ruolo IAM per la creazione delle risorse come descritto in Prerequisiti. Quindi, seleziona Next (Successivo).

  5. Nella pagina Rivedi e crea, scegli Invia.

AWS DevOps, amministratore di sistema AWS, DevOps ingegnere, responsabile Build

Verifica la configurazione delle notifiche.

Per testare la configurazione delle notifiche, procedi come segue:

  1. Apri la console Amazon SNS. Nel pannello di navigazione a sinistra, selezionare Topics (Argomenti).

  2. Seleziona il nome dell'argomento che termina con LambdaToAWSSlackChatbot.

  3. Nella pagina dei dettagli dell'argomento, scegli Pubblica messaggio.

  4. Nella pagina Pubblica messaggio sull'argomento, per il corpo del messaggio da inviare all'endpoint, inserisci quanto segue:

    { "version": "1.0", "source": "custom", "content": { "description": ":warning: This is a test notification" } }
  5. Seleziona Publish message (Pubblica messaggio).

Dopo che il messaggio di prova è stato recapitato correttamente, dovresti vedere una notifica sul canale Slack. Per ulteriori informazioni, consulta Notifiche di test da Servizi AWS a Slack nella Guida per amministratori delle applicazioni Amazon Q Developer in chat.

AWS DevOps, amministratore di sistema AWS, DevOps ingegnere, responsabile Build
AttivitàDescrizioneCompetenze richieste

Configura un'azione Lambda personalizzata.

Per configurare l' AWS Lambda azione personalizzata, procedi come segue:

  1. Scegli il pulsante con i puntini di sospensione verticali nella parte inferiore della notifica di consegna nel tuo canale Slack.

  2. In Gestisci azioni, scegli Crea.

  3. Inserisci un nome di azione personalizzato, ad esempio Approva. Questo nome è un identificatore univoco per l'azione personalizzata.

  4. Inserisci un nome per il pulsante di azione personalizzato, ad esempio Approva. Questo nome viene visualizzato su un pulsante della notifica. Questo nome deve contenere al massimo 20 caratteri e può contenere emoji.

  5. Per Tipo di azione personalizzato, selezionare Azione Lambda.

  6. Scegli Next (Successivo).

  7. Seleziona l'azione Account AWS e il Regione AWS luogo in cui desideri implementare questa azione.

  8. Scegli Load Lambdas.

  9. In Definisci funzione Lambda, seleziona una funzione Lambda che termina con. ApprovalEmailLambdaQuindi, seleziona Next (Successivo).

  10. Per creare il pulsante Approva, scegliete Salva nella pagina Criteri di visualizzazione.

Amministratore AWS, AWS DevOps, responsabile di Build, DevOps ingegnere, amministratore Slack

Convalida il flusso di approvazione.

Per verificare che il flusso di approvazione funzioni come previsto, scegli il pulsante Approva in Slack.

Slackbot dovrebbe inviare una notifica sul thread dei messaggi con la stringa di conferma Email di approvazione inviata con successo.

Amministratore AWS, AWS DevOps, DevOps ingegnere, amministratore Slack

Imposta il flusso di approvazione

AttivitàDescrizioneCompetenze richieste

Configura un'azione Lambda personalizzata.

Per configurare l' AWS Lambda azione personalizzata, procedi come segue:

  1. Scegli il pulsante con i puntini di sospensione verticali nella parte inferiore della notifica di consegna nel tuo canale Slack.

  2. In Gestisci azioni, scegli Crea.

  3. Inserisci un nome di azione personalizzato, ad esempio Approva. Questo nome è un identificatore univoco per l'azione personalizzata.

  4. Inserisci un nome per il pulsante di azione personalizzato, ad esempio Approva. Questo nome viene visualizzato su un pulsante della notifica. Questo nome deve contenere al massimo 20 caratteri e può contenere emoji.

  5. Per Tipo di azione personalizzato, selezionare Azione Lambda.

  6. Scegli Next (Successivo).

  7. Seleziona l'azione Account AWS e il Regione AWS luogo in cui desideri implementare questa azione.

  8. Scegli Load Lambdas.

  9. In Definisci funzione Lambda, seleziona una funzione Lambda che termina con. ApprovalEmailLambdaQuindi, seleziona Next (Successivo).

  10. Per creare il pulsante Approva, scegliete Salva nella pagina Criteri di visualizzazione.

Amministratore AWS, AWS DevOps, responsabile di Build, DevOps ingegnere, amministratore Slack

Convalida il flusso di approvazione.

Per verificare che il flusso di approvazione funzioni come previsto, scegli il pulsante Approva in Slack.

Slackbot dovrebbe inviare una notifica sul thread dei messaggi con la stringa di conferma Email di approvazione inviata con successo.

Amministratore AWS, AWS DevOps, DevOps ingegnere, amministratore Slack

Risoluzione dei problemi

ProblemaSoluzione

Configurazioni errate di Slack

Per informazioni sulla risoluzione dei problemi relativi alle configurazioni errate di Slack, consulta Risoluzione dei problemi di Amazon Q Developer nelle applicazioni di chat nella Guida per l'amministratore delle applicazioni Amazon Q Developer in chat.

La scansione non è riuscita per qualche altro motivo

Questo errore indica che l'attività di compilazione del codice non è riuscita. Per risolvere il problema, vai al link contenuto nel messaggio. L'errore dell'attività di compilazione del codice potrebbe avere le seguenti possibili cause:

  • L'applicazione non è impacchettata correttamente. Il sonar-scanner comando non riesce a trovare il sonar.project.env.properties file.

  • I valori per i SonarToken parametri SonarFileNameSonarFileDirectory, o non sono corretti. Controllate i valori, quindi eseguite nuovamente i file dello stack.

  • L'host Sonar non è raggiungibile.

  • Altri problemi per i quali è possibile risolvere utilizzando i registri.

Risorse correlate

AWS documentazione

Altre risorse

Informazioni aggiuntive

Questa soluzione enfatizza le azioni personalizzate di Amazon Q Developer nelle applicazioni di chat per scopi di gestione dei rilasci. Tuttavia, puoi riutilizzare la soluzione modificando il codice Lambda per il tuo caso d'uso specifico e basandoti su di esso.

Parametri dei file stack CloudFormation

La tabella seguente mostra i parametri e le relative descrizioni per il file CloudFormation stack. pre-requisite.yml

Chiave

Descrizione

StackName

Il nome dello CloudFormation stack.

S3LambdaBucket

Il nome del bucket Amazon S3 in cui carichi il codice Lambda. Il nome deve essere univoco a livello globale.

SonarToken

Il token SonarQube utente come descritto in Prerequisiti.

La tabella seguente mostra i parametri e le relative descrizioni per il file CloudFormation stack. app-security.yml

Chiave

Descrizione

CKMSKeyArn

L' AWS KMS key Amazon Resource Name (ARN) utilizzato nei ruoli IAM e nelle funzioni Lambda create in questo stack.

CKMSKeyId

L' AWS KMS key ID utilizzato nell'argomento Amazon SNS creato in questo stack.

EnvironmentType

Il nome dell'ambiente client per la distribuzione della pipeline di scansione delle applicazioni. Seleziona il nome dell'ambiente dall'elenco a discesa dei valori consentiti.

S3LambdaBucket

Il nome del bucket Amazon S3 che contiene i approval.zip file and. notification.zip

SESEmail

Il nome dell'identità e-mail registrata in Amazon SES come descritto in Prerequisiti. Questa identità è l'indirizzo e-mail di origine.

SharedInboxMail

L'indirizzo e-mail di destinazione a cui vengono inviate le notifiche di scansione.

SlackChannelId

L'ID del canale Slack a cui desideri inviare le notifiche. Per trovare l'ID del canale, fai clic con il pulsante destro del mouse sul nome del canale in Dettagli del canale nell'app Slack. L'ID del canale si trova in basso.

SlackWorkspaceId

L'ID dell'area di lavoro di Slack come descritto in Prerequisiti. Per trovare l'ID dello spazio di lavoro Slack, accedi a AWS Management Console, apri la console delle applicazioni di chat Amazon Q Developer e scegli Clienti configurati, Slack, WorkspaceID.

StackName

Il nome dello stack. CloudFormation

SonarFileDirectory

La directory che contiene il sonar.project.<env>.properties file.

SonarFileName

Il nome del sonar.project.<env>properties file.

SourceCodeZip

Il nome del file.zip che contiene il sonar.project.<env>properties file e il codice sorgente.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.