Registrazione di log delle chiamate API Amazon SageMaker AI con AWS CloudTrail - Amazon SageMaker AI

Registrazione di log delle chiamate API Amazon SageMaker AI con AWS CloudTrail

Amazon SageMaker AI è integrato con AWS CloudTrail, un servizio che fornisce un record delle azioni intraprese da un utente, un ruolo o un Servizio AWS. CloudTrail acquisisce tutte le chiamate API per Amazon SageMaker AI come eventi. Le chiamate acquisite includono le chiamate dalla console di Amazon SageMaker AI e le chiamate di codice alle operazioni delle API Amazon SageMaker AI. Utilizzando le informazioni raccolte da CloudTrail, è possibile determinare la richiesta effettuata ad Amazon SageMaker AI, l’indirizzo IP da cui è stata effettuata la richiesta, quando è stata effettuata e altri dettagli.

Ogni evento o voce di log contiene informazioni sull'utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:

  • Se la richiesta è stata effettuata con le credenziali utente root o utente.

  • Se la richiesta è stata effettuata per conto di un utente del Centro identità IAM.

  • Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.

  • Se la richiesta è stata effettuata da un altro Servizio AWS.

CloudTrail è attivo nel tuo Account AWS quando create l'account e hai automaticamente accesso alla cronologia degli eventi di CloudTrail. La cronologia degli eventi di CloudTrail fornisce una registrazione visualizzabile, ricercabile, scaricabile e immutabile degli eventi di gestione verificatisi negli ultimi 90 giorni in una Regione AWS. Per ulteriori informazioni, consulta Working with CloudTrail Event history nella Guida per l'utente di AWS CloudTrail. Non sono previsti costi CloudTrail per la visualizzazione della cronologia degli eventi.

Per una registrazione continua degli eventi nell'Account AWS oltre i 90 giorni, creare un trail o un datastore di eventi Data Lake CloudTrail.

Trail CloudTrail

Un trail abilita la distribuzione da parte di CloudTrail dei file di log in un bucket Amazon S3. Tutti i trail creati utilizzando la Console di gestione AWS sono multi-regione. È possibile creare un trail per una singola Regione o per più Regioni tramite AWS CLI. Si consiglia di creare un trail per più Regioni in quanto consente di acquisire l'attività in tutte le Regioni AWS dell'account. Se si crea un trail per una singola Regione, è possibile visualizzare solo gli eventi registrati nella Regione AWS del trail. Per ulteriori informazioni sui trail, consulta Creating a trail for your Account AWS e Creating a trail for an organization nella Guida per l'utente di AWS CloudTrail.

Puoi fornire gratuitamente una copia dei tuoi eventi di gestione in corso al tuo bucket Amazon S3 da CloudTrail creando un percorso, tuttavia dovranno essere considerati i costi di archiviazione di Amazon S3. Per ulteriori informazioni sui prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail. Per informazioni sui prezzi di Amazon S3, consulta Prezzi di Amazon S3.

Datastore di eventi CloudTrail Lake

Data Lake CloudTrail consente di eseguire query SQL sugli eventi. CloudTrail Lake converte gli eventi esistenti in formato JSON basato su righe in formato Apache ORC. ORC è un formato di archiviazione a colonne ottimizzato per il recupero rapido dei dati. Gli eventi vengono aggregati in archivi di dati degli eventi, che sono raccolte di eventi immutabili basate sui criteri selezionati applicando i selettori di eventi avanzati. I selettori applicati a un archivio di dati degli eventi controllano quali eventi persistono e sono disponibili per l'esecuzione della query. Per ulteriori informazioni su Data Lake CloudTrail, consulta Working with AWS CloudTrail Lake nella Guida per l'utente di AWS CloudTrail.

I datastore di eventi e le query di Data Lake CloudTrail comportano costi. Quando crei un datastore di eventi, scegli l'opzione di prezzo da utilizzare per tale datastore. L'opzione di prezzo determina il costo per l'importazione e l'archiviazione degli eventi, nonché il periodo di conservazione predefinito e quello massimo per il datastore di eventi. Per ulteriori informazioni sui prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail.

Per motivi di sicurezza, puoi monitorare i log di CloudTrail per identificare le attività anomale degli utenti. Per ulteriori informazioni sul monitoraggio dei log, consulta Registrazione e monitoraggio.

Eventi di dati Amazon SageMaker AI in CloudTrail

Gli eventi di dati forniscono informazioni sulle operazioni delle risorse eseguite su o in una risorsa (ad esempio, lettura o scrittura su un oggetto Amazon S3). Queste operazioni sono definite anche operazioni del piano dei dati. Gli eventi di dati sono spesso attività che interessano volumi elevati di dati. Per impostazione predefinita, CloudTrail non registra gli eventi di dati. La cronologia degli eventi di CloudTrail non registra gli eventi di dati.

Per gli eventi di dati sono previsti costi aggiuntivi. Per ulteriori informazioni sui prezzi di CloudTrail, consulta Prezzi di AWS CloudTrail.

È possibile registrare log degli eventi di dati per vari tipi di risorse Amazon SageMaker AI utilizzando la console CloudTrail, AWS CLI o le operazioni API CloudTrail. Per ulteriori informazioni su come registrare gli eventi di dati, consulta Registrazione di eventi di dati con Console di gestione AWS e Registrazione di eventi di dati con AWS Command Line Interface nella Guida all'utente AWS CloudTrail.

La tabella seguente elenca i tipi di risorse Amazon SageMaker AI per i quali è possibile registrare log di eventi di dati. La colonna Tipo di risorsa (console) mostra il valore scegliere dall’elenco Tipo di risorsa nella console di CloudTrail. La colonna resources.type value mostra il valore resources.type, da specificare quando si configurano selettori di eventi avanzati utilizzando le API AWS CLI o CloudTrail. La colonna Dati API registrati su CloudTrail mostra le chiamate API registrate su CloudTrail per il tipo di risorsa.

Tipo di risorsa (console) valore resources.type Dati API registrati in CloudTrail
Endpoint SageMaker AWS::SageMaker::Endpoint
Nota

Le chiamate API InvokeEndpoint e InvokeEndpointAsync non registrano log dei parametri della richiesta.

È possibile configurare selettori di eventi avanzati per filtrare i campi eventName, readOnly e resources.ARN per registrare solo gli eventi importanti per l'utente. Per ulteriori informazioni su questi campi, consulta AdvancedFieldSelector in Riferimento API AWS CloudTrail.

Nell’esempio seguente viene illustrato come registrare log degli eventi di dati per un endpoint di Amazon SageMaker AI. In questo esempio, il comando put-event-selectors di AWS CLI consente di aggiungere selettori di eventi avanzati che acquisiscono eventi di dati dal tuo endpoint. Dovresti disporre di un trail CloudTrail esistente. Prima di eseguire il comando, puoi anche salvare l’oggetto JSON dei selettori di eventi avanzati in un file simile al seguente:

[ { "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.ARN", "Equals": ["arn:aws:sagemaker:us-east-1:111122223333:endpoint/your-inference-endpoint-arn"] }, { "Field": "resources.type", "Equals": ["AWS::SageMaker::Endpoint"] } ] } ]

Quindi, puoi eseguire il comando sotto riportato per avviare la registrazione dei log degli eventi dei dati dall’endpoint.

aws cloudtrail put-event-selectors --trail-name your-trail-name --advanced-event-selectors=file://advanced-event-selectors.json # specify your previously created JSON file

Eventi di gestione Amazon SageMaker AI in CloudTrail

Gli eventi di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse nell’Account AWS. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

Amazon SageMaker AI registra log di tutte le operazioni del proprio piano di controllo (control-plane) come eventi di gestione. Per un elenco delle operazioni del piano di controllo (control-plane) di Amazon SageMaker AI che Amazon SageMaker AI registra log su CloudTrail, consulta la documentazione di riferimento dell’API di Amazon SageMaker AI.

Operazioni eseguite dall'ottimizzazione automatica dei modelli

SageMaker AI supporta la registrazione dei log di eventi di servizi non API nei file di log di CloudTrail per i processi di ottimizzazione automatica dei modelli. Questi eventi sono correlati ai processi di ottimizzazione, ma non sono il risultato diretto di una richiesta del cliente all'API pubblica AWS. Ad esempio, quando crei un processo di ottimizzazione degli iperparametri chiamando CreateHyperParameterTuningJob, SageMaker AI crea job di addestramento per valutare le diverse combinazioni di iperparametri e trovare il risultato migliore. Analogamente, quando chiami StopHyperParameterTuningJob per arrestare un processo di ottimizzazione degli iperparametri, SageMaker AI può arrestare uno qualsiasi dei job di addestramento associati in esecuzione. Gli eventi non API per i processi di ottimizzazione vengono registrati su CloudTrail per aiutarti a migliorare la governance, la conformità e il controllo operativo e dei rischi dell'account AWS.

Per eventType, le voci di log generate dagli eventi di servizi non API hanno un valore AwsServiceEvent invece che AwsApiCall.

Esempi di eventi Amazon SageMaker AI

Un evento rappresenta una singola richiesta da qualsiasi fonte e include informazioni sull'operazione API richiesta, la data e l'ora dell'operazione, i parametri della richiesta e così via. I file di log di CloudTrail non sono uno stack trace ordinato delle chiamate API pubbliche, quindi gli eventi non appaiono in un ordine specifico.

L'esempio seguente mostra un evento di log di CloudTrail che illustra l'operazione CreateEndpoint.

{ "eventVersion":"1.05", "userIdentity": { "type":"IAMUser", "principalId":"AIXDAYQEXAMPLEUMLYNGL", "arn":"arn:aws:iam::123456789012:user/intern", "accountId":"123456789012", "accessKeyId":"ASXIAGXEXAMPLEQULKNXV", "userName":"intern" }, "eventTime":"2018-01-02T13:39:06Z", "eventSource":"sagemaker.amazonaws.com", "eventName":"CreateEndpoint", "awsRegion":"us-west-2", "sourceIPAddress":"127.0.0.1", "userAgent":"USER_AGENT", "requestParameters": { "endpointName":"ExampleEndpoint", "endpointConfigName":"ExampleEndpointConfig" }, "responseElements": { "endpointArn":"arn:aws:sagemaker:us-west-2:123456789012:endpoint/exampleendpoint" }, "requestID":"6b1b42b9-EXAMPLE", "eventID":"a6f85b21-EXAMPLE", "eventType":"AwsApiCall", "recipientAccountId":"444455556666" }

L'esempio seguente mostra un evento di log di CloudTrail che illustra l'operazione CreateModel.

{ "eventVersion":"1.05", "userIdentity": { "type":"IAMUser", "principalId":"AIXDAYQEXAMPLEUMLYNGL", "arn":"arn:aws:iam::123456789012:user/intern", "accountId":"123456789012", "accessKeyId":"ASXIAGXEXAMPLEQULKNXV", "userName":"intern" }, "eventTime":"2018-01-02T15:23:46Z", "eventSource":"sagemaker.amazonaws.com", "eventName":"CreateModel", "awsRegion":"us-west-2", "sourceIPAddress":"127.0.0.1", "userAgent":"USER_AGENT", "requestParameters": { "modelName":"ExampleModel", "primaryContainer": { "image":"174872318107.dkr.ecr.us-west-2.amazonaws.com/kmeans:latest" }, "executionRoleArn":"arn:aws:iam::123456789012:role/EXAMPLEARN" }, "responseElements": { "modelArn":"arn:aws:sagemaker:us-west-2:123456789012:model/barkinghappy2018-01-02t15-23-32-275z-ivrdog" }, "requestID":"417b8dab-EXAMPLE", "eventID":"0f2b3e81-EXAMPLE", "eventType":"AwsApiCall", "recipientAccountId":"444455556666" }

Per informazioni sui contenuti delle registrazioni CloudTrail, consulta i contenuti delle registrazioni CloudTrail nella Guida per l'utente AWS CloudTrail.