Apache Cassandra için Azure Yönetilen Örneği'nde müşteri tarafından yönetilen anahtarlar

Apache Cassandra için Azure Yönetilen Örneği'nde diskteki verileri şifrelemek için kendi anahtarınızı kullanabilirsiniz. Bu makalede, Azure Key Vault kullanarak müşteri tarafından yönetilen anahtarların nasıl uygulandığı açıklanmaktadır.

Önkoşullar

  • Azure Key Vault kullanarak gizli dizi ayarlayın. Daha fazla bilgi için bkz . Azure Key Vault gizli dizileri hakkında.

  • Kaynak grubunuzda bir sanal ağ dağıtın.

  • Azure Cosmos DB hizmet sorumlusuna üye olarak Ağ Katkıda Bulunanı rolünü uygulayın. Aşağıdaki komutu kullanın:

        az role assignment create \
        --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
        --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
        --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
    

    Sanal ağınıza uygun rolü uygulamak, Apache Cassandra kümesi için Azure Yönetilen Örneği dağıtırken hata oluşmasını önlemenize yardımcı olur. Daha fazla bilgi için bkz . Azure CLI kullanarak Apache Cassandra kümesi için Azure Yönetilen Örneği oluşturma.

Bu makale, Azure CLI sürüm 2.30.0 veya üzerini gerektirir. Azure Cloud Shell kullanıyorsanız en son sürüm zaten yüklüdür.

Sistem tarafından atanan kimlikle küme oluşturma

  1. Aşağıdaki komutu kullanarak bir küme oluşturun. , <subscriptionID>, <resourceGroupName>ve <vnetName> değerlerini uygun değerlerle değiştirin<subnetName>.

    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    cluster="thvankra-cmk-test-wcus"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    password="PlaceholderPassword"
    
    az managed-cassandra cluster create \
        --identity-type SystemAssigned \
        --resource-group $group \
        --location $region \
        --cluster-name $cluster \
        --delegated-management-subnet-id $subnet \
        --initial-cassandra-admin-password $password
    
  2. Oluşturulan kümenin kimlik bilgilerini alın:

    az managed-cassandra cluster show -c $cluster -g $group
    

    Çıktı, aşağıdaki örneğe benzer bir kimlik bölümü içerir. principalId Değeri daha sonra kullanmak üzere kopyalayın.

      "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
      }
    
  3. Azure portalında anahtar kasanıza gidin ve Erişim ilkeleri'ni seçin. Ardından Erişim İlkesi Ekle'yi seçerek anahtarlarınız için bir erişim ilkesi oluşturun.

    Azure portalında erişim ilkeleri bölmesini gösteren ekran görüntüsü.

  4. Anahtar izinleri için al, kaydır ve aç'ı seçin. Sorumlu seçin kutusunu seçerek Sorumlu bölmesini açın. Daha önce aldığınız kümenin principalId değerini girin ve seç düğmesini seçin. (Portalda, kümenin asıl kimliğini kümenin adına göre de arayabilirsiniz.)

    Erişim ilkesi için sorumlu ekleme örneğini gösteren ekran görüntüsü.

    Uyarı

    Anahtar kasasında temizleme korumasının açık olduğundan emin olun. Veri merkezi dağıtımları olmadan başarısız olur.

  5. Erişim ilkesini eklemek için Ekle'yi ve ardından Kaydet'i seçin.

    Erişim ilkesini kaydetme düğmesini gösteren ekran görüntüsü.

  6. Anahtar tanımlayıcısını almak için Anahtarlar'ı ve ardından anahtarınızı seçin.

    Anahtar seçme bölmesini gösteren ekran görüntüsü.

  7. Geçerli sürümü seçin.

    Bir anahtarın geçerli sürümünü seçme kutusunu gösteren ekran görüntüsü.

  8. Anahtar tanımlayıcısını daha sonra kullanmak üzere kaydedin.

    Bir anahtar tanımlayıcısını panoya kopyalamayı gösteren ekran görüntüsü.

  9. Hem yönetilen disk () hem de yedekleme depolama<key identifier> () şifrelemesi için değerini aynı anahtarla (managed-disk-customer-key-uriönceki adımda kopyaladığınız URI) değiştirerek backup-storage-customer-key-uri veri merkezini oluşturun. Daha önce kullandığınız değerin subnet aynısını kullanın.

    managedDiskKeyUri = "<key identifier>"
    backupStorageKeyUri = "<key identifier>"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    cluster="thvankra-cmk-test-2"
    dc="dc1"
    nodecount=3
    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    
    az managed-cassandra datacenter create \
        --resource-group $group \
        --cluster-name $cluster \
        --data-center-name $dc \
        --managed-disk-customer-key-uri $managedDiskKeyUri \
        --backup-storage-customer-key-uri $backupStorageKeyUri \
        --node-count $nodecount \
        --delegated-subnet-id $subnet \
        --data-center-location $region \
        --sku Standard_DS14_v2
    

Ayrıca, kimlik bilgisi olmadan mevcut bir kümeye kimlik atayabilirsiniz:

az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster

Anahtarı döndürme

Anahtarı güncelleştirmek için şu komutu kullanın:

managedDiskKeyUri = "<key identifier>"
backupStorageKeyUri = "<key identifier>"
    
az managed-cassandra datacenter update \
    --resource-group $group \
    --cluster-name $cluster \ 
    --data-center-name $dc \
    --managed-disk-customer-key-uri $managedDiskKeyUri \
    --backup-storage-customer-key-uri $backupStorageKeyUri