View a markdown version of this page

Autenticazione e sicurezza - AWS DevOps Agente

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

Autenticazione e sicurezza

Sono disponibili due metodi di autenticazione per gli endpoint MCP e A2A:

Crea un token di accesso

Prerequisiti

  • La funzionalità dei token di accesso deve essere abilitata nel tuo Agent Space.

  • È necessario disporre delle autorizzazioni IAM per gestire i token di accesso (aidevops:CreateAccessToken,,aidevops:RevokeAccessToken). aidevops:RotateAccessToken Per l'elenco completo, consulta DevOps Autorizzazioni IAM dell'agente.

Abilita i token di accesso

  1. Accedere alla console di AWS gestione e aprire la console dell' AWS DevOps agente.

  2. Scegli il tuo Agent Space.

  3. Scegli la scheda Configurazione.

  4. Nella sezione Token di accesso, scegli Abilita.

  5. Conferma l'operazione.

Crea un token

  1. Apri l'app web DevOps Agent per il tuo Agent Space, quindi dal menu di navigazione scegli Impostazioni, quindi scegli Access Tokens.

  2. Scegli Generate token (Genera token).

  3. Inserisci un nome per il token.

  4. Scegli un ambito:

    • read— Visualizza indagini, consigli, chat e risorse di Agent Space.

    • operate— Accesso completo. Include tutto ciò che è inclusoread, oltre all'invio di messaggi, alla creazione di chat e alla gestione delle attività e dei consigli arretrati.

  5. Scegli un tipo di cliente:

    • human— Per l'utilizzo di IDE e CLI (Kiro, Claude Code, Cursor e altri strumenti interattivi).

    • agent— Per integrazioni A2A autonome e agenti programmatici.

  6. Imposta una scadenza (da 1 a 60 giorni).

  7. Copia il valore del token e conservalo in un luogo sicuro e protetto, come AWS Secrets Manager. Non puoi recuperarlo nuovamente.

Dopo aver creato un token, l'app Web mostra un esempio di configurazione che puoi copiare direttamente nel tuo client.

Usa l'autenticazione SIGv4

L'autenticazione SIGv4 utilizza AWS le tue credenziali anziché un token di accesso. I plugin Kiro power e Claude Code includono il supporto Sigv4 integratomcp-proxy-for-aws, che firma le richieste utilizzando le credenziali locali. AWS

Quando si usa Sigv4

  • Come riserva quando il token di accesso non è configurato o non funziona (scaduto, non valido).

  • Come autenticazione principale quando si dispone di più Agent Spaces e si deve eseguire l'instradamento per ogni chiamata allo strumento. agent_space_id

  • A scelta dell'utente, in Claude Code, esegui l'abilità di configurazione per passare dal token Bearer all'autenticazione SigV4.

Prerequisiti

  • AWS credenziali disponibili nell'ambiente (tramite SSO, variabili di ambiente o file di credenziali).

  • Le credenziali devono disporre dell'autorizzazione per richiamare le azioni dell'agente. AWS DevOps Per le autorizzazioni richieste, consulta DevOps Autorizzazioni IAM dell'agente.

  • uvxinstallato (il proxy viene eseguito). uvx mcp-proxy-for-aws@latest

Configurazione di esempio

Per configurare un client MCP in modo che utilizzi SIGv4 anziché un token di accesso, esegui il server tramite. mcp-proxy-for-aws Sostituisci {region} con la regione del tuo Agent Space (ad esempio,): us-east-1

{ "mcpServers": { "aws-devops-agent": { "command": "uvx", "timeout": 120000, "args": [ "mcp-proxy-for-aws@latest", "https://connect.aidevops.{region}.api.aws/mcp", "--service", "aidevops", "--region", "{region}" ] } } }

Il proxy firma ogni richiesta con le tue AWS credenziali locali, quindi non è richiesto alcun token di accesso.

Multi-Agent-Space routing

In modalità Sigv4, agent_space_id trasmetti ogni chiamata allo strumento per specificare quale Agent Space utilizzare. Ciò rende possibile il routing su più Agent Spaces da un singolo client.

Considerazioni relative alla sicurezza

Scoping dei token

  • Usa il privilegio minimo: scegli read le integrazioni di sola lettura, operate solo quando il cliente deve inviare messaggi o gestire attività.

  • Ruota periodicamente i token. I token scadono dopo la durata configurata (massimo 60 giorni).

  • Archivia i token in variabili di ambiente o gestori di segreti. Non codificate i token nel codice sorgente.

  • Non eseguite automaticamente le risposte degli agenti senza una revisione umana.

Elenco degli indirizzi IP consentiti

Quando si crea un token di accesso, è possibile specificare facoltativamente un elenco di indirizzi IP consentiti. Se configurato, il token può essere utilizzato solo dagli indirizzi IP o dagli intervalli CIDR specificati. Le richieste provenienti da altri IP vengono rifiutate con un errore di accesso negato.

Rotazione e revoca dei token

  • Rotazione: ruota un token per generare un nuovo valore del token preservando il nome, gli ambiti e l'elenco degli indirizzi IP consentiti del token. Il vecchio token viene immediatamente invalidato. Aggiorna la configurazione del tuo client con il nuovo valore del token. La rotazione avvia anche una nuova cronologia chat: vedi la sezione seguente.

  • Revoca: se un token è compromesso, revocalo immediatamente. I token revocati non possono essere utilizzati e non possono essere ripristinati.

Cronologia chat e rotazione dei token

Ogni token ha la propria cronologia chat. Quando si ruota un token, AWS DevOps l'agente considera il nuovo valore del token come una nuova identità. Le chat create con il token precedente non vengono più visualizzate sul server remoto.

Rispondere a un token compromesso

Se sospetti che un token sia stato compromesso, segui questi passaggi:

  1. Blocca tutti gli accessi tramite token: nella console AWS DevOps dell'agente, apri Agent Space, scegli la scheda Configurazione e scegli Disabilita nella sezione Token di accesso. Questo blocca immediatamente tutti gli accessi basati su token all'Agent Space.

  2. Revoca i token compromessi: nell'app web, vai su Impostazioni > Token di accesso, scegli il token compromesso e scegli Revoca. Puoi revocare i token anche se i token di accesso sono disabilitati.

  3. Re-enable token di accesso: dopo aver revocato i token compromessi, riabilita i token di accesso dalla scheda Configurazione se hai ancora bisogno dell'accesso basato su token.

Revoca dei token a livello di codice

Puoi anche revocare i token a livello di codice utilizzando. awscurl I seguenti comandi utilizzano l'autenticazione SIGv4. Sostituisci la regione (us-east-1) con la regione in cui viene creato il tuo spazio agente.

Fase 1: Elenca i tuoi Agent Spaces

aws aidevops list-agent-spaces --region us-east-1

Fase 2: Elenca i token di accesso per un Agent Space

awscurl --service aidevops --region us-east-1 \ -H "Accept: application/json" \ "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens"

Passaggio 3: revoca di un token

awscurl --service aidevops --region us-east-1 -X POST \ -H "Accept: application/json" \ "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens/{accessTokenId}/revoke"

Sostituisci {agentSpaceId} e {accessTokenId} con i valori delle risposte precedenti.

Tracciabilità

AWS DevOps L'agente registra l'attività del server remoto in. AWS CloudTrail Utilizza questi record per tracciare chi ha richiamato un server remoto e cosa ha fatto di conseguenza l'agente. AWS DevOps L'agente invia CloudTrail gli eventi all' AWS account che ospita l'Agent Space.

Eventi di autenticazione tramite token di accesso

Ogni volta che l' AWS DevOps agente autentica un token di accesso per un endpoint MCP o A2A, emette un evento a. AuthenticateAccessToken CloudTrail AWS DevOps L'agente registra sia le autenticazioni riuscite che quelle non riuscite. Utilizza questi record per verificare l'uso legittimo e rilevare i tentativi rifiutati. Gli esempi includono token scaduti o revocati e richieste bloccate da un elenco di indirizzi IP consentiti.

L'evento ha le seguenti caratteristiche:

  • Fonte dell'evento: aidevops.amazonaws.com

  • Event name (Nome evento) – AuthenticateAccessToken

  • Evento di gestione: l'evento è un evento di gestione e non è di sola lettura, quindi rimane visibile quando si filtrano gli eventi di sola lettura.

L'evento include i seguenti campi chiave:

Campo Description
userIdentity.principalId L'ID del token di accesso che è stato presentato.
userName Il nome del token di accesso.
requestParameters.agentSpaceId L'Agent Space in cui il token si autentica.
requestParameters.accessTokenId L'ID del token di accesso.
requestParameters.tokenName Il nome del token di accesso.
requestParameters.protocol Il protocollo utilizzato— MCP oA2A.
responseElements.AuthenticateAccessToken Il risultato— Success oFailure.
resources La risorsa Agent Space (AWS::AIDevOps::AgentSpace) con cui il token si autentica, identificata dal relativo ARN.
additionalEventData.roleSessionName Per una corretta autenticazione, il nome della sessione del ruolo downstream, nel formato. token_{spaceId}_{timestamp}_{tokenName} Utilizzalo per correlare l'autenticazione con le azioni eseguite dall'agente.
sourceIPAddress L'indirizzo IP del client.
userAgent La User-Agent stringa del client, se disponibile.
errorCode, errorMessage Per le autenticazioni non riuscite, il motivo per cui l'autenticazione è stata rifiutata.
Nota

AWS DevOps L'agente non registra mai il valore grezzo del token al portatore. Nell'evento viene visualizzato solo l'ID opaco del token di accesso.

Eventi di azione a valle

Quando si utilizza un token di accesso, l' AWS DevOps agente assume un ruolo per conto dell'utente per eseguire le azioni. AWS DevOps L'agente registra questa AssumeRole chiamata CloudTrail con tag di sessione che identificano il token e il chiamante:

  • AgentSpaceId— Identificatore dell'Agent Space.

  • UserId— Identità del creatore del token.

  • AccessTokenId— Identificatore univoco del token.

  • TokenName— Nome del token di accesso utilizzato.

  • ClientType— Il protocollo utilizzato (MCP, A2A).

  • SourceIp— Indirizzo IP del client.

  • UserAgent— User-Agent Stringa del client (se disponibile).

A ogni azione eseguita dall'agente per tuo conto corrisponde una chiamata AWS API downstream che viene registrata CloudTrail . Il nome della sessione di ruolo utilizza il formatotoken_{spaceId}_{timestamp}_{tokenName}. Questo nome di sessione corrisponde roleSessionName a in the AuthenticateAccessToken event. Utilizzalo per tracciare da un'autenticazione alle azioni specifiche che l'hanno seguita.

Invocazioni SIGv4

Le chiamate che utilizzano l'autenticazione AWS SigV4 anziché un token di accesso non producono eventi. AuthenticateAccessToken AWS DevOps L'agente attribuisce le richieste Sigv4 all'identità IAM ( AWS Identity and Access Management) dell'utente. È possibile tracciare le azioni eseguite dall'agente tramite le chiamate AWS API downstream che attivano.

Limitazione della politica degli endpoint VPC

Gli endpoint del server remoto non supportano le policy degli endpoint VPC. Le chiamate che utilizzano token di accesso o autenticazione SIGv4 non possono essere limitate dalle politiche degli endpoint VPC.

Disattivazione dei token di accesso

La funzionalità dei token di accesso è disattivata per impostazione predefinita. Per disattivarla dopo l'attivazione:

  1. Apri la scheda Configurazione del tuo Agent Space.

  2. Nella sezione Token di accesso, scegli Disabilita.

La disabilitazione blocca immediatamente tutti gli accessi basati su token. I token esistenti non vengono eliminati ma non possono essere utilizzati finché la funzionalità non viene riattivata.

Per impedire agli utenti della tua organizzazione di abilitare i token di accesso, crea una Service Control Policy (SCP) che neghi le azioni dell'API del token di accesso e l'UpdateAgentSpaceazione (che controlla l'attivazione dei token di accesso):

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessTokenOperations", "Effect": "Deny", "Action": [ "aidevops:UpdateAgentSpace", "aidevops:CreateAccessToken", "aidevops:GetAccessToken", "aidevops:ListAccessTokens", "aidevops:RotateAccessToken", "aidevops:RevokeAccessToken" ], "Resource": "*" } ] }

Risoluzione dei problemi

Caratteristiche Causa Risoluzione
HTTP 401 non autorizzato Il token non è valido o è scaduto. Crea un nuovo token o ruota il token esistente nell'app web.
HTTP 400 "A2A-Version header obbligatorio» Intestazione della versione del protocollo mancante. È supportato solo A2A v1.0. Aggiungi l'A2A-Version: 1.0intestazione alle richieste A2A.
HTTP 400 «Spazio dell'agente non risolto dalle credenziali» Una richiesta A2A + SIGv4 non include l'intestazione. X-Agent-Space-Id Aggiungi alla richiesta. X-Agent-Space-Id: <agentSpaceId>
Timeout della richiesta Le risposte iniziali richiedono 5-30 secondi. Le indagini richiedono 5-8 minuti. Imposta il timeout del cliente su almeno 120 secondi.
Connessione rifiutata URL o area geografica dell'endpoint errati. Verifica il formato dell'URL: https://connect.aidevops.{region}.api.aws