Ağ ve güvenlik özelliklerini yapılandırma

Tamamlandı

MySQL için Azure Veritabanı- Esnek Sunucu'daki temel ağ ve güvenlik özellikleri arasında erişim denetimi, bağlantı, kimlikleri, rolleri ve izinleri yönetmeye yönelik merkezi bir platform olan Microsoft Entra Id desteği yer alır. MySQL esnek sunucuları ayrıca aktarımdaki tüm verileri varsayılan olarak şifreler ve Bekleyen verileri Azure veya müşteri tarafından yönetilen anahtarlarla şifrelemeyi etkinleştirir.

Ağ erişimini yapılandırma

MySQL esnek sunucusu oluştururken, isteğe bağlı özel uç noktaya sahip izin verilmiş IP adresleri için Azure Sanal Ağ üzerinden özel erişim veya genel erişim seçebilirsiniz. Temel Bilgiler bölümünü tamamladıktan sonra İleri: Ağ'ı ve ardından Genel erişim ve Özel uç nokta veya Özel erişim'i seçin:

Genel ve özel erişim arasındaki ağ bağlantısı seçiminin ekran görüntüsü.

Genel erişim ve Özel uç nokta'yı seçerseniz veritabanının İnternet'te kullanıma açılıp açılmayacağını seçebilirsiniz. Genel erişime izin ver seçili değilse, veritabanına yalnızca özel uç noktalar tarafından erişilebilir ve genel IP adresi kullanılamaz. Genel İnternet erişimini korumak için Genel erişime izin ver'i seçin, ardından Güvenlik duvarı kuralları bölümünün altında izin verilenler listesine IP adresleri veya aralıklar ekleyin. Azure ağındaki tüm Azure hizmetlerini izin verilenler listesine eklemek için Azure'ın içindeki herhangi bir Azure hizmetinden bu sunucuya genel erişime izin ver'i seçin.

Genel erişim için ağ bağlantısı seçiminin ve güvenlik duvarı kurallarının listesinin ekran görüntüsü.

Genel erişime ek olarak veya bunun yerine özel uç nokta yapılandırabilirsiniz. Wingtip Toys şirket içi ağı ile Azure arasında VPN çalıştırmayı planladığından özel uç noktayı atlayacağız. Özel bağlantı ayarlama hakkında daha fazla bilgi için başvuru belgelerine bakın.

Yalnızca Sanal Ağ bağlantılarına izin vermek için Özel erişim'i seçin ve ardından uygun Abonelik, Sanal ağ ve Alt Ağ'ı seçin. Bir sanal ağ ve alt ağ seçmezseniz yeni bir ağ ve alt ağ oluşturulur.

Abonelik, sanal ağ ve alt ağ gibi sanal ağ ayarlarının ekran görüntüsü.

Son olarak, IP adresi yerine değişebilecek olan tam etki alanı adı kullanarak bağlanmak için Özel DNS entegrasyonu ayarlamanız gerekir. Mevcut bir DNS bölgesini seçin veya Azure'ın sizin için yeni bir dns bölgesi oluşturmasına izin verin.

Özel DNS tümleştirme yapılandırmasının ekran görüntüsü.

Aktarım sırasında şifrelemeyi yapılandırma

Varsayılan olarak, MySQL esnek sunucuları yalnızca TLS (Aktarım Katmanı Güvenliği) sürüm 1.2 kullanan şifreli bağlantıları kabul eder. TLS 1.3 destekleyen yeni uygulamalar geliştiriyorsanız, daha yeni sürümü desteklemeniz ve hatta zorunlu kılmanız önerilir. Bunun için aşağıdaki adımları uygulayın:

  1. Azure portalında TLS 1.3 ile bağlanmak istediğiniz MySQL esnek sunucusunu seçin.
  2. Sunucu parametreleri bölümünde, Üst veya Tüm filtrelerin arama çubuğuna tls_version girin.
  3. DEĞER açılan listesinde TLSv1.2 ve/veya TLSv1.3'i seçin ve ardından Kaydet'i seçin. server-parameters-tls-version ekran görüntüsü.

Ayrıca parametresinin require_secure_transport değerini kapalı olarak ayarlayarak şifrelenmemiş bağlantılara izin veresiniz, ancak bu kesinlikle gerekli olmadıkça önerilmez.

Bulut için Microsoft Defender

Bulut için Microsoft Defender, anormal veya şüpheli veritabanı etkinliğini algılamanın ve uyarı vermenin uygun maliyetli bir yoludur. Etkinleştirmek için şu adımları uygulayın:

  1. Azure portalında Defender ile korumak istediğiniz MySQL esnek sunucusunu seçin.

  2. Bulut için Microsoft Defender bölümünde Etkinleştir'i seçin.

Bulut için Microsoft Defender'ı etkinleştirmeye yönelik bu düzeltmenin ekran görüntüsü.

Uyarıları yapılandırma da dahil olmak üzere Defender hakkında daha fazla bilgi edinmek için başvuru belgelerine bakın.

Microsoft Entra ID kimlik doğrulamasını kullanarak etkinleştirme ve bağlanma

Başlamadan önce, uygun şekilde yapılandırılmış bir kullanıcı tarafından yönetilen kimliğe (UMI) ihtiyacınız vardır. Kimliğin Dizin Okuyucuları rolüne veya şu bireysel izinlere ihtiyacı vardır: User.Read.All, GroupMember.Read.All ve Application.Read.ALL. Bu izinleri ekleme hakkında daha fazla bilgi için bu öğreticiye bakın.

MySQL için Azure Veritabanı esnek bir sunucu için Microsoft Entra Id kimlik doğrulamasını etkinleştirmek için aşağıdaki adımları gerçekleştirin:

  1. Azure portalında, Microsoft Entra Id kullanarak bağlanmak istediğiniz MySQL esnek sunucusunu seçin.

  2. Güvenlik bölümünde Kimlik Doğrulaması'nı seçin.

    Microsoft Entra Id yapılandırmasının ekran görüntüsü.

  3. Erişim ata başlığı altında şunlardan birini seçin: Yalnızca Microsoft Entra kimlik doğrulaması (yerel MySQL kullanıcı/parola oturum açma özelliğini devre dışı bırakır) veya MySQL ve Microsoft Entra kimlik doğrulaması (yerel MySQL ve Microsoft Entra oturum açmalarına izin verir).

  4. Kimlik Seç başlığı altında, bu ünitede daha önce bahsedilen UMI'yi seçin.

  5. Microsoft Entra Yöneticisi olmak için bir Microsoft Entra kullanıcısı veya grubu seçin. Bir grup seçerseniz, grubun tüm üyeleri yönetici olur. Yalnızca bir yönetici kullanıcınız veya grubunuz olabilir ve başka bir kullanıcı seçtiğinizde önceki yöneticinin yerini alır.

    Microsoft Entra Id etkinleştirildiğinde, artık aşağıdaki adımları uygulayarak Microsoft Entra ID kimlik doğrulamasını kullanarak MySQL esnek sunucusuna bağlanabilirsiniz.

  6. Azure ile bir kabuğun kimliğini doğrulama. Azure Cloud Shell kullanıyorsanız, kimliğiniz oturumda zaten yapılandırılmıştır, bu nedenle oturum açmanız gerekmez. Kimliği doğrulanmamış bir terminal kullanıyorsanız aşağıdaki komutları çalıştırın:

    az login
    az account set --subscription <subscription_id>
    
  7. Kimliği doğrulanmış bir kabukta, erişim belirtecini almak için aşağıdaki komutu çalıştırın:

    az account get-access-token --resource-type oss-rdbms

  8. Oturum açmak için, sunulan erişim belirtecini kopyalayın ve parola olarak kullanın. Erişim belirtecini doğrudan mysql istemcisine geçirmek için Linux'ta aşağıdaki komutu çalıştırın:

    mysql -h mydb.mysql.database.azure.com \
     --user user@tenant.onmicrosoft.com \
     --enable-cleartext-plugin \
     --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
    

    PowerShell kullanıyorsanız aşağıdaki komutu çalıştırın:

    mysql -h mydb.mysql.database.azure.com \
     --user user@tenant.onmicrosoft.com \
     --enable-cleartext-plugin \
     --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)
    

    MySQL Workbench gibi diğer istemcileri kullanırken erişim belirtecini parola alanına yapıştırmanız yeter.

Bekleyen verileri müşteri tarafından yönetilen anahtarlarla şifreleme

Azure portalını veya Azure CLI'yi kullanarak bekleyen şifrelemeyi yapılandırabilirsiniz. Ancak, müşteri tarafından yönetilen anahtarlarla şifrelemeyi etkinleştirebilmeniz için önce aşağıdaki önkoşulların karşılandığını doğrulamanız gerekir:

  • Kullanıcı tarafından yönetilen kimlik (UMI). Anahtar kasasına erişmek için veritabanının UMI'sine ihtiyacınız vardır.

  • İzinler. Rol tabanlı erişim (IAM) veya kasa erişim ilkesi ayarlayın ve UMI'ye şu izinleri verin: Alma, Listeleme, Sarmalama anahtarı ve Anahtar Açma.

  • [geçici silme](/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior) seçeneğini etkinleştirin. Bir şifreleme anahtarına erişimin yanlışlıkla kaybolması kalıcı veri kaybına neden olabilir. Geçici silmeyi koruma katmanı olarak etkinleştirin. Azure portalını kullanarak yeni bir anahtar kasası oluşturduğunuzda geçici silme varsayılan olarak etkinleştirilir.

    Kasanın adını biliyor ancak kimliğini bilmiyorsanız, şunu çalıştırarak bu kasayı arayabilirsiniz:

    az keyvault show --name $KEY_VAULT_NAME
    

    Mevcut kasada geçici silmeyi etkinleştirmek için şunu çalıştırın:

    az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
    
  • Temizleme korumasını etkinleştirin. Geçici olarak silinen anahtar, kullanıcı veya kod hatası nedeniyle saklama süresi dolmadan önce yanlış bir şekilde temizlenebilir. Temizleme koruması kullanıldığında, silinen nesneler kalıcı olarak kaldırılmadan önce saklama süresi ayarlanır.

Artık bekleyen verileri şifrelemek üzere müşteri tarafından yönetilen anahtarı yapılandırmak için Azure portalını veya Azure CLI'yi kullanabilirsiniz.

Azure portalını kullanıyorsanız:

  1. Esnek sunucu örneğinize gidin ve Güvenlik'in altında Veri şifreleme'yi seçin.

    Müşteri tarafından yönetilen anahtar seçmek için ayarlar sayfasının ekran görüntüsü.

  2. Veri şifreleme'nin altında + Seç'i seçin. Kullanıcı tarafından atanan yönetilen kimliği seç iletişim kutusunda, önkoşullarda tanımlanan kullanıcı tarafından atanan yönetilen kimliği seçin, kimliği seçin ve ardından Ekle'yi seçin.

    Kullanıcı tarafından atanan yönetilen kimliği seçmek için iletişim kutusunun ekran görüntüsü.

  3. Ardından bir anahtar tanımlayıcısı girin'i seçin ve kimliği girin veya AnahtarSeç iletişim kutusunda, tanımlayıcıyı belirterek ya da bir anahtar kasası ve anahtar seçerek anahtarı seçin.

  4. Kaydet'i seçin.

Azure CLI kullanıyorsanız aşağıdaki komutu çalıştırın:

az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY