Faturalandırmayla ilgili İş Fonksiyonları için IAM rolleri

Bu konu, bir dizi örnek faturalandırma senaryosu için Cloud IAM izinlerini nasıl yapılandıracağınızı göstermektedir. Senaryolara göre şirketinizde faturalandırmayla ilişkili işlevsel rollere hangi Cloud IAM rollerinin verilmesi gerektiği konusunda yol gösterir. Bu örnekler genel olarak faturalandırma yöneticilerine ve bir kuruluş için faturalandırma görevlerini yöneten çalışanlara yöneliktir.

Bu belgede, faturalandırma rolleri ve izinleri ayrıntılı olarak açıklanmamaktadır. Billing API'nin rollerinin ve izinlerinin ayrıntılı açıklaması için Faturalandırmaya Erişim Denetimi sayfasını okuyun.

Faturalandırma izinlerini yapılandıran küçük şirket

Bu senaryoda, küçük bir şirket Google faturalandırma hesaplarını yapılandırmaya ve kullanmaya çalışmaktadır. Uygulamalarını geliştirip yöneten mühendisleri vardır ancak hiçbiri kendi faturalandırma işlemlerini yönetmemektedir. Ödemelerin faturalarla eşleştirilmesinden sorumlu bir ofis yöneticisi vardır ancak uyumluluk nedeniyle ofis yöneticisinin projelerdeki Cloud Platform kaynaklarına erişmesine izin verilmemektedir. CEO, kredi kartı bilgilerini de elinde bulundurmakta ve yönetmektedir.

Aşağıdaki tablo, Kuruluş Yöneticisinin (bu senaryoda CEO) şirketteki diğer kişilere verebileceği faturalandırma Cloud IAM rollerini ve rolleri verdiği kaynak düzeyini açıklamaktadır.

Rol: Kuruluş Yöneticisi Kuruluş Yöneticisi rolü, CEO'nun izinleri Ofis Yöneticisine atamasını sağlar.
Kaynak: Kuruluş
Üye: CEO
Rol: Faturalandırma Hesabı Yöneticisi Faturalandırma Hesabı Yöneticisi rolü, ofis yöneticisi ve CEO'ya proje içeriklerini görüntüleme izni vermeden ödemeleri ve faturaları yönetmelerini sağlar.
Kaynak: Kuruluş
Üyeler: Ofis Yöneticisi, CEO

Bu senaryoda kuruluş kaynağına eklenen Cloud IAM politikası, aşağıdaki gibi olacaktır:

{
  "bindings": [
  {
    "members": [
      "user:ceo@example.com"
    ],
    "role": "roles/resourcemanager.organizationAdmin"
  },
  {
    "members": [
      "group:finance-admins-group@example.com"
    ],
    "role": "roles/billing.admin"
  }
  ]
}

En iyi uygulama, üyeleri yönetmek için grupları kullanmaktır. Yukarıdaki örnekte, ikinci bağlantı için CEO ve ofis yöneticisini finance-admins-group grubuna eklersiniz. İşlevi kimin yürütebileceğini değiştirmeniz gerektiğinde, yalnızca grup üyeliğini ayarlamanız yeterli olur. Politikayı güncellemek gerekmez. Böylece üye listesinde iki bağımsız kullanıcı hesabı görünmez.

Bütçeleri yöneten finans ekipleri

Bu senaryoda, büyük bir kuruluş her bir bölümdeki finans ekibinin GCP kaynaklarına erişmeden bütçeleri belirleyebilmesini ve bölümdeki ekip harcamalarını görüntüleyebilmesini istemektedir. Geliştiricilerin kendi projelerindeki harcamayı görmesinde sakınca yoktur ancak genel giderlerin görünümü geliştiricilere sunulmamalıdır.

Her bir bölümün finans yöneticisine ve geliştiricilere, aşağıdaki tabloda bulunan rolleri verin:

Rol: Faturalandırma Hesabı Yöneticisi Bu rol, her bir bölümdeki finans yöneticisinin bütçeleri belirleyebilmesini ve bölümündeki faturalandırma hesapları için harcamayı görüntüleyebilmesini sağlar ancak proje içeriklerini görüntülemesine izin vermez.
Kaynak: Faturalandırma Hesabı
Üyeler: Her bölümün finans yöneticisi
Rol: Görüntüleyici Görüntüleyici rolü, geliştiricilerin sahip oldukları projelerin giderlerini görüntüleyebilmesini sağlar.
Kaynak: Proje
Üyeler: Proje geliştiricileri.

Bu senaryoda, hiyerarşinin farklı düzeylerine ekli olduklarından uygun izinleri Cloud IAM politikalarını atamak için iki ayrı işlem yapmanız gerekir.

Faturalandırma hesabına izin atama:

Bir kullanıcıya faturalandırma hesabında Faturalandırma Hesabı Yöneticisi rolünü vermek için faturalandırma konsolunu kullanın. Faturalandırma hesabını ayarlayan hesap üzerinden finans yöneticisine, faturalandırma hesabında Faturalandırma Hesabı Yöneticisi rolünü verin.

Projeye eklenmesi gereken Cloud IAM politikası, aşağıdaki gibi olur:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Müşteri self servis portalı, Geliştiriciler faturayı ayarlayamaz

Bu senaryoda bir müşterinin merkezi BT ekibi, self servis portalının parçası olarak geliştiricilerine GCP kaynakları sunmaktadır. Geliştiriciler, GCP projelerine ve diğer onaylanmış bulut hizmetlerine portal üzerinden erişim talep etmektedir. Geliştiricinin maliyet merkezi, merkezi BT ekibine kullanılan bulut kaynakları için ödeme yapmaktadır.

Merkezi BT ekibi şunları yapabilmelidir:

  • Projeleri faturalandırma hesaplarıyla ilişkilendirmek.
  • Projeler için faturalandırmayı kapatmak.
  • Kredi kartı bilgilerini görüntülemek.

Proje içeriklerini görüntüleme izinleri olmamalıdır.

Geliştiriciler, kullanılmakta olan GCP kaynaklarının gerçek maliyetlerini görüntüleyebilmeli fakat faturalandırmayı kapatamamalı, faturalandırmayı projelerle ilişkilendirememeli ve kredi kartı bilgilerini görüntüleyememelidir.

Rol: Faturalandırma Hesabı Yöneticisi Faturalandırma Hesabı Yöneticisi rolü, BT departmanına projeleri faturalandırma hesaplarıyla ilişkilendirme, projeler için faturalandırmayı kapatma ve müşterilerine yeniden sattıkları hesaplar için kredi kartı bilgilerini görüntüleme izinlerini verir.

Projelerin içeriklerini görüntüleme izinlerini vermez.

Kaynak: Faturalandırma Hesabı
Üye: BT departmanı
Rol: Faturalandırma Hesabı Kullanıcısı Faturalandırma Hesabı Kullanıcısı rolü, hizmet hesabına faturalandırmayı etkinleştirme (kuruluştaki tüm projeler için projeleri kuruluşun faturalandırma hesabıyla ilişkilendirme) ve dolayısıyla faturalandırmayı etkinleştirmek için gereken API'leri etkinleştirme izinlerini verir.
Kaynak: Kuruluş
Üye: Proje oluşturmayı otomatikleştirmek için kullanılan hizmet hesabı.
Rol: Görüntüleyici Görüntüleyici rolü, geliştiricilerin sahip oldukları projelerin harcamalarını görüntüleyebimesini sağlar.
Kaynak: Proje
Üyeler: Proje geliştiricileri.

Bu senaryoda, hiyerarşinin farklı düzeylerine ekli olduklarından uygun Cloud IAM politikalarını atamak için iki ayrı işlem yapmanız gerekir.

Bir kullanıcıya faturalandırma hesabında Faturalandırma Hesabı Yöneticisi rolünü vermek için faturalandırma konsolunu kullanın. Faturalandırma hesabını ayarlayan hesap üzerinden finans yöneticisine, faturalandırma hesabında Faturalandırma Hesabı Yöneticisi rolünü verin.

Daha sonra, hiyerarşinin ayrı düzeylerine ekleyeceğiniz için iki ayrı Cloud IAM politikasına ihtiyacınız olur.

Kuruluş düzeyinde eklenmesi gereken ilk Cloud IAM politikası, hizmet hesabına Faturalandırma Hesabı Kullanıcısı rolünü vermektir. Bu, aşağıdaki gibi olur:

{
  "bindings": [
  {
     "role": "roles/billing.user",
     "members": [
       "serviceAccount:my-project-creator@shared-resources-proj.iam.gserviceaccount.com"
     ]
  }
  ]
}

İkinci Cloud IAM politikasının proje düzeyinde eklenmesi gerekir. Geliştiricilere projede Görüntüleyici rolünü verin:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
       "group:developers@example.com"
     ]
  }
  ]
}

Geliştiriciler faturalandırılmış projeler oluşturabilir

Büyük bir dijital şirket, Faturalandırma Hesabı Yöneticisi hakları vermeden tüm geliştiricilerinin, kuruluşun faturalı hesabında faturalandırılmış projeler oluşturmasına izin vermek istemektedir.

Varsayılan dışındaki API'lerin etkinleştirilebileceğinden emin olmak için bir projede faturalandırmanın etkinleştirilmesi gerekir. Bu nedenle, bir geliştirici bir proje oluşturursa API'leri etkinleştirmek için onu bir faturalandırma hesabıyla ilişkilendirmesi gerekir.

Kaynak: Proje Faturalandırma oluşturucu rolü, geliştiricilerin şunları yapabilmesini sağlar:
  • Yeni faturalandırma hesapları oluşturmak
  • Faturalandırma hesaplarını projelere eklemek
Rol: Faturalandırma Hesabı Oluşturucu
Üyeler: Geliştiriciler

Bu senaryo için Cloud IAM politikasının proje düzeyinde eklenmesi gerekir ve politika, aşağıdaki gibi olur:

{
  "bindings": [
  {
     "role": "roles/billing.creator",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Maliyet toplamı

Bu senaryoda bir şirket her bir ekibin, departmanın, hizmetin veya projenin kendisine maliyetini hesaplamak ve takip etmek istemektedir. Örneğin, bir test dağıtımının kendisine her ay ne kadara mal olduğunu takip etmek istemektedir.

Bu, aşağıdaki uygulamalar kullanılarak takip edilebilir:

  • Kaynakları düzenlemek için projeleri kullanmak. Proje başına maliyet gösterilir ve proje kimlikleri, dışa aktarılan faturaya dahil edilir.
  • Projelere ek gruplandırma bilgilerini yansıtan etiketler eklemek. Örneğin environment=test. Verileri bölümlere ayırmanız için etiketler dışa aktarılan faturaya dahil edilir. Ancak bir projedeki etiketlere, projenin meta verilerinin geri kalanıyla aynı şekilde izin verilir, bu da bir proje sahibinin etiketleri değiştirebileceği anlamına gelir. Çalışanlarınızı neyin değiştirilmeyeceği konusunda eğitebilir ve ardından onları izleyebilir (denetleme günlükleri aracılığıyla) veya proje meta verilerini değiştirememeleri için onlara yalnızca ayrıntılı izinler verebilirsiniz.

JSON ve CSV'yi dışa aktarabilirsiniz ancak önerdiğimiz çözüm, doğrudan BigQuery'e dışa aktarmaktır. Bu, faturalandırma konsolunun fatura dışa aktarma bölümünden kolayca yapılandırılabilir.

Her maliyet merkezi ayrı bir fatura ödemek veya bazı iş yükleri için ayrı bir para biriminde ödeme yapmak zorundaysa her maliyet merkezi için ayrı bir faturalandırma hesabı gerekir. Ancak bu yaklaşım, her faturalandırma hesabı için ortaklık anlaşması imzalamayı gerektirir.