1. Giriş
Cloud KMS Otomatik Anahtarı, temel hazırlığı ve atamayı otomatik hale getirerek müşteri tarafından yönetilen şifreleme anahtarlarının (CMEK'ler) oluşturulmasını ve kullanılmasını kolaylaştırır. Otomatik anahtar sayesinde anahtarlıklarınızın, anahtarlarınızın ve hizmet hesaplarınızın ihtiyaç duyulmadan önce planlanıp temel hazırlığının yapılması gerekmez. Bunun yerine, Autokey, kaynaklarınız oluşturulurken anahtarlarınızı Cloud KMS yöneticileri yerine yetki verilmiş izinleri kullanarak istek üzerine oluşturur.
Autokey tarafından oluşturulan anahtarları kullanmak, endüstri standartlarına ve Colab koruma düzeyi, görevlerin ayrılması, anahtar rotasyonu, konum ve anahtar spesifikliği gibi veri güvenliği için önerilen uygulamalara tutarlı bir şekilde uyum sağlamanıza yardımcı olabilir. Otomatik anahtar, Cloud KMS Otomatik Anahtarı ile entegre olan Google Cloud hizmetlerinin kaynak türüne özel genel yönergelere ve yönergelere uygun anahtarlar oluşturur. Oluşturulduktan sonra anahtarlar, otomatik anahtar işlevi kullanılarak aynı ayarlara sahip diğer Cloud KMS anahtarlarıyla aynı şekilde istenir.
Oluşturacaklarınız
Bu codelab'de aşağıdaki öğeleri oluşturarak Cloud KMS Otomatik Anahtarı'nı kullanarak korumalı kaynakları başlatacaksınız:
- bir klasör kaynağı
- anahtarlarınızı içerecek bir proje
- anahtar yönetici asistanınız olarak davranacak bir hizmet aracısı
- korunan kaynaklarınızı barındıracak bir proje
- Cloud KMS Otomatik Anahtarı ile şifrelenmiş BigQuery veri kümeleri, kalıcı diskler ve Cloud Storage paketleri
Gerekenler
- Google Cloud Kuruluşu
- Bu laboratuvarı tamamlamak için Google Cloud ana hesabınızın Kuruluş düzeyinde aşağıdaki rollere sahip olması gerekir:
- Cloud KMS Autokey Yöneticisi (roles/cloudkms.autokeyAdmin)
- Klasör IAM Yöneticisi (roles/resourcemanager.folderIamAdmin)
- Faturalandırma Hesabı kullanıcısı (roles/billing.user)
- Faturalandırma Etkinleştirilmiş Google Cloud Projeleri
- Temel Linux Deneyimi
2. Klasör oluşturun
Klasörler, Cloud Platform Kaynak Hiyerarşisi'ndeki düğümlerdir. Bir klasör; projeleri, diğer klasörleri veya her ikisinin bir birleşimini içerebilir. Kuruluş kaynakları, projeleri bir hiyerarşide kuruluş kaynak düğümü altında gruplandırmak için klasörleri kullanabilir. Klasör oluşturmak için:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Sayfanın üst tarafındaki kuruluş açılır listesinde kuruluş kaynağınızın adının seçili olduğundan emin olun.
- Klasör oluştur'u tıklayın
- Standart Klasör Seçin
- Klasör adı kutusuna yeni klasörünüzün adını girin. Bu laboratuvarda "Otomatik Anahtar Klasör"ü kullanabilirsiniz.
- Hedef bölümünde, Göz at'ı tıklayın ve ardından yeni klasörünüzü oluşturmak istediğiniz kuruluş kaynağını veya klasörü seçin.
- Oluştur'u tıklayın.
3. Kaynak Projesi Oluşturma
Cloud KMS Otomatik Anahtarı ile şifrelemek istediğiniz kaynakları (ör. BigQuery veri kümeleri, kalıcı diskler ve Cloud Storage Paketleri) içerecek bir kaynak projesi oluşturmanız önemlidir. Anahtar projede Otomatik Anahtar ile korunan kaynaklar oluşturmaya çalışırsanız otomatik anahtar, yeni anahtar isteğini reddeder. Kaynak projeyi oluşturmak için:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Proje Oluştur'u tıklayın.
- Sayfanın üst kısmındaki Kuruluş seçin açılır listesinden "Otomatik Anahtar Klasör"ü seçin tıklayın.
- Açılan Yeni Proje penceresinde bir proje adı girin ve uygun bir faturalandırma hesabı seçin. Bu laboratuvarda "Otomatik Anahtarla Şifrelenmiş Kaynaklar"ı inceleyin.
- Konum kutusunda "Otomatik Anahtar Klasörü"nü seçin. tıklayın. Bu kaynak, yeni projenin hiyerarşik üst öğesi olacaktır. Ayarlarınız şuna benzer bir görünümde olacaktır:
- Proje kimliğini kopyalayın. Yukarıdaki örnekte proje kimliği "causal-hour-43319-m4" şeklindedir. ancak kimliğiniz seçtiğiniz metin düzenleyicide farklı olur.
- Oluştur'u tıklayın
- Ekranınızın sağ üst köşesindeki Cloud Shell simgesini seçin
- Cloud Shell etkinleştirildiğinde aşağıdaki komutu çalıştırarak Autokey proje kimliğinizi değişken olarak kaydedin:
export RESOURCE_PROJECT=<paste your Resource Project ID>
Proje kimliğim "key-management-433319" olduğu için komut şöyle görünüyor:
export AUTOKEY_PROJECT=causal-hour-43319-m4
- Anahtar projenizden komutları yürütmek için aşağıdaki komutu çalıştırın:
gcloud config set project $RESOURCE_PROJECT
İstendiğinde "Yetkilendir"i tıklayarak Cloud Shell'i yetkilendirin
- Bu proje kaynaklar içereceğinden, Otomatik Anahtar'ın koruyacağı hizmetler için API'leri etkinleştirmemiz gerekir. Aşağıdaki komutu çalıştırın:
gcloud services enable storage.googleapis.com bigquery.googleapis.com compute.googleapis.com
4. Temel Proje Oluşturma
Autokey tarafından oluşturulan Cloud KMS kaynaklarını içerecek bir proje oluşturmanızı öneririz. Bu, "temel proje" olarak adlandırılır devam edebilir. Anahtar proje, otomatik anahtarı etkinleştirmeyi planladığınız klasörün içinde oluşturulabilir. Anahtar projenin içinde başka kaynaklar oluşturmamalısınız. Anahtar projede Otomatik Anahtar ile korunan kaynaklar oluşturmaya çalışırsanız otomatik anahtar, yeni anahtar isteğini reddeder. Anahtar projeyi oluşturmak için:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Proje Oluştur'u tıklayın.
- Sayfanın üst kısmındaki Kuruluş seçin açılır listesinden "Otomatik Anahtar Klasör"ü seçin tıklayın.
- Açılan Yeni Proje penceresinde bir proje adı girin ve uygun bir faturalandırma hesabı seçin. Bu laboratuvarda "Key Management"ı (Anahtar Yönetimi) inceleyin.
- Konum kutusunda "Otomatik Anahtar Klasörü"nü seçin. tıklayın. Bu kaynak, yeni projenin hiyerarşik üst öğesi olacaktır. Ayarlarınız şuna benzer bir görünümde olacaktır:
- Proje kimliğini kopyalayın. Yukarıdaki örnekte proje kimliği "key-management-433319" şeklindedir. ancak kimliğiniz seçtiğiniz metin düzenleyicide farklı olur.
- Oluştur'u tıklayın.
5. Autokey anahtar projesini hazırlama
Artık her proje oluşturulduğuna göre şimdi sıra anahtar projesini Cloud KMS Otomatik Anahtarı'nı kullanacak şekilde yapılandırmaya geldi.
- Ekranınızın sağ üst köşesindeki Cloud Shell simgesini seçin
- Cloud Shell etkinleştirildiğinde aşağıdaki komutu çalıştırarak Autokey proje kimliğinizi değişken olarak kaydedin:
export AUTOKEY_PROJECT=<paste your Autokey Project ID>
Proje kimliğim "key-management-433319" olduğu için komut şöyle görünüyor:
export AUTOKEY_PROJECT=key-management-433319
- Anahtar projenizden komutları yürütmek için aşağıdaki komutu çalıştırın:
gcloud config set project $AUTOKEY_PROJECT
İstendiğinde "Yetkilendir"i tıklayarak Cloud Shell'i yetkilendirin
- Aşağıdaki komutu çalıştırarak Cloud KMS API'yi etkinleştirin
gcloud services enable cloudkms.googleapis.com kmsinventory.googleapis.com
- Proje Numaranızı autoKEY_PROJECT_NUMBER adlı bir değişken olarak kaydetmek için aşağıdaki komutu çalıştırın
export AUTOKEY_PROJECT_NUMBER=$(gcloud projects list \
--filter="$(gcloud config get-value project)" \
--format="value(PROJECT_NUMBER)")
- Aşağıdaki komutu çalıştırarak Ana Hesabınızın e-postasını değişken olarak kaydedin:
export KEY_ADMIN_EMAIL=<paste your Principal's email>
- Cloud KMS yönetici kullanıcılarınıza anahtar projesinde Cloud KMS yöneticisi izinlerini verin
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=user:$KEY_ADMIN_EMAIL
6. Cloud KMS hizmet aracılarını ayarlama
Bir anahtar projesinin Cloud KMS hizmet aracısı, insan Cloud KMS yöneticisi adına anahtar oluşturur ve kaynak oluşturma sırasında IAM politikası bağlamaları uygular. Cloud KMS hizmet aracısı, anahtar oluşturup atayabilmek için Cloud KMS yönetici izinlerini gerektirir.
- Aşağıdaki komutla Kuruluş kimliğini bulun:
gcloud organizations list | grep -P -i 'ID:' | grep -i '[0-9]'
- Kuruluş kimliğini kopyalayın. Bu, kırmızıyla vurgulanan sayısal sonuçtur
- Kuruluş kimliğini ORG_ID adlı bir değişken olarak kaydedin:
export ORG_ID=<paste your Organization ID>
- Aşağıdaki komutu çalıştırarak Cloud KMS hizmet aracısını oluşturun:
gcloud beta services identity create --service=cloudkms.googleapis.com \
--project=$AUTOKEY_PROJECT_NUMBER
- Hizmet aracısına Cloud KMS yöneticisi rolü verin:
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=serviceAccount:service-$AUTOKEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com
- Cloud KMS Anahtarı kullanımınızı görüntüleyebilmek için bir IAM politikası bağlaması ekleyin. Anahtar Kullanımı, her anahtarla ilgili olarak anahtarı kullanan korumalı kaynakların, projelerin ve benzersiz Google Cloud ürünlerinin sayısı da dahil olmak üzere bilgiler sağlar. Bu ayrıntı düzeyi, anahtarda Cloud KMS Görüntüleyici rolüne sahip olan herkes tarafından kullanılabilir. Aşağıdaki komutu çalıştırın:
gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
--member="serviceAccount:service-org-$ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- Cloud KMS hizmet hesabınıza, kuruluş kaynağınızda Cloud KMS Kuruluş Hizmet Aracısı (cloudkms.orgServiceAgent) rolü verin.
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="serviceAccount:service-org-$ORG_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- Anahtar kullanım ayrıntılarını görüntülemesi gereken herkese Kuruluş kaynağınızda Cloud KMS Korunan Kaynaklar Görüntüleyici rolünü verin.
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="user:$KEY_ADMIN_EMAIL" \
--role='roles/cloudkms.protectedResourcesViewer'
7. Autokey kullanıcı rolleri verme
Geliştiricilerinizin Otomatik Anahtar'ı kullanabilmesi için öncelikle onlara gerekli rolü vermeniz gerekir. Rolü, klasör düzeyinde veya proje düzeyinde verebilirsiniz. Bu rol, geliştiricilerin söz konusu klasör veya projede kaynak oluştururken Cloud KMS hizmet aracısından anahtar istemesine olanak tanır.
Rolün verilmesinde ilk adım, Klasör Kimliği'ni kaydetmektir.
- Aşağıdaki komutla Klasör Kimliğini bulun:
gcloud projects describe $AUTOKEY_PROJECT | grep 'id' | grep -P -i '[0-9]+'
- Klasör kimliğini kopyalayın (kırmızıyla vurgulanmış kısım)
- Klasör kimliğini folder_ID adında bir değişken olarak kaydedin
export FOLDER_ID=<paste the folder ID>
Bu laboratuvara özel olarak anahtar yöneticisini Otomatik Anahtar kullanıcısı olarak tanımlayacağız. Ancak üretimin kullanıldığı durumlarda ve birden fazla kişinin bulunduğu kuruluşlarda anahtar yönetici, Otomatik Anahtar'ı kullanan geliştiriciden farklı olmalıdır.
- Klasör düzeyinde roller/cloudkms.autokeyUser rolünü verin:
gcloud resource-manager folders add-iam-policy-binding \
$FOLDER_ID --role=roles/cloudkms.autokeyUser \
--member=user:$KEY_ADMIN_EMAIL
8. Bir kaynak klasöründe Cloud KMS Otomatik Anahtarını etkinleştirme
Bu adımda, bir kaynak klasöründe Cloud KMS Otomatik Anahtarı'nı etkinleştirecek ve bu klasör için Otomatik Anahtar kaynaklarını içerecek Cloud KMS projesini tanımlayacaksınız. Bu klasör için Otomatik Anahtar etkinleştirildiğinde, klasör içindeki tüm kaynak projeleri için Otomatik Anahtar etkinleştirilir.
- Google Cloud konsolunda KMS kontrolleri sayfasına gidin.
- Klasör Seç'i tıklayın.
- Bağlam seçicide, Otomatik Anahtar'ı etkinleştirmek istediğiniz klasörü seçin. Bu, daha önce oluşturduğunuz aynı klasör olacaktır ve kaynak projenizi ve anahtar yönetim projenizi içerir. Aşağıdaki gibi görünmelidir:
- Etkinleştir'i tıklayın.
- Anahtar projeyi seçmek için Göz at'ı tıklayın.
- Anahtar yönetim projenizi seçip Gönder'i tıklayın.
Cloud KMS Otomatik Anahtarı'nın klasörde etkinleştirildiğini onaylayan bir mesaj gösterilir. KMS Kontrolleri sayfası şu şekilde görünmelidir:
9. Cloud KMS Otomatik Anahtarı'nı kullanarak korumalı kaynaklar oluşturma
Compute Engine Kalıcı Diskleri
Otomatik anahtar, oluşturulan kaynakla aynı konumda her disk, görüntü ve makine görüntüsü için yeni bir anahtar oluşturur.
Disk oluşturmak için aşağıdaki adımları tamamlayın:
- Google Cloud Console'da Diskler sayfasına gidin.
- Disk oluştur'u tıklayın ve yeni diskin özelliklerini girin.
- Şifreleme bölümünde Cloud KMS anahtarını seçin.
- Anahtar türü olarak Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni bir anahtar iste'yi tıklayın. Anahtarınızın başarıyla oluşturulduğunu ve kullanıma hazır olduğunu belirten bir mesaj gösterilir.
- Disk oluşturmayı tamamlamak için Oluştur'u tıklayın.
Korumalı sanal makine örneği, görüntü ve makine görüntüsü kaynakları oluşturmak için de benzer bir süreç uygulayabilirsiniz.
Google Cloud Storage Paketleri
Otomatik anahtar, paket ile aynı konumda yeni bir anahtar oluşturur. Otomatik anahtar tarafından oluşturulan anahtar, paket varsayılan anahtarı olarak atanır.
Otomatik anahtar, nesneler için anahtar oluşturmaz. Varsayılan olarak, bir pakette oluşturulan nesneler paketin varsayılan anahtarını kullanır. Bir nesneyi paketin varsayılan anahtarı dışında bir anahtar kullanarak şifrelemek istiyorsanız manuel olarak CMEK oluşturabilir ve nesneyi oluştururken bu anahtarı kullanabilirsiniz.
- Google Cloud konsolunda Paket oluştur sayfasına gidin.
- Dünya genelinde benzersiz, kalıcı bir ad seçin.
- Veri konumu seçin.
- "Nesne verilerinin nasıl korunacağını seçin" bölüm
- "Nesne verilerinin nasıl korunacağını seçin"i tıklayın bölümü genişletmek için
- Veri şifreleme bölümünü genişletin ve Cloud KMS anahtarını seçin.
- Anahtar türü olarak Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni bir anahtar iste'yi tıklayın. Anahtarınızın başarıyla oluşturulduğunu ve kullanıma hazır olduğunu belirten bir mesaj gösterilir.
- Paket oluşturmayı tamamlamak için Oluştur'u tıklayın. "Herkese açık erişim engellenecek" mesajını içeren bir iletişim kutusu gösterilirse Onayla'yı tıklayın.
BigQuery Veri Kümesi
Otomatik anahtar, her yeni veri kümesi için kaynağın kendisiyle aynı konumda yeni bir anahtar oluşturur ve bu anahtar, veri kümesinin varsayılan anahtarı olur. Otomatik anahtar; tablolar, sorgular, geçici tablolar veya modeller için anahtar oluşturmaz. Bu kaynaklar, varsayılan olarak veri kümesinin varsayılan anahtarıyla korunur. Veri kümesindeki bir kaynağı, veri kümesi varsayılan anahtarı dışında bir anahtar kullanarak korumak istiyorsanız manuel olarak CMEK oluşturabilir ve kaynağı oluştururken bu anahtarı kullanabilirsiniz.
BigQuery veri kümesi oluşturmak için önce BigQuery Kullanıcısı rolüne sahip olmanız gerekir.
- Cloud Shell'e dön
- Cloud Shell'inizi kaynak projesinden komutları yürütecek şekilde ayarlayın
gcloud config set project $RESOURCE_PROJECT
- Proje Numaranızı SOURCE_PROJECT_NUMBER adlı bir değişken olarak kaydetmek için aşağıdaki komutu çalıştırın
export RESOURCE_PROJECT_NUMBER=$(gcloud projects list --filter="$(gcloud config get-value project)" --format="value(PROJECT_NUMBER)")
- Kendinize BigQuery Kullanıcısı rolü verin
gcloud projects add-iam-policy-binding $RESOURCE_PROJECT_NUMBER \
--role=roles/bigquery.user \
--member=user:$KEY_ADMIN_EMAIL
Artık BigQuery Kullanıcısı rolüne sahip olduğunuza göre, bir veri kümesi oluşturup Otomatik Anahtar ile koruyabilirsiniz.
- Google Cloud konsolunda BigQuery sayfasına gidin.
- Veri kümesi oluşturma talimatlarını uygulayarak Gelişmiş seçenekler > Şifreleme.
- Şifreleme bölümünde Cloud KMS anahtarını seçin.
- Anahtar türü olarak Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni bir anahtar iste'yi tıklayın. Anahtarınızın başarıyla oluşturulduğunu ve kullanıma hazır olduğunu belirten bir mesaj gösterilir.
- Veri kümesini oluşturmayı tamamlamak için Veri kümesi oluştur'u tıklayın.
10. Anahtarlarınızı keşfedin
Bu adımda, Anahtar Envanteri sayfasını ziyaret ederek sizin adınıza oluşturulan Cloud KMS Otomatik Anahtarı'nı keşfedeceksiniz. Anahtar Envanteri sayfası, projenizdeki şifreleme anahtarları hakkında kapsamlı bilgiler sağlar. Verilerin gecikebileceğini unutmayın. Örneğin, yeni bir korunan kaynak oluşturursanız korunan kaynak ve ilişkili anahtar sürümü Kullanım izleme sekmesine hemen eklenmez. Diğer sınırlamaları burada bulabilirsiniz.
- Google Cloud Console'da Anahtar Envanter sayfasına gidin.
- İsteğe bağlı: Anahtar listesini filtrelemek için filter_list Filtre kutusuna arama terimlerinizi girip Enter tuşuna basın. Örneğin, anahtarların konumuna, anahtarlık durumuna, duruma veya diğer özelliklerine göre filtreleme yapabilirsiniz.
- Kullanım bilgilerini görüntülemek istediğiniz anahtarın adını tıklayın.
- "Genel Bakış"ı tıklayın. Oluşturulan her kaynak için bir anahtarınızın olduğuna dikkat edin. Her anahtar adı, anahtarın koruduğu kaynağın adını içerir (ör. "compute-disk" veya "storage-bucket"). Cloud KMS Otomatik Anahtarı, her anahtarın oluşturulduktan 365 gün sonra rotasyon için programlanmasını ve her anahtara "HSM" atanmasını sağlar. Koruma seviyesi.
- Kullanım İzleme sekmesini tıklayın. Sunulan bilgi düzeyine dikkat edin: Anahtarın şifrelediği her kaynak burada proje, konum ve oluşturma tarihiyle birlikte gösterilir.
- İsteğe bağlı: Korunan kaynakların listesini filtrelemek için filtre_listesi filtre kutusuna arama terimlerinizi girip Enter tuşuna basın.
11. Tebrikler
Tebrikler, Google Cloud kaynaklarını başarıyla oluşturdunuz ve Cloud KMS Otomatik Anahtarı ile isteğe bağlı olarak bu kaynakları otomatik olarak şifrelediniz.
Artık Autokey'i ayarlamak için gereken temel adımları biliyorsunuz ve kaynaklarınızı Cloud KMS anahtarlarıyla otomatik olarak şifrelemek için bunu kullanabilirsiniz.
12. Sırada ne var?
Otomatik anahtarla şifrelenmiş kaynaklarınıza veri yükleme
- Google Compute Engine (GCE) örneği oluşturma
- Otomatik anahtarla korunan kalıcı diskinizi GCE örneğinize ekleme
- BigQuery veri kümenize veri yükleme
- Google Cloud Storage Paketi'ne nesne yükleme
- Google Cloud Storage verilerini BigQuery'ye yükleme