Google Cloud Platform’da (GCP) hizmet hesapları (Service Account) kullanarak uygulamalarınız ve hizmetleriniz için kimlik doğrulaması yapabilirsiniz.
Service Accounts, uygulamalarınızın kimlik bilgilerini veya kullanıcı hesaplarını kullanmak yerine, GCP üzerinde tanımlanan özel hesaplardır. Hizmet hesaplarına atanabilen roller, hizmet hesaplarının GCP kaynaklarına erişimini yönetmek için kullanılır.
Hizmet hesaplarına atayabileceğiniz bazı rollere örnek vereyim:
Sahip (Owner) | Tüm erişim izinlerini verir. |
Editör (Editor) | Kaynaklara erişim ve düzenleme izni verir. |
Görüntüleyici (Viewer) | Kaynaklara erişim ve görüntüleme izni verir. |
Hizmet hesabı kullanıcısı (Service Account User) | Kimlik doğrulaması yapmak için izin verir. |
Proje Yöneticisi (Project Manager) | Proje düzeyindeki kaynaklara erişimini yönetir. |
Kullanıcı Yöneticisi (User Manager) | Kullanıcı hesaplarına erişimini yönetir. |
Veri Akışı Oluşturucu (Dataflow Creator) | Google Cloud Dataflow kullanımı için izin verir. |
İş Akışı Yöneticisi (Workflow Manager) | Google Cloud Composer kullanımı için izin verir. |
Bu sadece birkaç örnek. GCP’deki diğer hizmetlerin ve kaynakların kullanımı için de farklı roller mevcut.
Service Account hakkında genel bir bilgilendirme aldığımıza göre nasıl oluşturabileceğimize bir göz atalım.
GCP üzerinde BigQuery için Service Account Oluşturma
BigQuery üzerinden;
IAM & Admin → Service Accounts
Üst Taraftan +CREATE SERVICE ACCOUNT
1. Service Account Details
Service account name: dbt-tutorial-dev
Service account ID:
Service account description: min transformation requirements sa for dbt
CREATE AND CONTINUE
2. Grant this service account access to project (optional)
Select a role seçerek aşağıdaki rolleri bu service account’a tanımlayalım.
dbt için BigQuery gereksinimleri:
- BigQuery Data Editor
- BigQuery User
3. Grant users access to this service account (optional)
Dilerseniz belirli kullanıcıları da bu service account ile ilişkilendirebilirsiniz. Şu an bu adıma ihtiyacımız yok.
Yetkileri ayarladıktan sonra Done diyerek devam edelim. Aşağıda belirttiğimiz Service Account Emaili’ni ve Statusünü göreceğiz.
İlgili service account mailini seçerek Actions altından Manage Keys diyerek devam ediyoruz.
Çıkan yeni sayfada ADD KEY – Create new key seçerek çıkan arayüzde JSON seçelim.
Yeni bir pencere çıkacak ve ilgili service account için key bilgilerini indirebileceğiz. JSON dosyasını indirelim.
⚠️ Önemli:
Bu indireceğimiz dosya son derece hassas, içinde çalıştığımız ilgili projeye doğrudan erişim yetkisi mevcut. Her ne kadar tutorial projesi de olsa, siz önemli bir veri üzerinde bu işlemleri yapabiliyor olabilirsiniz.
Service Accountlar hakkındaki Best Practice’ler için aşağıdaki linke göz atabilirsiniz.
Best practices for managing service account keys | IAM Documentation | Google Cloud
Yazının başında da belirttiğimiz gibi bu Service Account dosyalarını uygulamalarınıza bir kimlik ataması yapmak için kullanıyoruz.
Örnek olarak bir veri modelleme çalışmasında mantıksal ve fiziksel tasarım yapmak için veri tabanına bağlanıp mevcuttaki tablolarınız ile modelleme yapacaksınız. Bunun için BigQuery bağlanırken böyle bir Service Account dosyası kullanarak belirlenen yetkilerde uygulamadaki işlemleri gerçekleştirebilirsiniz.
Başka yazılarda görüşmek üzere, sağlıcakla!
Son cümleyi yazarken çalıyordu;