Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Static Web Apps, Azure tarafından yönetilen sağlayıcı kayıtlarını kullanan yönetilen kimlik doğrulaması sağlar. Kayıt üzerinde daha fazla esneklik sağlamak için, özel bir kayıtla varsayılanları geçersiz kılabilirsiniz.
Özel kimlik doğrulaması, OpenID Connect'i destekleyen özel sağlayıcılar yapılandırmanıza da olanak tanır. Bu yapılandırma, birden çok dış sağlayıcının kaydedilmesine izin verir.
Herhangi bir özel kaydın kullanılması, önceden yapılandırılmış tüm sağlayıcıları devre dışı bırakır.
Not
Özel kimlik doğrulaması yalnızca Azure Static Web Apps Standart planında kullanılabilir.
Özel kimlik sağlayıcısı yapılandırma
Özel kimlik sağlayıcıları yapılandırma dosyasının authbölümünde yapılandırılır.
Kaynak denetimine gizli bilgileri koymaktan kaçınmak için, yapılandırma dosyasında eşleşen bir adı uygulama ayarlarında arayarak kontrol eder. Gizli bilgilerinizi Azure Key Vault'ta depolamayı da seçebilirsiniz.
Kaydı oluşturmak için aşağıdaki uygulama ayarlarını oluşturarak başlayın:
| Ayar Adı | Değer |
|---|---|
AZURE_CLIENT_ID |
Microsoft Entra uygulama kaydı için Uygulama (istemci) kimliği. |
AZURE_CLIENT_SECRET_APP_SETTING_NAME |
Microsoft Entra uygulama kaydı için istemci gizli anahtarını tutan uygulama ayarının adı. |
Ardından, yapılandırma dosyasında sağlayıcıyı yapılandırmak için aşağıdaki örneği kullanın.
Microsoft Entra sağlayıcıları iki farklı sürümde kullanılabilir. Sürüm 1, yükün userDetailsClaimkullanıcı bilgilerini döndürmesine izin veren öğesini açıkça tanımlar. Buna karşılık, sürüm 2 varsayılan olarak kullanıcı bilgilerini döndürür ve URL'de v2.0 ile openIdIssuer olarak belirtilir.
Microsoft Entra Sürüm 1
{
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>",
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET_APP_SETTING_NAME"
}
}
}
}
}
<TENANT_ID>'yi Microsoft Entra kiracı kimliğinizle değiştirdiğinizden emin olun.
Microsoft Entra Sürüm 2
{
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET_APP_SETTING_NAME"
}
}
}
}
}
Microsoft Entra kiracı kimliğiniz ile <TENANT_ID> değerini değiştirdiğinizden emin olun.
Microsoft Entra ID'yi yapılandırma hakkında daha fazla bilgi için App Service Kimlik Doğrulaması/Yetkilendirmesi Belgelerine bakın.
Hangi hesapların oturum açabileceğini yapılandırmak için Bir uygulama tarafından desteklenen hesapları değiştirme ve Microsoft Entra uygulamanızı bir Microsoft Entra kiracısında bir kullanıcı kümesiyle kısıtlama başlıklarına bakın.
Not
Microsoft Entra ID yapılandırma bölümü azureActiveDirectory iken, platform, oturum açma, oturum kapatma ve kullanıcı bilgilerini temizleme URL'lerinde bunu aad olarak takma adla kullanır. Daha fazla bilgi için kimlik doğrulaması ve yetkilendirme bölümüne bakın.
Özel sertifika
Microsoft Entra ID uygulama kaydınıza özel bir sertifika eklemek için aşağıdaki adımları kullanın.
Henüz yüklü değilse sertifikanızı bir Microsoft Key Vault'a yükleyin.
Statik Web Uygulamanıza yönetilen kimlik ekleyin.
Kullanıcı tarafından atanan yönetilen kimlikler için, statik site nesnenizdeki
keyVaultReferenceIdentityözelliği kullanıcı tarafından atanan yönetilen kimliğin değerine ayarlayınresourceId.Yönetilen kimliğiniz sistem tarafından atanmışsa bu adımı atlayın.
Yönetilen kimliğe aşağıdaki erişim ilkelerini verin:
- Sırlar: Getir/Listele
- Sertifikalar: Alma/Listeleme
Yapılandırma bölümünün kimlik doğrulama yapılandırması bölümünü
azureActiveDirectoryaşağıdaki örnekte gösterildiği gibi birclientSecretCertificateKeyVaultReferencedeğerle güncelleştirin:{ "auth": { "rolesSource": "/api/GetRoles", "identityProviders": { "azureActiveDirectory": { "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "registration": { "openIdIssuer": "https://login.microsoftonline.com/common/v2.0", "clientIdSettingName": "AZURE_CLIENT_ID", "clientSecretCertificateKeyVaultReference": "@Microsoft.KeyVault(SecretUri=https://<KEY_VAULT_NAME>.azure.net/certificates/<CERTIFICATE_NAME>/<CERTIFICATE_VERSION_ID>)", "clientSecretCertificateThumbprint": "*" } } } } }<>ile çevrili olan yer tutuculara değerlerinizi girdiğinizden emin olun.Gizli URI'de anahtar kasası adını ve sertifika adını belirtin. Bir sürüme sabitlemek istiyorsanız sertifika sürümünü ekleyin, aksi takdirde çalışma zamanının sertifikanın en yeni sürümünü seçmesine izin vermek için sürümü eklemeyin.
clientSecretCertificateThumbprintdeğerini*olarak ayarlayın ve sertifikaların en son sürümü için daima parmak izini alın.
Kimlik Doğrulama Geri Çağırmaları
Kimlik sağlayıcıları, oturum açma veya oturum kapatma isteğini tamamlamak için yeniden yönlendirme URL'si gerektirir. Çoğu sağlayıcı, geri çağırma URL'lerini bir izin verilenler listesine eklemenizi gerektirir. Aşağıdaki uç noktalar yeniden yönlendirme hedefleri olarak kullanılabilir.
| Tür | URL deseni |
|---|---|
| Oturum aç | https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback |
| Oturumu kapatma | https://<YOUR_SITE>/.auth/logout/<PROVIDER_NAME_IN_CONFIG>/callback |
Microsoft Entra ID kullanıyorsanız, <PROVIDER_NAME_IN_CONFIG> yer tutucusu için aad değerini kullanın.
Not
Bu URL'ler, kimlik doğrulama sağlayıcısından yanıt almak için Azure Static Web Apps tarafından sağlanır; bu yollarda sayfa oluşturmanız gerekmez.
Oturum açma, oturumu kapatma ve kullanıcı bilgileri
Özel kimlik sağlayıcısı kullanmak için aşağıdaki URL desenlerini kullanın.
| Eylem | Desen |
|---|---|
| Oturum aç | /.auth/login/<PROVIDER_NAME_IN_CONFIG> |
| Oturumu kapatma | /.auth/logout |
| Kullanıcı Ayrıntıları | /.auth/me |
| Kullanıcı ayrıntılarını temizleme | /.auth/purge/<PROVIDER_NAME_IN_CONFIG> |
Microsoft Entra ID kullanıyorsanız yer tutucunun değeri olarak aad kullanın <PROVIDER_NAME_IN_CONFIG>.
Rolleri yönetme
Statik bir web uygulamasına erişen her kullanıcı bir veya daha fazla role aittir. Kullanıcıların ait olabileceği iki yerleşik rol vardır:
- anonim: Tüm kullanıcılar otomatik olarak anonim role aittir.
- kimliği doğrulandı: Oturum açan tüm kullanıcılar kimliği doğrulanmış role aittir.
Yerleşik rollerin ötesinde, kullanıcılara özel roller atayabilir ve bunlara staticwebapp.config.json dosyasında başvurabilirsiniz.
Bir kullanıcıyı bir role ekle
Bir role kullanıcı eklemek için, kullanıcıları belirli rollerle ilişkilendirmenizi sağlayan davetler oluşturursunuz. Roller, staticwebapp.config.json dosyasında tanımlanır ve muhafaza edilir.
Davet oluşturma
Davetler bireysel yetkilendirme sağlayıcılarına özeldir, bu nedenle hangi sağlayıcıların desteklenmesi gerektiğini seçerken uygulamanızın gereksinimlerini göz önünde bulundurun. Bazı sağlayıcılar kullanıcının e-posta adresini kullanıma sunarken, bazıları yalnızca sitenin kullanıcı adını sağlar.
| Yetkilendirme sağlayıcısı | Kullanıma sunar |
|---|---|
| Microsoft Entra Kimlik | E-posta Adresi |
| GitHub | kullanıcı adı |
| X | kullanıcı adı |
Davet oluşturmak için aşağıdaki adımları kullanın.
- Azure portalında Statik Web Apps kaynağına gidin.
- Ayarlar'ın altında Rol Yönetimi'ne tıklayın.
- Davet et’i seçin.
- Seçenekler listesinden bir Yetkilendirme sağlayıcısı seçin.
- Davetli ayrıntıları kutusuna alıcının kullanıcı adını veya e-posta adresini ekleyin.
- GitHub ve X için kullanıcı adını girin. Diğer tüm kullanıcılar için alıcının e-posta adresini girin.
- Statik sitenizin alan adını açılan menüsünden seçin.
- Seçtiğiniz etki alanı, davetiyede görünen etki alanıdır. Sitenizle ilişkilendirilmiş özel bir etki alanınız varsa, özel etki alanını seçin.
- Rol kutusuna rol adlarının virgülle ayrılmış bir listesini ekleyin.
- Davetin geçerli kalmasını istediğiniz en fazla saat sayısını girin.
- Mümkün olan en yüksek sınır 168 saattir ve bu da yedi gündür.
- Oluştur seçeneğini belirleyin.
- Davet et bağlantı kutusundan bağlantıyı kopyalayın.
- Erişim izni vermekte olduğunuz kullanıcıya davet bağlantısını e-postayla gönderin.
Kullanıcı davetteki bağlantıyı seçtiğinde ilgili hesabıyla oturum açması istenir. Başarıyla oturum açtıktan sonra kullanıcı seçilen rollerle ilişkilendirilir.
Dikkat
Rota kurallarınızın seçili kimlik doğrulama sağlayıcılarınızla çakışmadığından emin olun. Yönlendirme kuralıyla sağlayıcının engellenmesi, kullanıcıların davetleri kabul etmesini engeller.
Rol atamalarını güncelleştirme
- Azure portalında Statik Web Apps kaynağına gidin.
- Ayarlar'ın altında Rol Yönetimi'ne tıklayın.
- Listeden kullanıcıyı seçin.
- Rol kutusundaki rol listesini düzenleyin.
- Güncelleştir'i seçin.
Kullanıcıyı kaldır
- Azure portalında Statik Web Apps kaynağına gidin.
- Ayarlar'ın altında Rol Yönetimi'ne tıklayın.
- Listede kullanıcıyı bulun.
- Kullanıcının satırındaki onay kutusunu işaretleyin.
- Sil'i seçin.
Bir kullanıcıyı kaldırırken aşağıdaki öğeleri göz önünde bulundurun:
- Bir kullanıcının kaldırılması izinlerini geçersiz kılıyor.
- Dünya çapında yayılma birkaç dakika sürebilir.
- Kullanıcı uygulamaya geri eklenirse, değişiklikler yapılır
userId.