Archiviare il log attività di AzureArchive the Azure Activity Log

In questo articolo viene illustrato come è possibile usare il Portale di Azure, i cmdlet di PowerShell o l'interfaccia della riga di comando multipiattaforma per archiviare il registro attività di Azure in un account di archiviazione.In this article, we show how you can use the Azure portal, PowerShell Cmdlets, or Cross-Platform CLI to archive your Azure Activity Log in a storage account. Questa opzione è utile per conservare il log attività per più di 90 giorni (con il controllo completo sui criteri di conservazione) per il controllo, l'analisi statica o il backup.This option is useful if you would like to retain your Activity Log longer than 90 days (with full control over the retention policy) for audit, static analysis, or backup. Se è necessario conservare gli eventi per non più di 90 giorni, non è necessario configurare l'archiviazione in un account di archiviazione, perché gli eventi del log attività vengono conservati nella piattaforma Azure per 90 giorni senza abilitare l'archiviazione.If you only need to retain your events for 90 days or less you do not need to set up archival to a storage account, since Activity Log events are retained in the Azure platform for 90 days without enabling archival.

PrerequisitiPrerequisites

Prima di iniziare, è necessario creare un account di archiviazione in cui poter archiviare il log attività.Before you begin, you need to create a storage account to which you can archive your Activity Log. È consigliabile non usare un account di archiviazione esistente in cui sono archiviati altri dati non di monitoraggio, per poter controllare meglio l'accesso ai dati di monitoraggio.We highly recommend that you do not use an existing storage account that has other, non-monitoring data stored in it so that you can better control access to monitoring data. Se tuttavia in un account di archiviazione si archiviano anche log di diagnostica e metriche, può avere senso non solo usare tale account di archiviazione per il log attività, ma anche tenere tutti i dati di monitoraggio in una posizione centrale.However, if you are also archiving Diagnostic Logs and metrics to a storage account, it may make sense to use that storage account for your Activity Log as well to keep all monitoring data in a central location. L'account di archiviazione usato deve essere un account di archiviazione per utilizzo generico, non un account di archiviazione BLOB.The storage account you use must be a general purpose storage account, not a blob storage account. L'account di archiviazione non deve trovarsi nella stessa sottoscrizione della sottoscrizione che emette log, purché l'utente che configura l'impostazione abbia un accesso RBAC appropriato a entrambe le sottoscrizioni.The storage account does not have to be in the same subscription as the subscription emitting logs as long as the user who configures the setting has appropriate RBAC access to both subscriptions.

Profilo del logLog Profile

Per archiviare il log attività con uno dei metodi seguenti, impostare il profilo del log per una sottoscrizione.To archive the Activity Log using any of the methods below, you set the Log Profile for a subscription. Il profilo del log definisce il tipo di eventi archiviati o trasmessi e gli output (account di archiviazione e/o hub eventi).The Log Profile defines the type of events that are stored or streamed and the outputs—storage account and/or event hub. Definisce anche i criteri di conservazione (numero di giorni di conservazione) per gli eventi archiviati in un account di archiviazione.It also defines the retention policy (number of days to retain) for events stored in a storage account. Se il criterio di conservazione viene impostato su zero, gli eventi vengono archiviati a tempo indeterminato.If the retention policy is set to zero, events are stored indefinitely. In caso contrario, si può impostare un valore qualsiasi compreso tra 1 e 2147483647.Otherwise, this can be set to any value between 1 and 2147483647. I criteri di conservazione vengono applicati su base giornaliera. Al termine della giornata, i log relativi a tale giornata non rientrano quindi più nei criteri di conservazione e verranno eliminati.Retention policies are applied per-day, so at the end of a day (UTC), logs from the day that is now beyond the retention policy will be deleted. Se, ad esempio, è presente un criterio di conservazione di un giorno, all'inizio della giornata attuale vengono eliminati i log relativi alla giornata precedente a ieri.For example, if you had a retention policy of one day, at the beginning of the day today the logs from the day before yesterday would be deleted. Fare clic qui per altre informazioni sui profili dei log.You can read more about log profiles here.

Archiviare il log attività con il portaleArchive the Activity Log using the portal

  1. Nel portale fare clic sul collegamento Log attività a sinistra.In the portal, click the Activity Log link on the left-side navigation. Se il collegamento Log attività non è visualizzato, fare prima clic sul collegamento Altri servizi .If you don’t see a link for the Activity Log, click the More Services link first.

    Passare al pannello Log attività

  2. Nella parte superiore del pannello fare clic su Esporta.At the top of the blade, click Export.

    Fare clic sul pulsante Esporta

  3. Nel pannello visualizzato selezionare la casella Esporta in un account di archiviazione e selezionare un account di archiviazione.In the blade that appears, check the box for Export to a storage account and select a storage account.

    Impostare un account di archiviazione

  4. Usando il dispositivo di scorrimento o la casella di testo, definire un numero di giorni per cui gli eventi del log attività devono essere conservati nell'account di archiviazione.Using the slider or text box, define a number of days for which Activity Log events should be kept in your storage account. Se si preferisce che i dati rimangano nell'account di archiviazione a tempo indeterminato, impostare questo numero su zero.If you prefer to have your data persisted in the storage account indefinitely, set this number to zero.
  5. Fare clic su Save.Click Save.

Archiviare il log attività con PowerShellArchive the Activity Log via PowerShell

Add-AzureRmLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -Locations global,westus,eastus -RetentionInDays 180 -Categories Write,Delete,Action
ProprietàProperty ObbligatorioRequired DescriptionDescription
StorageAccountIdStorageAccountId NoNo ID risorsa dell'account di archiviazione in cui salvare i log attività.Resource ID of the Storage Account to which Activity Logs should be saved.
LocalitàLocations Yes Elenco delimitato da virgole di aree per cui raccogliere eventi del log attività.Comma-separated list of regions for which you would like to collect Activity Log events. È possibile visualizzare un elenco di tutte le aree visitando questa pagina o usando l'API REST di gestione di Azure.You can view a list of all regions by visiting this page or by using the Azure Management REST API.
RetentionInDaysRetentionInDays Yes Numero di giorni per cui gli eventi devono essere mantenuti, compreso tra 1 e 2147483647.Number of days for which events should be retained, between 1 and 2147483647. Se il valore è zero, i log vengono mantenuti per un periodo illimitato.A value of zero stores the logs indefinitely (forever).
CategorieCategories Yes Elenco delimitato da virgole di categorie di eventi che devono essere raccolti.Comma-separated list of event categories that should be collected. I valori possibili sono Write, Delete e Action.Possible values are Write, Delete, and Action.

Archiviare il log attività con l'interfaccia della riga di comandoArchive the Activity Log via CLI

azure insights logprofile add --name my_log_profile --storageId /subscriptions/s1/resourceGroups/insights-integration/providers/Microsoft.Storage/storageAccounts/my_storage --locations global,westus,eastus,northeurope --retentionInDays 180 –categories Write,Delete,Action
ProprietàProperty ObbligatorioRequired DescriptionDescription
namename Yes Nome del profilo di log.Name of your log profile.
storageIdstorageId NoNo ID risorsa dell'account di archiviazione in cui salvare i log attività.Resource ID of the Storage Account to which Activity Logs should be saved.
Localitàlocations Yes Elenco delimitato da virgole di aree per cui raccogliere eventi del log attività.Comma-separated list of regions for which you would like to collect Activity Log events. È possibile visualizzare un elenco di tutte le aree visitando questa pagina o usando l'API REST di gestione di Azure.You can view a list of all regions by visiting this page or by using the Azure Management REST API.
RetentionInDaysretentionInDays Yes Numero di giorni per cui gli eventi devono essere mantenuti, compreso tra 1 e 2147483647.Number of days for which events should be retained, between 1 and 2147483647. Se il valore è zero, i log vengono archiviati per un periodo illimitato.A value of zero will store the logs indefinitely (forever).
Categoriecategories Yes Elenco delimitato da virgole di categorie di eventi che devono essere raccolti.Comma-separated list of event categories that should be collected. I valori possibili sono Write, Delete e Action.Possible values are Write, Delete, and Action.

Schema di archiviazione del log attivitàStorage schema of the Activity Log

Una volta configurata l'archiviazione, verrà creato un contenitore di archiviazione nell'account di archiviazione non appena si verificherà un evento del log attività.Once you have set up archival, a storage container will be created in the storage account as soon as an Activity Log event occurs. I BLOB nel contenitore seguono lo stesso formato nel log attività e nei log di diagnostica.The blobs within the container follow the same format across the Activity Log and Diagnostic Logs. La struttura di questi BLOB è:The structure of these blobs is:

insights-operational-logs/name=default/resourceId=/SUBSCRIPTIONS/{ID sottoscrizione}/y={anno a quattro cifre}/m={mese a due cifre}/d={giorno a due cifre}/h={ora a due cifre in formato 24 ore}/m=00/PT1H.jsoninsights-operational-logs/name=default/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Ad esempio, un nome BLOB potrebbe essere:For example, a blob name might be:

insights-operational-logs/name=default/resourceId=/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/y=2016/m=08/d=22/h=18/m=00/PT1H.jsoninsights-operational-logs/name=default/resourceId=/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/y=2016/m=08/d=22/h=18/m=00/PT1H.json

Ogni BLOB PT1H.json contiene un BLOB JSON di eventi che si sono verificati nell'ora specificata nell'URL BLOB (ad esempio, h=12).Each PT1H.json blob contains a JSON blob of events that occurred within the hour specified in the blob URL (e.g. h=12). Durante l'ora attuale, gli eventi vengono aggiunti al file PT1H.json man mano che si verificano.During the present hour, events are appended to the PT1H.json file as they occur. Il valore dei minuti (m=00) è sempre 00, perché gli eventi del log attività vengono sempre suddivisi in singoli BLOB per ogni ora.The minute value (m=00) is always 00, since Activity Log events are broken into individual blobs per hour.

Nel file PT1H.json ogni evento viene archiviato nella matrice "records", con questo formato:Within the PT1H.json file, each event is stored in the “records” array, following this format:

{
    "records": [
        {
            "time": "2015-01-21T22:14:26.9792776Z",
            "resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
            "operationName": "microsoft.support/supporttickets/write",
            "category": "Write",
            "resultType": "Success",
            "resultSignature": "Succeeded.Created",
            "durationMs": 2826,
            "callerIpAddress": "111.111.111.11",
            "correlationId": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "identity": {
                "authorization": {
                    "scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
                    "action": "microsoft.support/supporttickets/write",
                    "evidence": {
                        "role": "Subscription Admin"
                    }
                },
                "claims": {
                    "aud": "https://management.core.windows.net/",
                    "iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
                    "iat": "1421876371",
                    "nbf": "1421876371",
                    "exp": "1421880271",
                    "ver": "1.0",
                    "http://schemas.microsoft.com/identity/claims/tenantid": "1e8d8218-c5e7-4578-9acc-9abbd5d23315 ",
                    "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
                    "puid": "20030000801A118C",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
                    "name": "John Smith",
                    "groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
                    "appid": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "appidacr": "2",
                    "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
                    "http://schemas.microsoft.com/claims/authnclassreference": "1"
                }
            },
            "level": "Information",
            "location": "global",
            "properties": {
                "statusCode": "Created",
                "serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
            }
        }
    ]
}
Nome dell'elementoElement name DescrizioneDescription
timetime Timestamp del momento in cui l'evento è stato generato dal servizio di Azure che ha elaborato la richiesta corrispondente all'evento.Timestamp when the event was generated by the Azure service processing the request corresponding the event.
ResourceIdresourceId ID risorsa della risorsa interessata.Resource ID of the impacted resource.
operationNameoperationName Nome dell'operazione.Name of the operation.
categorycategory Categoria dell'azione, ad esempioCategory of the action, eg. scrittura o lettura.Write, Read, Action.
resultTyperesultType Il tipo di risultato, ad esempioThe type of the result, eg. operazione riuscita, esito negativo, avvioSuccess, Failure, Start
resultSignatureresultSignature Dipende dal tipo di risorsa.Depends on the resource type.
durationMsdurationMs Durata dell'operazione in millisecondiDuration of the operation in milliseconds
callerIpAddresscallerIpAddress Indirizzo IP dell'utente che ha eseguito l'operazione, attestazione UPN o attestazione SPN, a seconda della disponibilità.IP address of the user who has performed the operation, UPN claim, or SPN claim based on availability.
correlationIdcorrelationId In genere un GUID in formato stringa.Usually a GUID in the string format. Gli eventi che condividono un elemento correlationId appartengono alla stessa azione.Events that share a correlationId belong to the same uber action.
identityidentity BLOB JSON che descrive l'autorizzazione e le attestazioni.JSON blob describing the authorization and claims.
autorizzazioneauthorization BLOB delle proprietà RBAC dell'evento.Blob of RBAC properties of the event. In genere include le proprietà "action", "role" e "scope".Usually includes the “action”, “role” and “scope” properties.
levellevel Livello dell'evento.Level of the event. Uno dei valori seguenti: "Critical", "Error", "Warning", "Informational" e "Verbose"One of the following values: “Critical”, “Error”, “Warning”, “Informational” and “Verbose”
locationlocation Area in cui si trova la località (o global).Region in which the location occurred (or global).
propertiesproperties Set di coppie <Key, Value> ad esempio Dictionary, che descrivono i dettagli dell'evento.Set of <Key, Value> pairs (i.e. Dictionary) describing the details of the event.

Nota

Le proprietà e l'utilizzo di tali proprietà possono variare a seconda della risorsa.The properties and usage of those properties can vary depending on the resource.

Passaggi successiviNext steps