ApsaraDB for Redis provides the new version of the audit log feature. The new version is integrated with Log Service and allows you to query, analyze online, and export log data. This helps you gain insights into the security and performance of ApsaraDB for Redis instances.
Prerequisites
- The instance is a Community Edition instance or an Enhanced Edition (Tair) DRAM-based instance.
- The instance is a standard one that uses local disks or cloud disks.
Typical scenarios
ApsaraDB for Redis integrates the features of Log Service to provide an audit log feature that is stable, flexible, simple, and efficient. This feature can be used in the scenarios described in the following table. For more information about Log Service, see What is Log Service?
Typical scenario | Description |
---|---|
Operation audit | 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 compliance | Assists enterprises in complying with the audit requirements in 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 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 new 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 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" } ] }
- Full permissions:
Billing
You are charged for the audit log feature based on the storage usage and retention period of logs. The price varies based on the regions that you select. For more information, see Billable items.
Procedure
- 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.
- In the left-side navigation pane, choose .
- 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.
- Click Estimate Fees and Enable Audit Logs.
- In the dialog box that appears, estimate log fees, read the prompt, and then click Enable. Note The audit log feature depends on Log Service. If Log Service is not activated for your Alibaba Cloud account, you are prompted to activate Log Service. For more information, see What is Log Service?
Related API operations
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 the retention period of audit logs and whether the audit log feature is enabled. |
DescribeAuditRecords | Queries the audit logs of an ApsaraDB for Redis instance. |
FAQ
- Q: How do I disable the audit log feature for an instance?
A: 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.
- Q: How do I download all audit logs? A: 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. - To download all audit logs, 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.
- You must specify the redis_audit_log_standard Logstore and specify the project name in the following format:
- Q: Why does the audit log feature support write operations but not read operations?
A: In most scenarios, the number of read operations is larger than that 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 such, 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.
- Q: If I specify different log retention periods for two instances in the same region that have the new audit log feature enabled, which log retention period is applied to all the instances in the region?
A: The last log retention period that you specify is applied.
- Q: Why do I find audit logs whose client IP addresses are not the IP address of the client on which my application runs?
A: The audit logs record write operations of the control class. You can filter out this type of information.
- Q: Why am I unable to enable the audit log feature for an instance that runs Redis 4.0 or later?
A: 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.