Egyéni hitelesítés az Azure Static Web Appsben
Az Azure Static Web Apps felügyelt hitelesítést biztosít, amely az Azure által felügyelt szolgáltatói regisztrációkat használja. Ha nagyobb rugalmasságot szeretne biztosítani a regisztrációval szemben, egyéni regisztrációval felülbírálhatja az alapértelmezett értékeket.
Az egyéni hitelesítés lehetővé teszi az OpenID Connectet támogató egyéni szolgáltatók konfigurálását is. Ez a konfiguráció több külső szolgáltató regisztrációját teszi lehetővé.
Az egyéni regisztrációk használata letiltja az összes előre konfigurált szolgáltatót.
Feljegyzés
Az egyéni hitelesítés csak az Azure Static Web Apps Standard csomagban érhető el.
Egyéni identitásszolgáltató konfigurálása
Az egyéni identitásszolgáltatók a auth
konfigurációs fájl szakaszában vannak konfigurálva.
Annak érdekében, hogy a titkos kulcsok ne kerüljenek a forráskezelésbe, a konfiguráció megvizsgálja a konfigurációs fájlban található egyező név alkalmazásbeállítását . A titkos kulcsokat az Azure Key Vaultban is tárolhatja.
A regisztráció létrehozásához először hozza létre a következő alkalmazásbeállításokat:
A beállítás neve | Érték |
---|---|
AZURE_CLIENT_ID |
A Microsoft Entra alkalmazásregisztráció alkalmazás-(ügyfél-) azonosítója. |
'AZURE_CLIENT_SECRET_APP_SETTING_NAME | A Microsoft Entra alkalmazásregisztráció ügyfélkulcsát tartalmazó alkalmazásbeállítás neve. |
Ezután a következő példában konfigurálja a szolgáltatót a konfigurációs fájlban.
A Microsoft Entra-szolgáltatók két különböző verzióban érhetők el. Az 1. verzió explicit módon határozza meg a userDetailsClaim
felhasználói adatokat, így a hasznos adatok visszaadhatók. Ezzel szemben a 2. verzió alapértelmezés szerint felhasználói adatokat ad vissza, és az openIdIssuer
URL-cím határozza megv2.0
.
Microsoft Entra 1-es verzió
{
"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"
}
}
}
}
}
Mindenképpen cserélje le <TENANT_ID>
a Microsoft Entra-bérlőazonosítót.
Microsoft Entra 2-es verzió
{
"auth": {
"identityProviders": {
"azureActiveDirectory": {
"registration": {
"openIdIssuer": "https://login.microsoftonline.com/<TENANT_ID>/v2.0",
"clientIdSettingName": "AZURE_CLIENT_ID",
"clientSecretSettingName": "AZURE_CLIENT_SECRET_APP_SETTING_NAME"
}
}
}
}
}
Mindenképpen cserélje le <TENANT_ID>
a Microsoft Entra-bérlőazonosítót.
A Microsoft Entra-azonosító konfigurálásáról további információt az App Service-hitelesítés/engedélyezés dokumentációjában talál egy meglévő regisztráció használatával kapcsolatban.
Annak konfigurálásához, hogy mely fiókok jelentkezhetnek be, olvassa el az alkalmazás által támogatott fiókok módosítása és a Microsoft Entra-alkalmazás korlátozása a Microsoft Entra-bérlők felhasználóinak egy csoportjára című témakört.
Feljegyzés
Bár a Microsoft Entra ID konfigurációs szakasza az azureActiveDirectory
, a platform ezt aad
a bejelentkezési, kijelentkezési és törlési felhasználói adatok URL-címében használja. További információért tekintse meg a hitelesítés és az engedélyezés szakaszt.
Egyéni tanúsítvány
Az alábbi lépésekkel egyéni tanúsítványt vehet fel a Microsoft Entra ID-alkalmazásregisztrációba.
Ha még nem tette meg, töltse fel a tanúsítványt egy Microsoft Key Vaultba.
Felügyelt identitás hozzáadása a statikus webalkalmazáshoz.
A felhasználó által hozzárendelt felügyelt identitások esetében állítsa be
keyVaultReferenceIdentity
a statikus hely objektumának tulajdonságát aresourceId
felhasználó által hozzárendelt felügyelt identitásra.Hagyja ki ezt a lépést, ha a felügyelt identitáshoz rendszer van rendelve.
Adja meg a felügyelt identitásnak a következő hozzáférési szabályzatokat:
- Titkos kódok: Lekérés/lista
- Tanúsítványok: Lekérés/lista
Frissítse a konfigurációs szakasz hitelesítési konfigurációs szakaszát
azureActiveDirectory
egyclientSecretCertificateKeyVaultReference
értékkel az alábbi példában látható módon:{ "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": "*" } } } } }
Ügyeljen arra, hogy az értékeket a helyőrzőkre
<>
cserélje le.A titkos URI-ban adja meg a kulcstartó nevét és a tanúsítvány nevét. Ha egy verziót szeretne rögzíteni, adja meg a tanúsítvány verzióját, ellenkező esetben hagyja ki a verziót, hogy a futtatókörnyezet kiválaszthassa a tanúsítvány legújabb verzióját.
Állítsa úgy
clientSecretCertificateThumbprint
, hogy*
mindig lekérje a tanúsítványok ujjlenyomatának legújabb verzióját.
Hitelesítési visszahívások
Az identitásszolgáltatóknak átirányítási URL-címre van szükségük a bejelentkezési vagy kijelentkezési kérés teljesítéséhez. A legtöbb szolgáltatónak hozzá kell adnia a visszahívási URL-címeket egy engedélyezési listához. A következő végpontok átirányítási célként érhetők el.
Típus | URL-minta |
---|---|
Bejelentkezés | https://<YOUR_SITE>/.auth/login/<PROVIDER_NAME_IN_CONFIG>/callback |
Kijelentkezés | https://<YOUR_SITE>/.auth/logout/<PROVIDER_NAME_IN_CONFIG>/callback |
Ha Microsoft Entra-azonosítót használ, használja aad
a helyőrző értékét <PROVIDER_NAME_IN_CONFIG>
.
Feljegyzés
Ezeket az URL-címeket az Azure Static Web Apps biztosítja a hitelesítésszolgáltató válaszának fogadásához, nem kell lapokat létrehoznia ezeken az útvonalakon.
Bejelentkezés, kijelentkezés és felhasználói adatok
Egyéni identitásszolgáltató használatához használja az alábbi URL-mintákat.
Művelet | Minta |
---|---|
Bejelentkezés | /.auth/login/<PROVIDER_NAME_IN_CONFIG> |
Kijelentkezés | /.auth/logout |
Felhasználói adatok | /.auth/me |
Felhasználói adatok törlése | /.auth/purge/<PROVIDER_NAME_IN_CONFIG> |
Ha Microsoft Entra-azonosítót használ, használja aad
a helyőrző értékét <PROVIDER_NAME_IN_CONFIG>
.
Szerepkörök kezelése
Minden felhasználó, aki statikus webalkalmazáshoz fér hozzá, egy vagy több szerepkörhöz tartozik. A felhasználók két beépített szerepkörhöz tartozhatnak:
- névtelen: Minden felhasználó automatikusan a névtelen szerepkörhöz tartozik.
- hitelesített: Minden bejelentkezett felhasználó a hitelesített szerepkörhöz tartozik.
A beépített szerepkörökön túl egyéni szerepköröket is hozzárendelhet a felhasználókhoz, és hivatkozhat rájuk a staticwebapp.config.json fájlban.
Felhasználó hozzáadása szerepkörhöz
Ha felhasználót szeretne hozzáadni egy szerepkörhöz, olyan meghívókat hoz létre, amelyek lehetővé teszik a felhasználók adott szerepkörökhöz való hozzárendelését. A szerepkörök a staticwebapp.config.json fájlban vannak definiálva és karbantartva.
Meghívó létrehozása
A meghívások az egyes hitelesítésszolgáltatókra vonatkoznak, ezért vegye figyelembe az alkalmazás igényeit, amikor kiválasztja, hogy mely szolgáltatókat támogatja. Egyes szolgáltatók közzéteszik a felhasználó e-mail-címét, míg mások csak a webhely felhasználónevét adják meg.
Engedélyezési szolgáltató | Kiteszi |
---|---|
Microsoft Entra ID | e-mail-cím; |
GitHub | username |
X | username |
A következő lépésekkel hozhat létre meghívót.
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
- Válassza ki Meghívás lehetőséget.
- Válasszon ki egy engedélyezési szolgáltatót a lehetőségek listájából.
- Adja meg a címzett felhasználónevét vagy e-mail-címét a Meghívás részletei mezőben.
- A GitHub és az X esetében adja meg a felhasználónevet. Minden másnál adja meg a címzett e-mail-címét.
- Válassza ki a statikus webhely tartományát a Tartomány legördülő menüből.
- A kiválasztott tartomány a meghívóban megjelenő tartomány. Ha a webhelyhez egyéni tartomány van társítva, válassza ki az egyéni tartományt.
- A szerepkörnevek vesszővel tagolt listájának hozzáadása a Szerepkör mezőben.
- Adja meg, hogy a meghívás hány órát tart érvényesnek.
- A maximális lehetséges korlát 168 óra, ami hét nap.
- Válassza a Létrehozás lehetőséget.
- Másolja a hivatkozást a Meghívó hivatkozás mezőjéből.
- Küldje el e-mailben a meghívó hivatkozását annak a felhasználónak, akihez hozzáférést ad.
Amikor a felhasználó kiválasztja a hivatkozást a meghívóban, a rendszer kérni fogja, hogy jelentkezzen be a megfelelő fiókjával. Miután sikeresen bejelentkezett, a felhasználó a kijelölt szerepkörökhöz lesz társítva.
Figyelemfelhívás
Győződjön meg arról, hogy az útvonalszabályok nem ütköznek a kiválasztott hitelesítésszolgáltatókkal. Az útvonalszabályt tartalmazó szolgáltató letiltása megakadályozza, hogy a felhasználók fogadják el a meghívókat.
Szerepkör-hozzárendelések frissítése
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
- Jelölje ki a felhasználót a listában.
- Szerkessze a szerepkörök listáját a Szerepkör mezőben.
- Válassza a Frissítés lehetőséget.
Felhasználó eltávolítása
- Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
- A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
- Keresse meg a felhasználót a listában.
- Jelölje be a felhasználó sorában lévő jelölőnégyzetet.
- Válassza a Törlés lehetőséget.
A felhasználók eltávolításakor tartsa szem előtt a következő elemeket:
- A felhasználó eltávolítása érvényteleníti az engedélyeiket.
- A globális propagálás eltarthat néhány percig.
- Ha a felhasználó visszakerül az alkalmazásba, a
userId
változások megváltoznak.