Azure Key Vault'de şifreleme anahtarını otomatik döndürmeyi yapılandırma

Genel Bakış

Key Vault'de otomatik şifreleme anahtarı döndürme, kullanıcıların Key Vault belirtilen sıklıkta otomatik olarak yeni bir anahtar sürümü oluşturacak şekilde yapılandırmasına olanak tanır. Döndürmeyi yapılandırmak için, her bir anahtar üzerinde tanımlanabilen anahtar döndürme ilkesini kullanabilirsiniz.

Şifreleme en iyi yöntemlerini karşılamak için şifreleme anahtarlarını en az iki yılda bir döndürmeyi öneririz.

Key Vault nesneler hakkında daha fazla bilgi için bkz. Key Vault nesneler, tanımlayıcılar ve sürüm oluşturma.

Azure hizmetleriyle tümleştirme

Bu özellik, Müşteri tarafından yönetilen anahtar (CMK) Azure Key Vault'de depolanan Azure hizmetleri için bekleyen şifreleme için uçtan uca sıfır dokunma döndürmeyi etkinleştirir. Hizmetin uçtan uca döndürmeyi kapsadığını görmek için lütfen belirli Azure hizmeti belgelerine bakın.

Azure'da veri şifreleme hakkında daha fazla bilgi için bkz:

Fiyatlandırma

Zamanlanmış anahtar döndürme başına ek bir maliyet vardır. Daha fazla bilgi için bkz. Azure Key Vault fiyatlandırma sayfası

Gerekli izinler

Key Vault anahtar döndürme özelliği için anahtar yönetimi izinleri gerekir. Döndürme ilkesini ve isteğe bağlı döndürmeyi yönetmek için "Key Vault Şifreleme Sorumlusu" rolü atayabilirsiniz.

Key Vault RBAC izin modelini kullanma ve Azure rolleri atama hakkında daha fazla bilgi için bkz. Anahtarlara, sertifikalara ve gizli dizilere erişimi denetlemek için Azure RBAC kullanma

Not

Erişim ilkeleri izin modeli kullanıyorsanız anahtarlarda döndürme ilkesini yönetmek için 'Döndürme', 'Döndürme İlkesi Ayarla' ve 'Döndürme İlkesini Al' anahtar izinlerini ayarlamanız gerekir.

Anahtar döndürme ilkesi

Anahtar döndürme ilkesi, kullanıcıların süre sonu bildirimine yakın döndürme ve Event Grid bildirimlerini yapılandırmasına olanak tanır.

Anahtar döndürme ilkesi ayarları:

  • Süre sonu: anahtar süre sonu aralığı. Yeni döndürülen anahtarda son kullanma tarihini ayarlamak için kullanılır. Geçerli bir anahtarı etkilemez.
  • Etkin/devre dışı: anahtar için döndürmeyi etkinleştirme veya devre dışı bırakma bayrağı
  • Döndürme türleri:
    • Oluşturulduktan sonra belirli bir zamanda otomatik olarak yenile (varsayılan)
    • Süre dolmadan önce belirli bir zamanda otomatik olarak yenileyin. Döndürme ilkesinde 'Süre Sonu Saati' ve anahtarda 'Süre Sonu Tarihi' ayarlanmasını gerektirir.
  • Döndürme süresi: anahtar döndürme aralığı, minimum değer oluşturma işleminden yedi gün ve son kullanma tarihinden itibaren yedi gündür
  • Bildirim süresi: Event Grid bildirimi için süre sonu olay aralığına yakın bir anahtar. Döndürme ilkesinde 'Süre Sonu Saati' ve anahtarda 'Süre Sonu Tarihi' ayarlanmasını gerektirir.

Önemli

Anahtar döndürme, mevcut anahtarın yeni bir anahtar sürümünü yeni anahtar malzemesiyle oluşturur. Hedef hizmetler, anahtarın en son sürümüne otomatik olarak yenilemek için sürümsüz anahtar uri'sini kullanmalıdır. Veri şifreleme çözümünüzün, hizmetlerinizin kesintiye uğramasını önlemek için şifreleme/sarmalama işlemleri için kullanılan şifre çözme/sarmalama için kullanılan anahtar malzemesine işaret eden verilerle sürümlenmiş anahtar uri'sini depoladığından emin olun. Tüm Azure hizmetleri şu anda veri şifreleme için bu düzeni izler.

Döndürme ilkesi yapılandırması

Anahtar döndürme ilkesini yapılandırma

Anahtar oluşturma sırasında anahtar döndürme ilkesini yapılandırın.

Anahtar oluşturma sırasında döndürmeyi yapılandırma

Mevcut anahtarlarda döndürme ilkesini yapılandırın.

Mevcut anahtarda döndürmeyi yapılandırma

Azure CLI

Anahtar döndürme ilkesini bir dosyaya kaydedin. Anahtar döndürme ilkesi örneği:

{
  "lifetimeActions": [
    {
      "trigger": {
        "timeAfterCreate": "P18M",
        "timeBeforeExpiry": null
      },
      "action": {
        "type": "Rotate"
      }
    },
    {
      "trigger": {
        "timeBeforeExpiry": "P30D"
      },
      "action": {
        "type": "Notify"
      }
    }
  ],
  "attributes": {
    "expiryTime": "P2Y"
  }
}

Azure CLI az keyvault key rotation-policy update komutunu kullanarak daha önce kaydedilmiş dosyayı geçiren bir anahtarda döndürme ilkesi ayarlayın.

az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>

Azure PowerShell

Azure PowerShell Set-AzKeyVaultKeyRotationPolicy cmdlet'ini kullanarak döndürme ilkesini ayarlayın.

Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}

İsteğe bağlı döndürme

Anahtar döndürme el ile çağrılabilir.

Portal

Döndürmeyi çağırmak için 'Şimdi Döndür'e tıklayın.

İsteğe bağlı döndürme

Azure CLI

Anahtarı döndürmek için Azure CLI az keyvault key rotate komutunu kullanın.

az keyvault key rotate --vault-name <vault-name> --name <key-name>

Azure PowerShell

Invoke-AzKeyVaultKeyRotation cmdlet'ini Azure PowerShell kullanın.

Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>

Süre sonu bildirimine yakın anahtarı yapılandırma

Event Grid anahtarı için süre sonu olayının yakınında süre sonu bildirimi yapılandırması. Süre sonu olayının neredeyse tetiklenebilmesi için, süre sonu öncesi gün, ay ve yıllarla bildirimi yapılandırabilirsiniz.

Bildirimi Yapılandır

Key Vault'daki Event Grid bildirimleri hakkında daha fazla bilgi için bkz. Event Grid kaynağı olarak Azure Key Vault

ARM şablonuyla anahtar döndürmeyi yapılandırma

Anahtar döndürme ilkesi ARM şablonları kullanılarak da yapılandırılabilir.

Not

Anahtarı yönetim düzlemi üzerinden dağıtmak için Azure RBAC ile yapılandırılmış Key Vault 'Key Vault Katkıda Bulunanı' rolü gerektirir.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "vaultName": {
            "type": "String",
            "metadata": {
                "description": "The name of the key vault to be created."
            }
        },
        "keyName": {
            "type": "String",
            "metadata": {
                "description": "The name of the key to be created."
            }
        },
        "rotatationTimeAfterCreate": {
            "defaultValue": "P18M",
            "type": "String",
            "metadata": {
                "description": "Time duration to trigger key rotation. i.e. P30D, P1M, P2Y"
            }
        },
        "expiryTime": {
            "defaultValue": "P2Y",
            "type": "String",
            "metadata": {
                "description": "The expiry time for new key version. i.e. P90D, P2M, P3Y"
            }
        },
        "notifyTime": {
            "defaultValue": "P30D",
            "type": "String",
            "metadata": {
                "description": "Near expiry Event Grid notification. i.e. P30D"
            }
        }

    },
    "resources": [
        {
            "type": "Microsoft.KeyVault/vaults/keys",
            "apiVersion": "2021-06-01-preview",
            "name": "[concat(parameters('vaultName'), '/', parameters('keyName'))]",
            "location": "[resourceGroup().location]",
            "properties": {
                "vaultName": "[parameters('vaultName')]",
                "kty": "RSA",
                "rotationPolicy": {
                    "lifetimeActions": [
                        {
                            "trigger": {
                                "timeAfterCreate": "[parameters('rotatationTimeAfterCreate')]",
                                "timeBeforeExpiry": ""
                            },
                            "action": {
                                "type": "Rotate"
                            }
                        },
                        {
                            "trigger": {
                                "timeBeforeExpiry": "[parameters('notifyTime')]"
                            },
                            "action": {
                                "type": "Notify"
                            }
                        }

                    ],
                    "attributes": {
                        "expiryTime": "[parameters('expiryTime')]"
                    }
                }
            }
        }
    ]
}

Kaynaklar