ENREGISTRER EN TANT QUE PDF
Lyve Cloud S3 Storage User manual
Lyve Cloud S3 Storage 

Cet article vous a-t-il été utile ?

OUVRIR LE MENU FERMER LE MENU

Administrator's Guide - Audit Log Management

Audit logs are detailed records of activities in the Lyve Cloud console and S3 API operations. Audit logs are used to access audit functions and track any suspicious activity.

When you enable audit logging, all audit logs are written to the selected target bucket. The target bucket must be immutable, which keeps audit logs immutable. For more information, see Using object immutability. You cannot switch off object immutability for the target bucket. You can maintain three types of audit logs:

  • S3 API audit logs: This log records all supported S3 API calls. For more information, see Supported S3 API calls.

    S3 API audit logs are recorded in the S3-<BUCKET-NAME>-<TIMESTAMP>.gz format, where the BUCKET-NAME is the name of a bucket being logged. For more information, see Example S3 API audit log.
  • IAM audit logs: This log includes all events corresponding to identity and access management actions.

    IAM audit logs are recorded in the IAM-<TIMESTAMP>.gz format. For more information, see Example of IAM audit log.
  • Console audit logs: This log includes all the events that originated from the Lyve Cloud console's actions.

    The console audit log is recorded in the console-<TIMESTAMP>.gz format. For more information, see Example of the console audit log.
 Note—Switching on Console Audit Logs enables both the Console audit logs and IAM audit logs that are written to the target bucket.

The audit log files have TIMESTAMP format: yyyy-MM-dd-HH-mm-ss' and are set to the UTC zone.

Audit log files keep sufficient information to establish which events occurred, when they occurred, and who caused them. Administrators can manually delete these audit log files after the specified retention duration ends. This helps you to manage the buckets cost-effectively. For more information, see Using object immutability.

Lyve Cloud periodically saves audit logs for specified buckets. The maximum size of a log file is 500 MB. If the file size reaches 500 MB, that log file is saved, and the logs continue to be written in a new file. Log files are saved to the target bucket as console audit log files, IAM audit logs, or S3 API logs.

Role-based access to permission

The following table describes access to enable and disable audit logs based on your role.

ActionsAdminStorage AdminAuditor (Read only)
Enable/disable S3 API audit logs××
Enable/disable account audit logs××
Edit audit log target bucket××
View audit log settings×

Video: Lvye Cloud - How to manage audit log settings in the Lyve Cloud console

Seagate on Vimeo: Lyve Cloud - How to manage audit log settings in the Lyve Cloud console

S3 API audit logs

S3 API audit logs keep detailed records of activity in the Lyve Cloud console as well as S3 API operations. To enable S3 API audit logs, you must select buckets to be logged from the target buckets available in the account.

Example S3 API audit log

The following is an example of an S3 API audit log file.

{   
"serviceAccountCreatorId": 
"john.doe@email.com""auditEntry": 
 { 
    "api": 
{  
"name": "PutObject""bucket": "bucket-1""object": "values-v2.yaml""status": "OK",    
"statusCode": 200,         
"timeToResponse": "2246401314ns" },     
"time": "2021-01-22T10:49:30.699378337Z",     
"version": "1",     
"requestID": "165C883E70C2A5D0",     
"userAgent": "aws-sdk-java/1.12.25 Linux/4.15.0-135-generic OpenJDK_64-Bit_Server_VM/11.0.12+7 java/11.0.12 vendor/Oracle_Corporation cfg/retry-  mode/legacy",     
"remotehost": "127.0.0.1",     
"deploymentid": "ef46b1cb-6be1-4aa2-9c14-e7ffbc11986b",    
 "requestHeader":{         
    "User-Agent": "aws-sdk-java/1.12.25 Linux/4.15.0-135-generic OpenJDK_64-Bit_Server_VM/11.0.12+7 java/11.0.12 vendor/Oracle_Corporation cfg/retry-mode/legacy",         
    "X-Amz-Date": "20210122T104928Z",         
    "Content-Type": "text/yaml",         
    "Authorization": "AWS4-HMAC-SHA256 Credential=AHPEVYIPHVQ3XNOY/20210122/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=<redacted>",         
    "Content-Length": "5637",        
     "X-Amz-Content-Sha256": "UNSIGNED-PAYLOAD""X-Amz-Server-Side-Encryption": "AES256" },    
    "responseHeader":{  
        "ETag": "219857b61eb0c3dc9a3916a0992fc803",        
        "Vary": "Origin",        
        "Server": "LyveCloud/DEVELOPMENT.2020-06-22T03-43-44Z",        
        "Accept-Ranges": "bytes",        
        "Content-Length": "0",        
        "X-Amz-Request-Id": "165C883E70C2A5D0",        
        "X-Xss-Protection": "1; mode=block",        
        "Content-Security-Policy": "block-all-mixed-content",        
        "X-Amz-Server-Side-Encryption": "AES256" 
    } 
  },   
"serviceAccountName": "serv-acc-01" 
}

The following table describes the parameters specified in the S3 API audit log file.

Parameter nameDescription
serviceAccountCreatorIdA user who created the service account.
nameSpecifies the API name.
bucketSpecifies the bucket name.
objectSpecifies the object name.
statusSpecifies the HTTP status.
statusCodeSpecifies the HTTP status code.
timeToResponseTime for the entire request to complete.
timeThe timestamp in UTC zone.
versionRepresents the current version of Audit Log structure.
requestIDA unique request identifier.
userAgentSpecifies the User-Agent request header
remotehostDisplays IP address of the client who sent the request
deploymentidA unique deployment identifier.
requestHeaderSpecifies the request header content.
responseHeaderSpecifies the response header content.
serviceAccountNameDisplays the name of Service Account associated with buckets.

 

Enabling S3 API audit logs

To enable S3 API audit logs:

  1. On the left-hand menu, select Settings.
  2. On the Audit Logs Settings page, set S3 API Audit Logs to ON to begin saving audit logs.
  3. In the Audit Log Target Bucket dialog, select the target bucket from the list to store the logs.

    Set the target bucket only if you are setting the target bucket to write audit logs for the first time. However, if you have already set the target bucket while enabling console audit logs, you are not forced to select the target bucket.
 Note—Only the buckets that are immutable are displayed in the list.

  1. Select Save.

After you enable the S3 API audit log:

To change the target bucket:

  • On the Audit Log Settings page, a new 'Audit Log Target Bucket' section is displayed. This section displays the target bucket name and bucket region. To change the target bucket, see Editing audit log target bucket.

To set the S3 API audit logs:

  • Select which buckets will have audit log.

    • All buckets must be logged: Selecting this option allows you to set and enforce logging for all available buckets in the account. By default, this option is selected.
    • Individually set per bucket: Selecting this option allows you to edit each bucket to enable logging manually.
 Note—The All buckets must be logged and Individually set per bucket options are available only after you enable S3 API audit logs, and the target bucket is set to store logs.

After selecting the Individually set per bucket option, you must choose each bucket individually and then enable the S3 API audit logs. To enable S3 API audit logs for an individual bucket, see Editing bucket properties. Once S3 audit logs are enabled, the selected bucket in the account is labeled as Logged.

Disabling S3 API audit logs

While enabling S3 API Audit Logs, if you select the Individually set per bucket option and later disable audit logs, the S3 API Audit Logs option will be unavailable in that individual bucket.

To disable S3 API audit logs:

  1. On the left-hand menu, select Settings.
  2. On the Audit Log Settings page, set S3 API Audit Logs to Off.

After you switch off S3 API audit logs, the Logged label is removed from all buckets.

Console audit log

Enabling account audit logs enables Console Audit Logs, IAM Audit logs, and Account API Audit logs.

Before you enable them, become familiar with the account audit logs by reviewing the examples below.

Example of Account API audit log structure

{
"ApiEvent":
{
           EventName: “<eventname>”,
           Version: “2”,
Request: {
            AccountName: “service account name”,
            AccessKey: “<accesskey>”,
            RequestTime: “<hh:mm:ss>”,
            RequestParams: {          
                                …. Parameters.. or Body
                            },
SourceIP: “XXYYXX”

},

Response: {

               ResponseTime: “<response time>”,
               ResponseCode: “<response code>”,
               ResponseError: “<error>”,
               ResponseBody: {                                          …
                                body…. (with secret redacted) …
}
}

 

Event nameAPI action
authenticate-and-get-session-tokenAuthenticate and get a session token
Test-a-session-token-for-validityTest a session token for validity
get-historical-storage-usage-by-monthGet historical storage usage by month
get-current-month-storage-usageGet current month storage usage
list-permissionsList permissions
create-a-new-permissionCreate a new permission
get-permission-by-idGet permission by id
delete-a-permission-by-idDelete a permission by id
update-a-permissionUpdate a permission
list-service-accountsList service accounts
create-a-new-service-accountCreate a new service account
get-service-account-data-by-idGet service account data by id
delete-a-service-account-by-idDelete a service account by id
update-a-service-accountUpdate a service account
enable-a-service-accountEnable a service account
disable-a-service-accountDisable a service account
enable-audit-logging-on-a-bucketEnable Audit logging on a bucket
disable-audit-logging-on-a-bucketDisable Audit logging on a bucket

 

Example of an account audit log

The following is an example of the console audit log file.

{    
"ConsoleVersion": "DEVELOPMENT",    
"DeploymentID": "dell2",    
"LoginTime": "2021-01-25T09:19:11.622206Z",    
"UserIdentity": {       
    "EventSource": "https://dell2.console.localhost:32428",       
    "UserName": "john.doe@email.com",       
    "Role": "admin",       
    "IPAddress": "10.244.142.100:34310"   
     },    
    "ConsoleEvent": 
    {      
     "Eventname": "add-new-notification-recipient",      
     "Status": "Error while inserting data to table: ",       
    "StatusCode": 13,       
    "EventResponse": "{\"Action\":\"Add NotificationRecipient\",\"FirstName\":\"Fname\",\"LastName\":\"Lname\",\"Email\":\"john.doe@email.com\",\"Partner\":\"dell2\",\"AddedBy\":\"john.doe@email.com\"}",       
    "EventTime": "2021-01-25 09:37:01.505980988 +0000 UTC m=+1421.228517562"  
    } 
}  

 

The following table includes console operations recorded in the console audit log. The Event name column displays the names inside the console audit log as an eventname parameter value.

Event nameConsole operation
create-bucketCreate bucket
delete-bucketDelete bucket
create-permissionCreate permission
set-object-immutablilitySet object immutability
create-permission-from- imported-fileCreate permission from an imported file
edit-permissionEdit permission
delete-permissionDelete permission
create-service-accountCreate service account
edit-service-accountEdit service account
service-account-status-changeService account status change
service-account-deletionDelete service account
add-userAdd user
user-password-resetUser password reset
edit-userEdit user
user-enabled-disabledUser enabled/disabled
user-logoutUser log out
create-support-ticketCreate support ticket
edit-support-ticketEdit support ticket
new-commentNew comment
add-new-notification- recipientAdd new notification recipient
remove-notification-recipientRemove notification recipient
edit-notification-recipientEdit notification recipient
on-off-s3-api-audit-logOn/off S3 API audit log
on-off-s3-console-audit-logOn/off Console audit log
s3-api-audit-log-settingS3 API audit log setting
s3-api-audit-log-bucket-setting3 API audit log bucket setting

 

The following table describes the parameters specified in the console audit log file.

Parameter nameDescription
consoleVersionDisplays the console version
deploymentidThe unique deployment identifier
loginTimeThe timestamp in UTC zone
eventSourceThe console URL path
userNameThe login ID of the user
roleThe Lyve Cloud user role
ipAddressThe user identity IP address
eventnameSpecifies the console operation
statusDisplays the human-readable message
statusCodeDisplays the status numeric code. For more information, see Status Code table.
eventResponseDisplays the resulting action performed by the event name
eventTimeDisplays the timestamp in UTC zone

 

Status code

The following tables provide descriptions for the StatusCode parameter.

Status codeErrorError details
0OK CodeOK is returned on success.
1Cancelled CodeThe operation is cancelled by the client.
2Unknown CodeSpecifies an unknown error.For example, errors raised by APIs that do not return enough error information.
3InvalidArgument CodeThe client specifies an invalid argument.
4DeadlineExceeded CodeThe operation has expired before completion.This error may be returned even if the operation has completed successfully, however, the response is delayed.For example, a successful response from a server could have been delayed long enough for the deadline to expire.
5NotFound CodeRequested entity (file or directory) was not found.
6AlreadyExists CodeAAn attempt to create an entity failed because one entity already exists.
7PermissionDenied CodeThe caller does not have permission to execute the specified operation.
8ResourceExhausted CodeSome resource has exhausted.
9FailedPrecondition CodeThe operation was rejected because the system is not in a state to execute the operation.For example, directory to be deleted may not be empty.
10Aborted CodeTThe operation was aborted due to a concurrent issue like sequencer check failures, transaction aborts, etc.
11OutOfRange CodeThe operation was attempted past the valid range.For example, seeking or reading past end of a file.
12Unimplemented CodeThe operation is not implemented, supported, orenabled for this service.
13Internal CodeIndicates internal errors, where some invariants have broken.
14Unavailable CodeThe service is currently unavailable.
15DataLoss CodeIndicates unrecoverable data loss or corruption.
16Unauthenticated CodeThe request does not have valid authentication credentials for the operation.

 

Example of an IAM audit log

The following is an example of an IAM audit log file.

"created_date":"2021-01-20T02:04:12.000Z""organization":"random-org""org_type":"TENANT""source":"console""created_by"::"IAM""content":{    
    "date": "2016-02-23T19:57:29.532Z",    
    "type": "sapi",    
    "description": "",    
    "connection": "",    
    "connection_id": "",    
    "client_id": "AaiyAPdpYdesoKnqjj8HJqRn4T5titww",    
    "client_name": "My application Name",    
    "ip": "190.257.209.19",    
    "hostname": "190.257.209.19",    
    "user_id": "auth0|56c75c4e42b6359e98374bc2",    
    "user_name": "",    
    "audience": "",    
    "scope": "",    
    "strategy": "",    
    "strategy_type": "",    
    "log_id": "",    
    "isMobile": false,    
    "details": {},    
    "user_agent": "",    
    "location_info": {      
    "country_code": "",      
    "country_code3": "",      
    "country_name": "",      
    "city_name": "",      
    "latitude": "",      
    "longitude": "",      
    "time_zone": "",      
    "continent_code": ""     
    }  
  }  
"bucket_name":""
}

 

The following is an example of an IAM audit log file.

Parameter nameDescription
created_dateDate when the event occurred in ISO 8601 format.
organizationName of the account.
org_typeDisplays the type of organization Partner|Tenant.
sourceDisplays source of the Log.
created_byDisplays which service created the log.
contentIAM log content.
bucket_nameTarget bucket name where the log files are stored.Optional and can be left blank.

 

The following table describes the data field for contents in the IAM audit log file.

Parameter nameDescription
dateDate when the event occurred in ISO 8601 format.
typeType of event. For more information, see Event code list associated with each log event.
descriptionDescription of the event.
connectionName of the connection for the event.
connection_idID of the connection for the event.
client_idID of the client (application).
client_nameName of the client (application).
ipThe IP address of the log event source.
hostnameHostname where the event is applied.
user_idUser ID involved in the event.
user_nameUser name involved in the event.
audienceAPI audience for whom the event is applied.
scopeScope permissions applied to the event.
strategyName of the strategy involved in the event.
strategy_typeType of strategy involved in the event.
log_idUnique identifier of the event.
isMobileSpecifies if the client is a mobile device (true), desktop, laptop, or server (false).
detailsAdditional details about the event (the structure is dependent upon event type).
user_agentUser agents details from the client device that caused the event.
location_infoDisplays information about the location that triggered this event based on the IP.

 

The following table describes the data field for location_info.

Parameter nameDescription
country_codeDisplays the country code in two-letter Alpha-2 ISO 3166-1 format.
country_code3Displays the country code in a three-letter Alpha-3 ISO 3166-1 format.
country_nameFull country name.
city_nameFull city name.
latitudeGlobal latitude (horizontal) position.
longitudeGlobal longitude (vertical) position.
time_zoneTime zone name.
continent_cideDisplays continent of the country.For example, AF (Africa), AN (Antarctica), AS (Asia), EU (Europe), NA (North America), OC (Oceania) or SA (South America).

 

The following table describes the event code associated with each log event.

Event CodeDescription
admin_update_launchUpdate launched.
api_limitThe maximum number of requests to theauthentication API in given time has been reached.
clsPasswordless login code/link has been sent.
coffAD/LDAP connector is offline.
conAD/LDAP connector is online and working.
csPasswordless login code has been sent.
depnoteDeprecation notice.
duUser has been deleted.
fFailed login.
fcFailed by connector.
fceFailed to change user email.
fcoOrigin is not in the allowed origins list for the specified application.
fcoaFailed cross-origin authentication.
fcpFailed change password.
fcphFailed post change password hook.
fcpnFailed change phone number.
fcprFailed change password request.
fcproailed to provision a AD/LDAP connector.
fcuFailed to change username.
fdFailed to generate delegation token.
fdeacFailed to activate device.
fdeazDevice authorization request failed.
fdeccUser did not confirm device.
fduFailed user deletion.
feacftFailed to exchange authorization code for access token.
feccftFailed exchange of access token for a client credentials grant.
fedeFailed to exchange device code for access token.
fensFailed exchange for native social login.
feoobftFailed exchange of password and OOB challenge for access token.
feotpftFailed exchange of password and OTP challenge for access token.
fepftFailed exchange of password for access token.
fepotpftFailed exchange of passwordless OTP for access token.
fercftFailed exchange of password and MFA recovery code for access token.
fertftFailed exchange of refresh token for access token.
ferrtFailed exchange of rotating refresh token.
floUser logout failed.
fnFailed to send email notification.
fpFailed login (incorrect password).
fsFailed signup.
fsaFailed silent auth.
fuFailed login (invalid email/username).
fuiFailed to import users.
fvFailed to send verification email.
fvrFailed to process verification email request.
gd_auth_failedMulti-factor authentication failed. This could happen due to a wrong code entered for SMS/Voice/Email/TOTP factors, or a system failure.
gd_auth_rejectedA user rejected a Multi-factor authentication request via push-notification.
gd_auth_succeedMulti-factor authentication success.
gd_enrollment_completeA first time MFA user has successfully enrolled using one of the factors.
gd_otp_rate_limit_exceedA user, during enrollment or authentication, enters an incorrectcode more than the maximum allowed number of times. Ex: A user enrolling in SMS enters the 6-digit code wrong more than 10 times in a row.
gd_recovery_failedA user enters a wrong recovery code when attempting to authenticate.
gd_recovery_rate_limit_exceedA user enters a wrong recovery code too many times.
gd_recovery_succeedA user successfully authenticates with a recovery code.
gd_send_pnPush notification for MFA sent successfully sent.
gd_send_smsSMS for MFA successfully sent.
gd_send_sms_failureAttempt to send SMS for MFA failed.
gd_send_voiceVoice call for MFA successfully made.
gd_send_voice_failureAttempt to make Voice call for MFA failed.
gd_start_authSecond factor authentication event started for MFA.
gd_start_enrollMulti-factor authentication enroll has started.
gd_tenant_updateGuardian tenant update.
gd_unenrollDevice used for second factor authentication has beenunenrolled.
gd_update_device_accountDevice used for second factor authentication has beenupdated.
limit_delegationRate limit exceeded to /delegation endpoint.
limit_muAn IP address is blocked with 100 failed loginattempts using different usernames, all with incorrect passwords in 24 hours, or 50 sign-up attempts per minute from the same IP address.
limit_wcAn IP address is blocked with 10 failed loginattempts into a single account from the same IP address.
pwd_leakSomeone behind the IP address: ip attempted to login with a leaked password.
sSuccessful sign-on event.
sapiSuccess API operation.
sceSuccess change email.
scoaSuccess cross-origin authentication.
scpSuccess change password.
scphSuccess post change password hook.
scpnSuccess change phone number.
scprSuccess change password request.
scuSuccess change username.
sdSuccess delegation.
sduUser successfully deleted.
seacftSuccessful exchange of authorization code for access token.
seccftSuccessful exchange of access token for a client credentials grant.
sedeSuccessful exchange of device code for access token.
sensNative social login.
seoobftSuccessful exchange of password and OOB challenge for access token.
seotpftSuccessful exchange of password and OTP challenge for access token.
sepftSuccessful exchange of password for access token.
sercftSuccessful exchange of password and MFA recovery code for access token.
sertftSuccessful exchange of refresh token for access token.
srrtSuccessfully revoked a refresh token.
sloUser successfully signed out.
ssSuccess signup.
ssaSilent auth.
suiSuccessfully imported users.
svVerification email.
svrVerification email request.
sys_os_update_endUpdate ended.
sys_os_update_startUpdate started.
sys_update_endUpdate ended.
sys_update_startUpdate started.
ublkduUser block setup by anomaly detection has been released.
wWarnings during login.

 

Enable account audit logs

To enable the account audit log:

  1. On the left-hand menu, select Settings.
  2. On the Settings page, set Account Audit Logs to ON.
  3. in the Audit Log Target Bucket dialog, select the target bucket from the list to store the logs.

    You must set the target bucket only if you are setting the target bucket to write audit logs for the first time. However, if you have set the target bucket while enabling S3 API audit logs, you are not forced to select the target bucket again.

    Only the buckets that are in immutable are displayed in the list.
  4. Select Save.

Disable account audit logs

To disable account audit logs:

  1. On the left-hand menu, select Settings.
  2. On the Settings page, set Account Audit Logs to OFF.

After you disable audit logs:

  • Logs are no longer saved to the target bucket.
  • The target bucket is still visible in the Audit Logs Target Bucket section.

Edit audit log target bucket

While editing the target bucket to save audit logs, only immutable buckets are displayed for selection.

To edit console audit logs:

  1. On the left-hand menu, select Settings.
  2. In the Audit Log Target Bucket section, select Edit.

  1. On the Edit Audit Log Target Bucket dialog, select the target bucket from the Select bucket list and then select Save.