1. Giriş
Cloud KMS Autokey, temel hazırlığı ve atamayı otomatikleştirerek müşteri tarafından yönetilen şifreleme anahtarlarını (CMEK) oluşturmayı ve kullanmayı kolaylaştırır. Otomatik Anahtar sayesinde, anahtar zincirlerinizin, anahtarlarınızın ve hizmet hesaplarınızın ihtiyaç duyulmadan önce planlanması ve hazırlanması 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, HSM koruma düzeyi, görev ayrımı, anahtar rotasyonu, konum ve anahtar özgüllüğü dahil olmak üzere veri güvenliğiyle ilgili endüstri standartlarına ve önerilen uygulamalara tutarlı bir şekilde uymanı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, Otomatik Anahtar işlevi kullanılarak istenen anahtarlar, aynı ayarlara sahip diğer Cloud HSM anahtarlarıyla aynı şekilde çalışır.
Oluşturacaklarınız
Bu codelab'de, aşağıdakileri oluşturarak Cloud KMS Autokey'i kullanarak korunan kaynaklar başlatacaksınız:
- bir klasör kaynağı
- Anahtarlarınızı içeren 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 Autokey 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 özelliği etkinleştirilmiş Google Cloud projeleri
- Temel Linux Deneyimi
2. Klasör Oluşturma
Klasörler, Cloud Platform Kaynak Hiyerarşisi'ndeki düğümlerdir. Klasörler; projeleri, diğer klasörleri veya bunların bir kombinasyonunu içerebilir. Kuruluş kaynakları, hiyerarşide kuruluş kaynağı düğümü altındaki projeleri 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 laboratuvar için "Autokey-Folder"ı kullanın.
- 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 Autokey ile şifrelemek istediğiniz kaynakları (ör. BigQuery veri kümeleri, kalıcı diskler ve Cloud Storage paketleri) içeren 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 emin olmanız gerekir.
- 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 "Autokey-Folder" klasörünü seçin. Bu kaynak, yeni projenin hiyerarşik üst öğesi olacaktır. Ayarlarınız aşağıdaki gibi görünmelidir:
- Proje kimliğini (yukarıdaki örnekte proje kimliği "causal-hour-43319-m4"dir ancak kimliğiniz farklı olacaktır) seçtiğiniz metin düzenleyiciye kopyalayın.
- Oluştur'u tıklayın
- Ekranınızın sağ üst köşesindeki Cloud Shell simgesini seçin
- Cloud Shell etkinleştirildikten sonra 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 komutum şöyle görünür:
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'e yetki verin.
- Bu proje kaynaklar içereceğinden, Autokey'in koruyacağı hizmetlerin API'lerini 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 projesi, Otomatik Anahtar'ı etkinleştirmeyi planladığınız klasörün içinde oluşturulabilir. Anahtar projede başka kaynaklar oluşturmamanız gerekir. Anahtar projesinde Autokey tarafından korunan kaynaklar oluşturmaya çalışırsanız Autokey 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 emin olmanız gerekir.
- Görüntülenen Yeni Proje penceresinde bir proje adı girin ve geçerliyse bir faturalandırma hesabı seçin. Bu laboratuvarda "Anahtar Yönetimi"ni değerlendirin.
- Konum kutusunda "Autokey-Folder" klasörünü seçin. Bu kaynak, yeni projenin hiyerarşik üst öğesi olur. Ayarlarınız aşağıdaki gibi görünmelidir:
- 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
Tüm projeler oluşturulduğuna göre, anahtar projeyi Cloud KMS Autokey'i kullanacak şekilde yapılandırmanın zamanı geldi.
- Ekranınızın sağ üst köşesindeki Cloud Shell simgesini seçin
- Cloud Shell etkinleştirildikten sonra 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 komutum şöyle görünür:
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'e yetki verin.
- 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şkene 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 hesap e-posta adresinizi 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 izinleri verme
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ının anahtar oluşturabilmesi ve atayabilmesi için Cloud KMS yönetici izinlerine sahip olması gerekir.
- 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 vurgulanmış 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ınızın kullanımını görüntüleyebilmek için bir IAM politika 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ı rollerini verme
Geliştiricilerinizin Otomatik Anahtar'ı kullanabilmesi için 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 verme işleminin ilk adımı, klasör kimliğini 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 laboratuvar çalışmasında, 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 roles/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 ve kaynak projenizi ve anahtar yönetimi projenizi içeren klasördür. 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önetimi 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 Denetimleri sayfası aşağıdaki gibi görünmelidir:
9. Cloud KMS Otomatik Anahtarı'nı kullanarak korumalı kaynaklar oluşturma
Compute Engine Kalıcı Diskleri
Otomatik anahtar, oluşturulmakta olan 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ı uygulayı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ü için Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni 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şturma işlemini tamamlamak için Oluştur'u tıklayın.
Korunan sanal makine örneği, resim ve makine resmi kaynakları oluşturmak için benzer bir işlem uygulayabilirsiniz.
Google Cloud Storage Paketleri
Otomatik anahtar, paketle 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.
- Bir 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ü için Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni 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şturma işlemini tamamlamak için Oluştur'u tıklayın. "Herkese açık erişim engellenecek" ifadesini 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 öncelikle BigQuery Kullanıcı rolüne sahip olmanız gerekir.
- Cloud Shell'e dönme
- Cloud Shell'inizi kaynak projeden komut yürütecek şekilde ayarlama
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ü verme
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şturabilir ve Otomatik Anahtar ile bu veri kümesini 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ü için Otomatik Anahtar ile Cloud KMS'yi seçin ve ardından Yeni 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 Cloud KMS Autokey'in sizin adınıza oluşturduğu anahtarları keşfedeceksiniz. Anahtar Envanteri sayfası, projenizdeki şifreleme anahtarları hakkında kapsamlı bilgiler sağlar. Verilerin gecikebileceğini unutmayın. Örneğin, yeni bir korumalı kaynak oluşturursanız korumalı kaynak ve ilişkili anahtar sürümü Kullanım izleme sekmesine hemen eklenmez. Diğer sınırlamalara buradan göz atabilirsiniz.
- 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 konuma, anahtarlığa, 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 Autokey, her anahtarın oluşturulduktan 365 gün sonra döndürülmesi için planlanmasını ve her anahtara "HSM" koruma düzeyinin atanmasını sağlar.
- Kullanım İzleme sekmesini tıklayın. Sunulan bilgi düzeyine dikkat edin: Anahtarın şifrelediği her kaynak, proje, konum ve oluşturulma tarihi ile birlikte burada 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 Autokey ile isteğe bağlı olarak 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 Paketine nesne yükleme
- Google Cloud Storage verilerini BigQuery'ye yükleme