All Products
Search
Document Center

ApsaraDB for Redis:Enable the audit log feature

Last Updated:Sep 26, 2023

ApsaraDB for Redis provides the audit log feature based on Simple Log Service. This feature allows you to query, analyze, and export log data, and helps you gain insights into the security and performance of instances.

Prerequisites

The instance meets the following requirements:

  • The instance is an ApsaraDB for Redis Community Edition instance, an ApsaraDB for Redis Enhanced Edition (Tair) DRAM-based instance, or an ApsaraDB for Redis Enhanced Edition (Tair) persistent memory-optimized instance.

  • The instance supports the following architectures:

    • If Deployment Mode is set to Classic (Local Disk-based), the instance supports all architectures.

    • If Deployment Mode is set to Cloud-native (Cloud Disk-based), the instance supports only the standard architecture.

Typical scenarios

ApsaraDB for Redis integrates the features of Simple Log Service to provide the audit log feature that is stable, flexible, simple, and efficient. This feature can be used in the scenarios described in the following table.

Typical scenario

Description

Operation audit

The audit log feature helps security auditors discover information such as operator identity or data modification time, and identify internal risks such as abuse of permissions and execution of invalid commands.

Security and compliance

The audit log feature assists business systems in meeting the audit requirements for security compliance.

Usage notes

  • After you enable the audit log feature for your ApsaraDB for Redis instance, the system audits and logs the write operations that are performed on the instance. The instance may experience a performance decrease of 5% to 15% and some degree of latency and jitter. The performance decrease and the level of latency and jitter vary based on the amount of data that is written or audited.

    Important
    • Your application may write large amounts of data to your ApsaraDB for Redis instance. For example, your application frequently runs the INCR command to count. To prevent a performance decrease in such a scenario, we recommend that you enable the audit log feature only for troubleshooting issues or auditing instance security.

    • Typically, a large number of read operations are performed. If audit information is recorded for a large number of read operations, the instance performance may deteriorate. To prevent this issue, Tair records audit information only for write operations.

  • The specified log retention period for an instance is applicable to the instance and all the other ApsaraDB for Redis instances that reside in the same region as the instance. Other settings of the instance are applicable only to the instance. For example, if you enable the audit log feature for an instance, the audit log feature takes effect only on the instance.

  • The AliyunLogFullAccess permission is granted to the Resource Access Management (RAM) user that is used to enable the audit log feature. This requirement must be met if you want to enable the feature by using the credentials of a RAM user. For more information, see Grant permissions to a RAM user.

  • The AliyunLogFullAccess or AliyunLogReadOnlyAccess permission is granted to the RAM user that is used to access audit logs. For more information, see Grant permissions to a RAM user.

    Full permissions or read-only permissions on Simple Log Service are granted to the RAM user. This requirement must be met if you want to create Logstore-level custom policies. For more information, see Create a custom policy. The following code displays policy content.

    • Full permissions:

      {
       "Version": "1",
       "Statement": [
        {
         "Action": "log:*",
         "Resource": "acs:log:*:*:project/nosql-*",
         "Effect": "Allow"
        }
       ]
      }
    • Read-only permissions:

      {
       "Version": "1",
       "Statement": [
        {
              "Action": [
                "log:Get*",
                "log:List*"
              ],
         "Resource": "acs:log:*:*:project/nosql-*",
         "Effect": "Allow"
        }
       ]
      }

Billing

You are charged for the audit log feature based on storage usage and log retention period. The price varies based on the region that you select. For more information, see Billable items.

Procedure

  1. Log on to the ApsaraDB for Redis console and go to the Instances page. In the top navigation bar, select the region in which the instance is deployed. Then, find the instance and click its ID.
  2. In the left-side navigation pane, choose Logs > Audit Log.

  3. Specify a log retention period.

    Note

    This configuration is applicable to the instance and all instances that reside in the same region as the instance. Audit logs are billed based on the storage usage and retention period of logs. Valid values for the log retention period are 1 to 365. Unit: days.

  4. Click Estimate Fees and Enable Audit Logs.

  5. In the dialog box that appears, estimate log fees, read the prompt, and then click Enable.

    Note

    The audit log feature depends on Simple Log Service. If Simple Log Service is not activated for your Alibaba Cloud account, you are prompted to activate Simple Log Service.

Related API operations

API operation

Description

ModifyAuditLogConfig

Enables or disables the audit log feature and specifies a retention period for audit logs.

DescribeAuditLogConfig

Queries the audit log configurations of an ApsaraDB for Redis instance. The configurations include whether the audit log feature is enabled and the retention period of audit logs.

DescribeAuditRecords

Queries the audit logs of an ApsaraDB for Redis instance.

FAQ

  • How do I disable the audit log feature for an instance?

    Log on to the ApsaraDB for Redis console and go to the Audit Log page of the instance. In the upper-right corner of the page, click Service Settings. Then, you can disable the audit log feature.

  • How do I download all audit logs?

    You can use multiple methods to download audit logs. For more information, see Download logs. To download all audit logs, take note of the following items:

    • You must specify the redis_audit_log_standard Logstore and specify the project name in the following format: nosql-{ID of your Alibaba Cloud account}-{Region}. Example: nosql-176498472******-cn-hangzhou.

    • You must select Download All Logs with Cloud Shell or Download All Logs Using Command Line Tool. If you select Download Log in Current Page, you can download only the audit logs that are displayed on the current page.

  • Why does the audit log feature support write operations but not read operations?

    In most scenarios, the number of read operations is larger than the number of write operations. The auditing for read operations can cause serious performance degradation. In addition, a large number of audit logs need to be generated and stored for read operations. As a consequence, ApsaraDB for Redis may discard specific audit logs to ensure service stability. Due to these issues, the audit log feature does not support read operations.

  • If I specify different log retention periods for two instances in the same region that have the audit log feature enabled, which log retention period is applied to all the instances in the region?

    The last log retention period that you specify is applied.

  • Why do I find that the client IP addresses recorded in specific audit logs are not the same as the IP address of the client on which my application runs?

    The audit logs record write operations on the database system. You can filter out this type of information.

  • Why am I unable to enable the audit log feature for an instance that runs Redis 4.0 or later?

    The minor version of the instance needs to be updated. For more information about how to update the minor version of an instance, see Update the minor version.