Google Cloud Search'te erişim denetimi, kullanıcının Google Hesabı'na göre yapılır. İçerik dizine eklenirken tüm öğe EKL'leri geçerli Google kullanıcı veya grup kimliklerine (e-posta adresleri) çözümlenmelidir.
Çoğu durumda, bir depo Google Hesapları hakkında doğrudan bilgiye sahip değildir. Bunun yerine, yerel hesaplar kullanıcıları temsil eder veya kullanıcılar bir kimlik sağlayıcıyla federasyon oturum açma özelliğini kullanır. E-posta adresi dışındaki bu tanımlamaya harici kimlik adı verilir.
Yönetici Konsolu kullanılarak oluşturulan kimlik kaynakları, aşağıdaki yöntemlerle kimlik sistemleri arasındaki boşluğu doldurur:
- Harici kimlikleri depolamak için özel kullanıcı alanı tanımlama. Bu alan, harici kimlikleri Google Hesabı ile eşleştirir.
- Bir depo veya kimlik sağlayıcı tarafından yönetilen güvenlik grupları için ad alanı tanımlama.
Kimlik kaynaklarını şu durumlarda kullanın:
- Depo, kullanıcının Google Workspace veya Google Cloud Directory'deki birincil e-posta adresini bilmiyor.
- Depo, Google Workspace'teki e-posta tabanlı gruplara karşılık gelmeyen erişim denetimi gruplarını tanımlar.
Kimlik kaynakları, dizine ekleme işlemini kimlik eşlemeden ayırarak verimliliği artırır. Bu, öğeleri dizine eklerken ve erişim kontrol listeleri oluştururken kullanıcı aramayı ertelemenize olanak tanır.
Örnek dağıtım
Şekil 1'de hem şirket içi hem de bulut depolarını kullanan bir işletme gösterilmektedir. Her biri farklı bir harici kimlik türü kullanır.
1. depo, kullanıcıları SAML kullanarak e-posta adresine göre tanımlar. Google Workspace veya Cloud Directory'deki birincil e-posta adresini bildiği için kimlik kaynağına ihtiyaç duymaz.
2. depo, şirket içi bir dizinle entegre olur ve kullanıcıları sAMAccountName ile tanımlar. Bu özelliği harici kimlik olarak kullandığı için kimlik kaynağı gerektirir.
Kimlik kaynağı oluşturma
Kimlik kaynağına ihtiyacınız varsa Cloud Search'te kullanıcı kimliklerini eşleme başlıklı makaleyi inceleyin.
İçerik bağlayıcı oluşturmadan önce kimlik kaynağını oluşturun. ACL'ler oluşturmak ve verileri dizine eklemek için kimlik kaynağının kimliğine ihtiyacınız vardır. Kimlik kaynağı oluşturduğunuzda, harici kimlikleri depolamak için Cloud Directory'de bir özel kullanıcı özelliği de oluşturulur. Özellik adı, IDENTITY_SOURCE_ID_identity kuralını kullanır.
Bu tabloda iki kimlik kaynağı gösterilmektedir: biri SAM hesap adları, diğeri ise kullanıcı kimlikleri (uid) için.
| Kimlik kaynağı | Kullanıcı mülkü | Harici Kimlik |
|---|---|---|
id1 |
id1_identity |
sAMAccountName |
id2 |
id2_identity |
uid |
Kuruluşunuzda kullanılan her harici kimlik türü için bir kimlik kaynağı oluşturun.
Bu tabloda, Google Hesabı olan ve iki harici kimliği bulunan bir kullanıcının Cloud Directory'de nasıl göründüğü gösterilmektedir:
| Kullanıcı | E-posta | id1_identity |
id2_identity |
|---|---|---|---|
| Ayşe | ann@example.com |
example\ann |
1001 |
Dizin oluşturma için erişim kontrol listeleri (ACL) oluştururken bu kimliklerden herhangi birini kullanarak aynı kullanıcıya başvurabilirsiniz.
Kullanıcı EKL'leri yazma
Harici kimlikleri kullanarak asıl kullanıcılar oluşturmak için
getUserPrincipal()
veya
getGroupPrincipal() kullanın.
Bu örnek, erişimi olan kullanıcılar da dahil olmak üzere dosya izinlerini alır:
Bu snippet, externalUserName
özelliğini kullanarak sahipler için asıl öğeler oluşturur:
Bu snippet, okuyucular için asıl kullanıcılar oluşturur:
Okuyucular ve sahipler ekledikten sonra ACL'yi oluşturun:
REST API, identitysources/IDENTITY_SOURCE_ID/users/EXTERNAL_ID kalıbını kullanır.
Ayla'nın id1_identity ifadesi identitysources/id1_identity/users/example/ann olarak çözümlenir. Bu, kullanıcının ara kimliğidir.
Depo EKL'lerini modelleme hakkında daha fazla bilgi için EKL'ler başlıklı makaleyi inceleyin.
Harita grupları
Kimlik kaynakları, ACL grupları için ad alanı olarak da kullanılır. Bunu, yalnızca güvenlik için kullanılan veya yerel olan grupları oluşturmak ve bir depoyla eşlemek için kullanın.
Grup oluşturmak ve üyelikleri yönetmek için Cloud Identity Groups API'yi kullanın. Ad alanını kimlik kaynağı adı olarak kullanarak grubu bir kimlik kaynağıyla ilişkilendirin.
Bu snippet bir grup oluşturur:
Grup ACL'si oluşturma
Harici kimliğe sahip bir grup yöneticisi oluşturmak için getGroupPrincipal()
kullanın, ardından ACL'yi oluşturun:
Kimlik bağlayıcıları
Kullanıcılar, harici kimlikleri Cloud Directory'de bir Google Kimliği ile eşleşene kadar arama sonuçlarındaki öğeleri göremez. Bunu üç şekilde sağlayabilirsiniz:
- Yönetici Konsolu'nda kullanıcı profillerini manuel olarak güncelleyin (yalnızca test için önerilir).
- Directory API'yi kullanarak kullanıcıları eşleyin.
- Identity Connector SDK'sını kullanarak kimlik bağlayıcı oluşturun.
Kimlik bağlayıcıları, kurumsal kimliklerdeki harici kimlikleri dahili Google kimlikleriyle eşler. Bir kimlik kaynağı oluşturursanız kimlik bağlayıcı da oluşturmanız gerekir.
Google Cloud Directory Sync (GCDS), kimlik bağlayıcıya örnek olarak verilebilir. Active Directory'deki kullanıcı ve grup bilgilerini Cloud Directory'ye eşler.
REST API'yi kullanarak kimlikleri senkronize etme
Kimlikleri senkronize etmek için update yöntemini kullanın.
Kimlikleri yeniden eşleme
Bir kimliği yeniden eşledikten sonra, değişikliğin geçerlilik kazanması için öğeleri yeniden dizine eklemeniz gerekir.
- Bir kullanıcı eşlemesini kaldırırsanız veya değiştirirseniz yeniden indeksleme yapılana kadar orijinal eşleme kalır.
- Eşlenmiş bir grubu silip aynı
groupKeyile yeni bir grup oluşturursanız yeniden dizine ekleme yapana kadar erişim izni verilmez.