# Redis Cloud

### Overview

The Redis Cloud integration enables organizations to gain comprehensive visibility into their Redis Cloud environment, including user access, database resources, and permission management. This integration helps security and compliance teams understand who has access to what within their Redis Cloud infrastructure.

The integration enables:

* Discovery of Redis Cloud users and their associated roles
* Mapping of database resources and their configurations
* Understanding of access control and permissions across databases
* Visibility into subscription management and database deployment settings

See [notes and supported entities](#notes-and-supported-entities) for more details.

### Configuring Redis Cloud

Redis Cloud requires API keys for authentication. You'll need to generate both an Account key and a User key with appropriate permissions.

#### Required Permissions

The user associated with the API key must have one of the following roles:

* Owner: Full access to manage all settings (recommended)
* Viewer: Read-only access to view configurations

See the [official documentation](https://docs.redis.com/latest/rc/api/) for more details.

#### Generate API Keys

1. Sign in to your Redis Cloud account as an account owner
2. From the menu, choose **Access Management**
3. Select the **API Keys** tab
4. If prompted, click **Enable API** to enable the REST API for your account

#### Create User Key

1. Click **Add** to create a new user key
2. Configure the key:
   * Enter a Key name (10-50 characters)
   * Use only alphanumeric characters, hyphens, and underscores
   * Select a user with owner or viewer role
3. Click **Create**
4. **IMPORTANT**: Copy and securely store the user key value immediately
   * This is the only time the key will be visible
   * The Finish button remains disabled until you copy the key
   * If you lose the key, you'll need to create a new one

### Configuring Redis Cloud on the Veza Platform

1. In Veza, go to the **Integrations** page
2. Click **Add Integration** and search for Redis Cloud. Click on it and click **Next** to add an integration
3. Enter the required information
4. Click **Create Integration** to save the configuration

| Field         | Notes                                                                    |
| ------------- | ------------------------------------------------------------------------ |
| Insight Point | Choose whether to use the default data plane or a deployed Insight Point |
| Name          | A friendly name to identify this Redis Cloud integration                 |
| Account Key   | Your API Account Key from Redis Cloud Access Management → API Keys       |
| User Key      | Your API User Key from Redis Cloud Access Management → API Keys          |

### Notes and Supported Entities

#### Application Users

| Attribute            | Notes                                                          |
| -------------------- | -------------------------------------------------------------- |
| `id`                 | The user's unique identifier                                   |
| `name`               | The user's name                                                |
| `email`              | The user's email address                                       |
| `role`               | User's role (Owner, Billing Admin, Manager, Member, or Viewer) |
| `has_api_key`        | True if the user has an API key                                |
| `billing`            | True if the user will receive billing emails                   |
| `email_alerts`       | True if the user will receive email alerts                     |
| `operational_emails` | True if the user will receive operational emails               |
| `user_category`      | Either "Application User" or "Database User"                   |
| `mfa_enabled`        | True if the user has MFA enabled                               |
| `user_type`          | Type of user account (e.g., "Local")                           |

#### Database Users

| Attribute       | Notes                                        |
| --------------- | -------------------------------------------- |
| `id`            | The user's unique identifier                 |
| `name`          | The user's name                              |
| `is_active`     | True if user is active, false otherwise      |
| `user_category` | Either "Application User" or "Database User" |
| `role`          | User's database access role                  |
| `status`        | User's current status                        |

#### Database Resources

| Attribute                  | Notes                                        |
| -------------------------- | -------------------------------------------- |
| `id`                       | The database's unique identifier             |
| `name`                     | The database's name                          |
| `protocol`                 | Protocol of the database (e.g., "redis")     |
| `provider`                 | Cloud provider (e.g., "AWS")                 |
| `region`                   | Geographic region where database is deployed |
| `redis_version_compliance` | Redis version compatibility                  |
| `status`                   | Database status                              |
| `replication`              | True if replication is enabled               |
| `activated_on`             | Timestamp of database activation             |
| `last_modified`            | Timestamp of last modification               |

#### Subscription Resources

| Attribute             | Notes                                      |
| --------------------- | ------------------------------------------ |
| `id`                  | The subscription's unique identifier       |
| `name`                | The subscription's name                    |
| `deployment_type`     | Type of deployment (e.g., "single-region") |
| `storage_encryption`  | True if storage encryption is enabled      |
| `status`              | Subscription status                        |
| `number_of_databases` | Number of databases in the subscription    |

#### Roles and Permissions

Redis Cloud provides several built-in roles with specific permissions:

**Application Roles**

* **Owner**: Full access to manage all settings, subscriptions, databases, and API keys
* **Billing Admin**: Access to billing and payment settings only
* **Manager**: Can manage subscription settings and databases
* **Member**: Can manage databases without cost impact
* **Viewer**: Can view all databases and configurations

**Database Access Control Roles**

* **Full-Access**: Allows all commands
* **Read-Write**: Allows read and write commands, excludes dangerous commands
* **Read-Only**: Allows read commands only

**Permissions by Category**

| Permission Category     | Description                                            | Effective Permissions                                                                                    |
| ----------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| Access Management       | Control who can make changes to databases              | DataCreate, DataRead, DataWrite, DataDelete, MetadataCreate, MetadataRead, MetadataWrite, MetadataDelete |
| Account Settings        | Manage account info, address, and integration settings | DataRead, DataWrite, MetadataRead, MetadataWrite                                                         |
| Billing & Payments      | Manage billing details and payment methods             | DataCreate, DataRead, DataWrite, DataDelete, MetadataCreate, MetadataRead, MetadataWrite, MetadataDelete |
| Subscription Management | Create/Edit subscription settings                      | DataRead, DataCreate, DataWrite, MetadataRead, MetadataCreate, MetadataWrite                             |
| Database Management     | Create/Edit database configurations                    | DataRead, DataCreate, DataWrite, MetadataRead, MetadataCreate, MetadataWrite                             |
| View Access             | View subscriptions and databases                       | DataRead, MetadataRead                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.veza.com/4yItIzMvkpAvMVFAamTf/integrations/integrations/redis-cloud.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
