Kural Grupları ve Kuralları
Güncelleştirme: 19 Haziran 2015
Şunlar için geçerlidir: Azure
Microsoft Azure Active Directory Access Control(Access Control Hizmeti veya ACS olarak da bilinir) kural grubu, kimlik sağlayıcılarından bağlı olan taraf uygulamanıza hangi kimlik taleplerinin geçirildiğini tanımlayan adlandırılmış bir talep kuralları kümesidir. ACS'de kural grupları bağlı olan taraf uygulamalarıyla ilişkilendirilir. Bir kural grubu birden fazla bağlı olan taraf uygulaması tarafından kullanılabilir ve bağlı olan taraf uygulaması birden fazla kural grubuna başvurabilir.
ACS, bir kimlik sağlayıcısından belirteç isteği veya belirteç aldığında, belirteçteki talepleri işlemek için bağlı olan taraf uygulamasıyla ilişkili tüm kural gruplarında çalışır. Her kural grubundaki tüm kurallar gibi tüm kural grupları aynı anda çalıştırılır (sıra önemli değildir). Kurallar, çalıştırma tamamlandıktan sonra yeni taleplerin verilmesine neden olursa, bağlı olan taraf uygulamasıyla ilişkili kural grupları yeniden çalıştırılır. Kural ve kural grubu çalıştırma işlemi, çalıştırma işlemi tamamlandıktan sonra veya ACS on çalıştırma tamamlandıktan sonra (hangisi önce gerçekleşirse) yeni talep verilmediğinde durur.
Kural gruplarını ve kuralları, ACS Yönetim Portalı'nı kullanarak veya ACS Yönetim Hizmeti'ni kullanarak program aracılığıyla el ile oluşturabilir ve düzenleyebilirsiniz.
ACS Yönetim Portalı ile Kuralları Yapılandırma
Kural Grupları Oluşturma
ACS Yönetim Portalı'nda yeni bir bağlı olan taraf uygulamasının özelliklerini ekleyip yapılandırdığınızda, varsayılan olarak ACS Yönetim Portalı'nın Bağlı Taraf Uygulaması Ekle sayfasında Yeni Kural Grubu Oluştur seçeneği işaretlendiğinden, bu bağlı olan taraf uygulamasıyla ilişkilendirilmiş bir kural grubu da oluşturabilirsiniz. Bu seçeneği seçili tutmanızı ve bu nedenle yeni bağlı olan taraf uygulamanız için varsayılan bir kural grubu oluşturmanızı kesinlikle öneririz. (Daha fazla bilgi için bağlı olan taraf uygulamalarında "Kural grupları" bölümüne bakın.) Ayrıca ACS Yönetim Portalı'nın Kural Grupları bölümünü kullanarak da kural grupları ekleyebilirsiniz. Ardından, Bağlı Olan Taraf Uygulaması Ekle sayfasını kullanarak bağlı olan taraf uygulamaları eklerken, bunları mevcut bir veya daha fazla kural grubuyla ilişkilendirebilirsiniz.
Kural Oluşturma
Kural grubu oluşturulduktan sonra, kuralları otomatik olarak oluşturmak için ACS Yönetim Portalı'nın Kural Grubunu Düzenle sayfasını kullanabilirsiniz. Kuralları otomatik olarak oluşturmaya karar verirseniz, kuralları oluşturmak istediğiniz kimlik sağlayıcılarını seçmeniz istenir. Kural grubu bir veya daha fazla bağlı olan taraf uygulamasına bağlandığında, bağlı olan taraf uygulamaları tarafından kullanılan kimlik sağlayıcıları varsayılan olarak seçilir.
Not
WS-Federation kimlik sağlayıcıları için, kimlik sağlayıcısının WS-Federation meta verilerinde sunulan her talep türü için bir kural oluşturulur ve bu kural talep türü ve değerinden geçer. Diğer kimlik sağlayıcıları için önceden belirlenmiş talep türlerinin listesi temel alınarak doğrudan kurallar oluşturulur.
Kuralları Görüntüleme, Ekleme ve Düzenleme
ACS Yönetim Portalı'nın Kural Grubunu Düzenle sayfası, kural için Çıkış Talebi , Talep Veren (kimlik sağlayıcısı veya ACS olabilir) ve Açıklama içeren bir tabloda tüm kuralları görüntüler.
Tabloda belirli bir kurala tıklarsanız, kuralın düzenlenebileceği Talep Kuralını Düzenle sayfasına yönlendirilirsiniz. El ile yeni kural eklemek için Ekle'ye tıklayabilirsiniz.
Talep Kuralları
Talep kuralları, ACS'nin giriş taleplerini çıkış taleplerine dönüştürme mantığını açıklar. Kurallar, bağlı olan taraf uygulamalarla ilişkilendirilmiş olan ve bir uygulama için ACS tarafından bir belirteç verildiği her durumda çalıştırılan kural grupları içinde yer alır. Kural grubu kural içermiyorsa, bağlı olan taraf uygulamasına belirteç verilmez. Genellikle bağlı olan taraf uygulamanıza vermek istediğiniz her talep türü için bir kural gerekir. Tüm talep türlerini ve değerlerini geçirmek için tek bir kural oluşturmak ve kullanmak mümkündür. Ancak, her talep türü için bir kural kullanmak güvenliği artırır ve uygulamanıza geçirilen veriler üzerinde daha fazla denetim sağlar.
ACS'de, bir kimlik sağlayıcısından veya istemciden alınan bir talebi, talebin türünü, verenini veya değerini değiştirmeden bağlı olan taraf uygulamasına geçirmek için bir kural yapılandırabilirsiniz. Bu kurallar geçiş kuralları olarak adlandırılır. Örneğin, Windows Live ID (Microsoft hesabı) tarafından verilen belirteçler bir ad belirleyici talep türü içerir. Bu talebi bağlı olan taraf uygulamasına değişmeden geçirmek için, talep verenden gelen giriş adı belirleyici talep türünü işleyen bir geçiş kuralı yapılandırmanız Windows Live ID ve aynı çıkış talebi oluşturmanız gerekir.
Aşağıdaki tabloda, Contoso.com adlı kurgusal bir AD FS 2.0 kimlik sağlayıcısından geçirilen talepler gösterilmektedir.
Giriş Talepleri | Çıkış Talepleri | ||||
---|---|---|---|---|---|
Veren |
Tür |
Değer |
Veren |
Tür |
Değer |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
john@contoso.com |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name |
John Doe |
ACS kural altyapısı ayrıca, giriş taleplerini talep verene, giriş talep türüne ve değere göre tamamen farklı çıkış taleplerine dönüştürme olanağı sağlar. Başka bir deyişle ACS kural altyapısı, belirteçlerin içerdiği talepleri ekleyerek, kaldırarak veya değiştirerek giriş belirteçlerini farklı çıkış belirteçlerine dönüştürmenizi sağlar. Bu talep dönüştürme biçimi, ACS'nin talep giriş değerlerine göre temel yetkilendirme uygulayabilmesini sağlar. Aşağıdaki örnekte, "nameidentifier" giriş talebi belirli bir değerle eşleşiyorsa "yönetici" değerinin çıkış olduğu bir "rol" talep türü gösterilmektedir.
Giriş Talepleri | Çıkış Talepleri | ||||
---|---|---|---|---|---|
Veren |
Tür |
Değer |
Veren |
Tür |
Değer |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
yönetici |
ACS kural altyapısı, iki giriş talebiyle bağlantılı olarak çıkış talepleri oluşturma olanağı da sağlar. Aşağıdaki örnekte, hem "nameidentifier" hem de Contoso.com "role" giriş talepleri belirli değerlerle eşleşiyorsa çıkış talebi "write" değeriyle "action" türündedir. Bir kuralda iki giriş talebi belirtildiğinde, çıkış talebi oluşturmak için her iki değerin de eşleşmesi gerekir.
Giriş Talepleri | Ouutput Talepleri | ||||
---|---|---|---|---|---|
Veren |
Tür |
Değer |
Veren |
Tür |
Değer |
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
123456789 |
Access Control Service
|
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/action
|
yazma
|
Contoso.com |
https://schemas.xmlsoap.org/ws/2005/05/identity/claims/role |
yönetici |
Kuralları kullanarak belirteç dönüştürmeyi uygulama hakkında daha fazla bilgi ve adım için bkz . Nasıl yapılır: Kuralları Kullanarak Belirteç Dönüştürme Mantığını Uygulama.
ACS Yönetim Portalı ile yeni talep kuralları eklediğinizde veya mevcut talep kurallarını düzenlediğinizde, aşağıdaki ayarları yapılandırmanız gerekir:
Kural koşulları (if) – Giriş Talebi Ekleme
Bu bölüm, kuralın bir çıkış talebi vermesi için doğru olması gereken koşulları içerir. Bu koşullar şunları içerir:
Talep veren—Giriş talebi veren varlığa başvurur. Bu yapılandırılmış bir kimlik sağlayıcısı (örneğin, ) veya ACS olabilir. Giriş talebi bir hizmet kimliğinden geliyorsa veya giriş talebi başka bir talep kuralından geliyorsa ACS verendir. Daha fazla bilgi için bkz . Hizmet Kimlikleri.
Giriş talep türü—Talep verenden alınan giriş talep türüne başvurur. Örneğin, "nameidentifier" için tam talep türü şeklindedir https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Bu alanın seçenekleri şunlardır:
Any—Verenden herhangi bir talep türü alınırsa true değerini döndürür.
Tür seçin— Giriş talep türü açılan menüde seçilen türle eşleşiyorsa true değerini döndürür. Bu menü, seçili talep veren için kullanılabilir talep türleriyle doldurulur.
Enter type—Giriş talep türü alana girilen değerle tam olarak eşleşiyorsa true değerini döndürür.
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Giriş talep değeri—Alınan giriş talebi değerine başvurur. Örneğin, "nameidentifier" talep türü, değeri olarak bir e-posta adresi kullanır ve bu alan belirli bir e-posta adresini denetlemek için kullanılabilir. Bu alanın seçenekleri şunlardır:
Any—Verenden herhangi bir talep değeri alınırsa true döndürür.
Değer girin—Giriş talep türü alana girilen değerle tam olarak eşleşiyorsa true değerini döndürür. Bu seçenek, Giriş Talep Türü alanına belirli bir giriş talep türünün seçilmesini veya girilmesini gerektirir.
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Kural koşulları (if) – İkinci Giriş Talebi Ekleme
Kurala ikinci bir talep eklemek için İkinci bir giriş talebi ekle'ye tıklayın. Bu, aşağıda gösterilen ek koşulları belirtmenize olanak tanır. İki giriş talebi olan bir kuralda, çıkış talebi oluşturmak için tüm koşulların doğru olması gerektiğini unutmayın.
Talep veren—İkinci giriş talebi veren varlığa başvurur. Bu, ilk talep için seçilen kimlik sağlayıcısıyla aynı veya ACS olabilir. Kurallar işlenirken diğer talep kurallarından oluşturulan talepleri belirtmek için ACS'yi seçin.
Önemli
Kural işleme aynı anda yalnızca bir kimlik sağlayıcısından verilen bir belirteç için gerçekleştiğinden, birinci ve ikinci talepler için iki farklı kimlik sağlayıcısı seçilemez.
Giriş talep türü—Talep verenden alınan giriş talep türüne başvurur. Örneğin, "nameidentifier" için tam talep türü şeklindedir https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Bu alanın seçenekleri şunlardır:
Tür seçin— Giriş talep türü açılan menüde seçilen türle eşleşiyorsa true değerini döndürür. Bu menü, seçili talep veren için kullanılabilir talep türleriyle doldurulur.
Enter type—Giriş talep türü alana girilen değerle tam olarak eşleşiyorsa true değerini döndürür.
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Giriş talep değeri—Alınan giriş talebi değerine başvurur. Örneğin, "nameidentifier" talep türü, değeri olarak bir e-posta adresi kullanır ve bu alan belirli bir e-posta adresini denetlemek için kullanılabilir. Giriş talep türü alana girilen değerle tam olarak eşleşiyorsa bu true değerini döndürür.
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Kural eylemleri (sonra)
Bu bölüm, kuralın If bölümündeki koşullar doğruysa ACS tarafından verilen çıkış talebi belirtir. Çıkış talep seçenekleri şunları içerir:
Çıkış talep türü—ACS tarafından verilen talep türü. Bu alanın seçenekleri şunlardır:
Geçişli giriş talep türü—Giriş talebiyle aynı türde bir çıkış talebi oluşturur.
Tür seçin—Belirtilen türde bir çıkış talebi oluşturur. Açılan menüde yaygın talep türlerinin listesi yer alır.
Enter type—Girilen türe ait bir talep oluşturur. Çıkış talebi bir SAML belirtecinde mevcut olacaksa, bu değer bir URI olmalıdır (örneğin, https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier).
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Çıkış talep değeri—ACS tarafından verilen çıkış talebi değerini ifade eder. Bu alanın seçenekleri şunlardır:
Geçişli giriş talep değeri—Giriş talebi değeriyle aynı değere sahip bir çıkış talebi verir.
Değer girin—Değerin bu alana girilmiş olduğu bir talep verir. Bu seçenek, Çıkış Talep Türü alanına belirli bir giriş talep türünün seçilmesini veya girilmesini gerektirir.
Önemli
Bu alan büyük/küçük harfe duyarlıdır.
Kural Bilgileri
Kural açıklaması oluşturmak için bu bölümü kullanabilirsiniz.
Not
ACS'de, oluşturulan kurallar için kural açıklamaları otomatik olarak oluşturulmaz.
ACS Yönetim Hizmeti ile Kuralları Yapılandırma
Access Control ad alanında kurallar ACS Yönetim Hizmeti kullanılarak program aracılığıyla yapılandırılabilir. ASP.NET kullanarak kuralları yapılandırma örneği için bkz. Kod Örneği: Yönetim Hizmeti. Kuralları yapılandırmak için ACS Yönetim Hizmeti kullanılırken dikkate alınması gereken önemli öğeler aşağıdadır:
Kural grubundaki kuralları düzenlerken ve silerken, önce bu kural grubundaki tüm kurallar için ACS'yi sorgulamanız ve düzenleme veya silme işlemlerini gerçekleştirmek için sorgunuzun döndürdüğü kural kimliklerini kullanmanız önerilir. Bu kimliklerin kalıcı olması garanti edilmediğinden, gelecekteki işlemler için yönetim hizmeti tarafından döndürülen kimlikleri depolamanız önerilmez.
Kurallar oluşturmak için otomatik yeniden deneme mantığı yazıyorsanız (örneğin, bir zaman aşımı durumunda), ikinci kez eklemeye çalışmadan önce geçerli kural grubunda aynı kuralın var olup olmadığını sorgulamanız önerilir.