Share via


Microsoft.Cache redis/accessPolicies

Bicep resource definition

The redis/accessPolicies resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis/accessPolicies resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Cache/redis/accessPolicies@2024-11-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    permissions: 'string'
  }
}

Property Values

Microsoft.Cache/redis/accessPolicies

Name Description Value
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9- ]*[a-zA-Z0-9]|[a-zA-Z0-9])$ (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: redis
properties Properties of an access policy. RedisCacheAccessPolicyProperties

RedisCacheAccessPolicyProperties

Name Description Value
permissions Permissions for the access policy. Learn how to configure permissions at https://aka.ms/redis/AADPreRequisites string (required)

Usage Examples

Bicep Samples

A basic example of deploying Redis Cache Access Policy.

param resourceName string = 'acctest0001'
param location string = 'westus'

resource redis 'Microsoft.Cache/redis@2024-11-01' = {
  name: resourceName
  location: location
  properties: {
    disableAccessKeyAuthentication: false
    enableNonSslPort: true
    minimumTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    redisConfiguration: {
      'maxmemory-policy': 'volatile-lru'
      'preferred-data-persistence-auth-method': ''
    }
    redisVersion: '6'
    sku: {
      capacity: 1
      family: 'C'
      name: 'Basic'
    }
  }
}

resource accessPolicy 'Microsoft.Cache/redis/accessPolicies@2024-11-01' = {
  parent: redis
  name: '${resourceName}-accessPolicy'
  properties: {
    permissions: '+@read +@connection +cluster|info allkeys'
  }
}

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Create a Redis Cache with Microsoft Entra Authentication. This template creates a Redis Cache. Then assigns a built-in access policy to a redis user. Then creates a custom access policy. And then assigns the custom access policy to another Redis user.

ARM template resource definition

The redis/accessPolicies resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis/accessPolicies resource, add the following JSON to your template.

{
  "type": "Microsoft.Cache/redis/accessPolicies",
  "apiVersion": "2024-11-01",
  "name": "string",
  "properties": {
    "permissions": "string"
  }
}

Property Values

Microsoft.Cache/redis/accessPolicies

Name Description Value
apiVersion The api version '2024-11-01'
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9- ]*[a-zA-Z0-9]|[a-zA-Z0-9])$ (required)
properties Properties of an access policy. RedisCacheAccessPolicyProperties
type The resource type 'Microsoft.Cache/redis/accessPolicies'

RedisCacheAccessPolicyProperties

Name Description Value
permissions Permissions for the access policy. Learn how to configure permissions at https://aka.ms/redis/AADPreRequisites string (required)

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create a Redis Cache with Microsoft Entra Authentication.

Deploy to Azure
This template creates a Redis Cache. Then assigns a built-in access policy to a redis user. Then creates a custom access policy. And then assigns the custom access policy to another Redis user.

Terraform (AzAPI provider) resource definition

The redis/accessPolicies resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Cache/redis/accessPolicies resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Cache/redis/accessPolicies@2024-11-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      permissions = "string"
    }
  }
}

Property Values

Microsoft.Cache/redis/accessPolicies

Name Description Value
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^([a-zA-Z0-9][a-zA-Z0-9- ]*[a-zA-Z0-9]|[a-zA-Z0-9])$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: redis
properties Properties of an access policy. RedisCacheAccessPolicyProperties
type The resource type "Microsoft.Cache/redis/accessPolicies@2024-11-01"

RedisCacheAccessPolicyProperties

Name Description Value
permissions Permissions for the access policy. Learn how to configure permissions at https://aka.ms/redis/AADPreRequisites string (required)

Usage Examples

Terraform Samples

A basic example of deploying Redis Cache Access Policy.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westus"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "redis" {
  type      = "Microsoft.Cache/redis@2024-11-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      disableAccessKeyAuthentication = false
      enableNonSslPort               = true
      minimumTlsVersion              = "1.2"
      publicNetworkAccess            = "Enabled"
      redisConfiguration = {
        maxmemory-policy                       = "volatile-lru"
        preferred-data-persistence-auth-method = ""
      }
      redisVersion = "6"
      sku = {
        capacity = 1
        family   = "C"
        name     = "Basic"
      }
    }
  }
}

resource "azapi_resource" "accessPolicy" {
  type      = "Microsoft.Cache/redis/accessPolicies@2024-11-01"
  parent_id = azapi_resource.redis.id
  name      = "${var.resource_name}-accessPolicy"
  body = {
    properties = {
      permissions = "+@read +@connection +cluster|info allkeys"
    }
  }
}