Reklam
Google

Google Cloud’da hizmet hesaplarını kullanmanın ve kimlik doğrulamasının en iyi yolunu seçin

Temel bir güvenlik öncülü, bir kaynağa veya hizmete erişmelerine izin verilip verilmediğini belirlemeden önce bir kullanıcının kimliğini doğrulamaktır. Bu işlem, kimlik doğrulama olarak bilinir. Ancak kimlik doğrulama, insan kullanıcılardan daha fazlası için gereklidir. Bir uygulamanın diğeriyle konuşması gerektiğinde, onun kimliğini de doğrulamamız gerekir. Bulutta, bu genellikle bir hizmet hesabı aracılığıyla gerçekleştirilir.

Hizmet hesapları, insan olmayan kullanıcıları temsil eder ve Google Cloud’da şunlar tarafından yönetilir: Bulut Kimliği ve Erişim Yönetimi (BEN). Bir uygulamanın kaynaklara erişmesi veya kendi kimliği altında eylemler gerçekleştirmesi gereken senaryolar için tasarlanmıştır. Örneğin, bir sanal makine örneğinde çalışan bir uygulamanın, verilerini depolamak için yapılandırılmış bir Bulut Depolama paketine erişmesi gerekebilir.

Normal kullanıcıların aksine, hizmet hesapları bir parola veya çoklu oturum açma (SSO) kullanarak kimlik doğrulayamaz. Bunun yerine hizmet hesaplarının kullanabileceği çeşitli kimlik doğrulama yöntemleri vardır ve ihtiyaçlarınıza göre doğru olanı kullanmak önemlidir. Aşağıdaki yönergeler, hizmet hesaplarını doğrulamanın en iyi yolunu seçmenize yardımcı olabilir.

Reklam

Yalnızca uygun olan yerlerde hizmet hesaplarını kullanın

Bir hizmet hesabına ihtiyacınız olduğu sonucuna varmadan önce, uygulamanın kendi adına mı yoksa son kullanıcı adına mı hareket ettiğini kendinize sorun:

  • Ölçümleri sürekli olarak toplayan ve bunları bir Bulut Depolama paketinde depolayan bir uygulama kendi adına hareket eder; bu, son kullanıcının dahil olmadığı, gözetimsiz çalışan bir arka plan işidir.

  • Bir kullanıcının kişisel belgelerine erişmesine izin veren bir uygulama, kendi adına değil, son kullanıcı adına hareket etmektedir.

Bir uygulama bir son kullanıcı adına hareket ettiğinde, bir hizmet hesabı kullanmak doğru seçim olmayabilir. Bunun yerine, bir OAuth izin akışı son kullanıcının onayını talep etmek ve ardından uygulamanın kendi kimliği altında hareket etmesine izin vermek. OAuth kullanarak şunlardan emin olursunuz:

Reklam
  • Son kullanıcılar, uygulamaya erişim izni vermek üzere oldukları kaynakları inceleyebilir ve izinlerini açıkça ifade edebilir veya reddedebilirler.

  • Kullanıcılar kendi onaylarını iptal edebilirler. Hesabım herhangi bir zamanda sayfa.

  • Hiçbir hizmet hesabı, kullanıcı verilerine sınırsız erişim sağlayamaz.

Günlük çalışmanız sırasında aşağıdaki gibi araçlar kullanabilirsiniz. gcloud, gsutil veya terraform. Bu araçları çalıştıran sizsiniz, bu nedenle araçlar da kimlik bilgilerinizi kullanmalıdır. Bu araçları çalıştırmak için bir hizmet hesabı anahtarı kullanmak yerine, şunu çalıştırarak kimlik bilgilerinizi kullanmalarına izin verin. gcloud auth login (gcloud ve gsutil için) veya gcloud auth application-default login (terraform ve diğer üçüncü taraf araçlar için).

Hizmet hesaplarının ve hizmet hesabı anahtarlarının kullanımını, kesinlikle gerekli oldukları durumlarla sınırlandırmak, kullanıcı verilerini daha güvenli tutar, yetkisiz etkinlik olasılığını azaltır ve belirli işlemleri hangi kullanıcıların gerçekleştirdiğini belirlemek için denetim günlüklerinin kullanılmasını kolaylaştırır.

Mümkün olduğunda ekli hizmet hesaplarını kullanın

Google Cloud’da dağıtılan ve bir hizmet hesabı kullanması gereken uygulamalar için, eklemek hizmet hesabını temel hesaplama kaynağına. Bir hizmet hesabı ekleyerek, uygulamanın hizmet hesabı için jetonlar almasını ve bu jetonları Google Cloud API’lerine ve kaynaklarına erişmek için kullanmasını sağlarsınız.

Uygulamada erişim jetonları elde etmek için Google Cloud’u kullanın istemci kitaplıkları Eğer mümkünse. İstemci kitaplıkları, uygulamanın ekli bir hizmet hesabına sahip bir hesaplama kaynağı üzerinde çalışıp çalışmadığını otomatik olarak algılar.

İstemci kitaplıklarını kullanmanın pratik olmadığı durumlarda, uygulamanızı meta veri sunucusundan programlı olarak belirteçler alacak şekilde ayarlayın. Meta veri sunucusuna erişimi destekleyen hesaplama kaynakları şunları içerir:

Bir hizmet hesabı eklemenize izin veren işlem kaynaklarının tam listesi için bkz. Hizmet hesabı kimliğine bürünmeyi yönetme.

Hizmet hesaplarını Kubernetes kapsüllerine eklemek için İş Yükü Kimliğini kullanın

Eğer kullanırsan Google Kubernetes Engine (GKE) Tek bir GKE kümesinde farklı uygulamaların bir kombinasyonunu çalıştırıyor olabilirsiniz. Bireysel uygulamaların erişime ihtiyaç duydukları kaynaklar ve API’ler açısından farklılık göstermesi muhtemeldir.

Bir GKE kümesine veya düğüm havuzlarından birine bir hizmet hesabı eklerseniz, varsayılan olarak küme veya düğüm havuzunda çalışan tüm kapsüller hizmet hesabının kimliğine bürünebilir. Tek bir hizmet hesabının farklı uygulamalarda paylaşılması, hizmet hesabına doğru ayrıcalık kümesinin atanmasını zorlaştırır:

  • Yalnızca tüm uygulamaların gerektirdiği kaynaklara erişim izni verirseniz, bazı uygulamalar belirli kaynaklara erişimleri olmadığı için çalışmayabilir.

  • Herhangi bir uygulamanın ihtiyaç duyduğu tüm kaynaklara erişim izni verirseniz, aşırı erişim veriyor olabilirsiniz.

Bir GKE ortamında kaynak erişimini yönetmek için daha iyi bir yaklaşım, İş Yükü Kimliği, hizmet hesaplarını ayrı bölmelerle ilişkilendirmenize olanak tanır:

  1. Hizmet hesaplarını GKE kümelerine veya düğüm havuzlarına eklemeyin.

  2. Cloud IAM’de, Google API’lerine veya kaynaklarına erişim gerektiren her Kubernetes bölmesi için özel bir hizmet hesabı oluşturun.

  3. GKE’de bir Kubernetes hizmet hesabı Google API’lerine veya kaynaklarına erişim gerektiren ve onu kapsüle ekleyen her Kubernetes bölmesi için.

  4. Kullanım İş Yükü Kimliği hizmet hesapları ve bunlara karşılık gelen Kubernetes hizmet hesapları arasında bir eşleme oluşturmak için.

Google Cloud’da çalışmayan uygulamalarda hizmet hesaplarını kullanmak için İş Yükü Kimliği federasyonunu kullanın

Uygulamanız şirket içinde veya başka bir bulut sağlayıcısında çalışıyorsa, temeldeki işlem kaynaklarına bir hizmet hesabı ekleyemezsiniz. Ancak, uygulamanın aşağıdakiler gibi ortama özgü kimlik bilgilerine erişimi olabilir:

Uygulamanızın bu kimlik bilgilerinden birine erişimi varsa ve Google Cloud API’lerine veya kaynaklarına erişmesi gerekiyorsa şunu kullanın: iş yükü kimlik federasyonu.

İş yükü kimliği federasyonu, bir Google Cloud projesi ile harici kimlik sağlayıcı arasında tek yönlü bir güven ilişkisi oluşturmanıza olanak tanır. Bu güveni bir kez oluşturduğunuzda, uygulamalar, üç aşamalı bir süreci izleyerek bir hizmet hesabını taklit etmek için güvenilen kimlik sağlayıcısı tarafından verilen kimlik bilgilerini kullanabilir:

  1. Güvenilir kimlik sağlayıcıdan bir kimlik bilgisi, örneğin bir OpenID Connect ID belirteci alın.

  2. Kimlik bilgilerini kısa ömürlü bir Google STS jetonuyla değiştirmek için STS API’yi kullanın.

  3. IAM Kimlik Bilgileri API’sinin kimliğini doğrulamak ve bir hizmet hesabı için kısa ömürlü Google erişim jetonları almak için STS jetonunu kullanın.

İş yükü kimliği federasyonunu kullanarak, uygulamaların harici ortamın sağladığı yerel kimlik doğrulama mekanizmalarını kullanmasına izin verebilir ve hizmet hesabı anahtarlarını depolamak ve yönetmek zorunda kalmazsınız.

Hizmet hesabı anahtarlarını yalnızca geçerli bir alternatif yoksa kullanın

Zaman zaman, bir hizmet hesabı eklemenin mümkün olmadığı bir durumla karşılaşabilirsiniz ve İş Yükü Kimliği veya İş Yükü Kimliği federasyonu da uygun seçenekler değildir. Örneğin, şirket içi uygulamalarınızdan birinin Google Cloud kaynaklarına erişmesi gerekebilir, ancak şirket içi kimlik sağlayıcınız OpenID Connect (veya yakında destek ekleyeceğimiz SAML 2.0) ile uyumlu değildir ve bu nedenle olamaz İş Yükü Kimliği federasyonu için kullanılabilir.

Diğer kimlik doğrulama yaklaşımlarının uygun olmadığı durumlarda (ve yalnızca bu durumlarda), uygulama için bir hizmet hesabı anahtarı oluşturun. Bir hizmet hesabı anahtarı, bir kullanıcının bir kullanıcı adı ve parolayla kimlik doğrulamasına benzer şekilde, bir uygulamanın bir hizmet hesabı olarak kimlik doğrulamasına izin verir. Hizmet hesabı anahtarları gizli tutulmalı ve yetkisiz erişimden korunmalıdır, bu nedenle anahtar kasası gibi güvenli bir yerde saklayın ve sık sık değiştirin.

Bir kuruluş yöneticisi olarak, kuruluşunuzdaki hangi kullanıcıların hizmet hesabı anahtarlarını kullanabileceğini kontrol etmek isteyebilirsiniz. Bu, kullanılarak yapılabilir. hizmet hesabı temel kuruluş ilkeleri.

Karar zamanı

Hizmet hesaplarıyla kimlik doğrulaması güçlüdür, ancak bunu yapmanın tek yolu bu değildir ve yalnızca diğer yaklaşımlar uygun değilse kullanılmalıdır. Uygulamanız için hangi kimlik doğrulama yaklaşımının en iyisi olduğundan hala emin değilseniz, aşağıdaki akış şemasına bakın:

kimlik doğrulama yaklaşımı.jpg

Hizmet hesaplarını kullanma ve güvence altına alma hakkında daha fazla ayrıntı için bkz. Hizmet hesaplarını kullanmak ve yönetmek için en iyi uygulamalar ve Hizmet hesaplarının güvenliğini sağlamak için en iyi uygulamalar ürün belgelerimizde.

İlgili Makale

Makaleyi Okuyun

Google Cloud Blog

Kaynak Linki

0 Yorumlar

Yorum Yok

Reklam
Başa dön tuşu

Reklam Engelleyici Algılandı

Lütfen Reklam Engelleyiciyi Kapatınız