๐Ÿ”Key Vault Demostration

Azure Key Vault, Microsoft Azure tarafฤฑndan sunulan bir bulut hizmetidir. Bu hizmet, ลŸifreleme anahtarlarฤฑnฤฑ (encryption keys), sertifikalarฤฑ, API anahtarlarฤฑnฤฑ ve diฤŸer hassas bilgileri gรผvenli bir ลŸekilde saklamak ve yรถnetmek iรงin kullanฤฑlฤฑr. Key Vault'un temel amacฤฑ, bu tรผr hassas bilgileri merkezi bir yerde saklayarak gรผvenliฤŸini saฤŸlamak ve kolay eriลŸim ile yรถnetimi mรผmkรผn kฤฑlmaktฤฑr. Bu, uygulama geliลŸtiricilerin ve sistem yรถneticilerinin gรผvenlik yรถnetimini kolaylaลŸtฤฑrฤฑr ve geliลŸtirme sรผreรงlerinde verimliliฤŸi artฤฑrฤฑr. Ayrฤฑca, hassas verilerin korunmasฤฑna yardฤฑmcฤฑ olur ve uyumluluk gerekliliklerini karลŸฤฑlamak iรงin gereken denetim ve izleme รถzelliklerini sunar.

  1. Encryption Keys Yรถnetimi:

    • Azure Key Vault, veritabanlarฤฑndaki hassas verilerin ลŸifrelenmesi ve gรผvenli iletiลŸim iรงin kullanฤฑlan encryption keys (ลŸifreleme anahtarlarฤฑ) saklamak ve yรถnetmek iรงin kullanฤฑlฤฑr.

    • Bu anahtarlar, Azure'un gรผvenli veri merkezlerinde saklanฤฑr ve kullanฤฑcฤฑlarฤฑn eriลŸim dรผzeylerine gรถre yรถnetilebilir.

  2. Sertifika Yรถnetimi:

    • SSL/TLS gibi gรผvenlik sertifikalarฤฑnฤฑ saklamak ve yรถnetmek iรงin kullanฤฑlฤฑr.

    • Key Vault, sertifikalarฤฑn รถmrรผnรผ yรถnetebilir ve otomatik yenileme gibi iลŸlemleri destekleyebilir.

  3. API Anahtarlarฤฑ ve DiฤŸer Gizli Bilgilerin Saklanmasฤฑ:

    • Uygulamalarฤฑn harici hizmetlere eriลŸiminde kullanฤฑlan API keys ve benzeri gizli bilgileri saklamak iรงin kullanฤฑlฤฑr.

    • Bu yaklaลŸฤฑm, hassas bilgilerin uygulama kodu iรงinde sabitlenmesi riskini azaltฤฑr ve gรผvenlik risklerini รถnler.

  4. Merkezi Saklama ve Gรผvenlik:

    • Key Vault, tรผm hassas bilgileri merkezi bir konumda saklar, bu da gรผvenlik yรถnetimini ve eriลŸimi kolaylaลŸtฤฑrฤฑr.

    • EriลŸim kontrolleri ile kullanฤฑcฤฑlarฤฑn ve uygulamalarฤฑn hangi bilgilere eriลŸebileceฤŸi detaylฤฑ bir ลŸekilde ayarlanabilir.


Demo:

Adฤฑm 1: ร–ncelikle, service principal oluลŸturuyoruz. Ve oluลŸturduฤŸumuz service principal overview kฤฑsmฤฑndan, Application (client) ID - Object ID - Directory (tenant) ID bilgilerini bir yere kaydediyoruz.


Adฤฑm 2: OluลŸturduฤŸumuz key vault objesi iรงerisinde, "Client Secret" yaratmalฤฑyฤฑz. Ve oluลŸturduktan sonra ekranda รงฤฑkan client secret id ve value deฤŸerlerini not etmeliyiz.


Adฤฑm 3: Ardฤฑndan, Key Vault objesi oluลŸturalฤฑm ve Access policies kฤฑsmฤฑndan service principal iรงin gerekli izinleri verelim. Bizim รถrneฤŸimizde get-list izinleri verdik.


Adฤฑm 4: Key vault iรงerisinde, test iรงin eriลŸip okuyacaฤŸฤฑmฤฑz bir secret oluลŸturuyoruz.


pip install azure-identity azure-keyvault-secrets

Adฤฑm 5: Testi yapacaฤŸฤฑmฤฑz cihazฤฑmฤฑza, python key vault paketini ve identity paketini pip ile kurmalฤฑyฤฑz.


list_secrets.py
from azure.identity import ClientSecretCredential
from azure.keyvault.secrets import SecretClient

# Service Principal ve Key Vault Bilgileri
tenant_id = "<your-tenant-id>"
client_id = "<your-client-id>"
client_secret = "<your-client-secret>"
key_vault_url = "https://<your-key-vault-name>.vault.azure.net/"

# Service Principal Kimlik DoฤŸrulamasฤฑ
credential = ClientSecretCredential(tenant_id, client_id, client_secret)
client = SecretClient(vault_url=key_vault_url, credential=credential)

# Key Vault'taki Secret'leri Listele ve DeฤŸerlerini Yazdฤฑr
print("Key Vault'taki Secret ve DeฤŸerleri:")
secrets = client.list_properties_of_secrets()
for secret_properties in secrets:
    secret = client.get_secret(secret_properties.name)
    print(f"- {secret.name}: {secret.value}")

Adฤฑm 6: Sฤฑra geldi, scriptimizi รงalฤฑลŸtฤฑrฤฑp, key vault รผzerinde tuttuฤŸumuz secret ve secret value deฤŸerlerini almaya, bunun iรงin yukarฤฑdaki scripti รงalฤฑลŸtฤฑrdฤฑk ve gรถreceฤŸiniz รผzere, secret ve secret value deฤŸerlerini baลŸarฤฑlฤฑ bir ลŸekilde alabildik.


Yukarฤฑdaki iลŸlemlerin tamamฤฑnฤฑ "service principal" yerine, "managed identities" ile yapabilirdik. Burada sonuรง deฤŸiลŸmezdi. Bu รถrnekte service principal'ฤฑ denedik.

Last updated