Megosztás a következőn keresztül:


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 userDetailsClaimfelhaszná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.

  1. Ha még nem tette meg, töltse fel a tanúsítványt egy Microsoft Key Vaultba.

  2. 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 a resourceId 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.

  3. 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
  4. Frissítse a konfigurációs szakasz hitelesítési konfigurációs szakaszát azureActiveDirectory egy clientSecretCertificateKeyVaultReference é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.

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
  3. Válassza ki Meghívás lehetőséget.
  4. Válasszon ki egy engedélyezési szolgáltatót a lehetőségek listájából.
  5. 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.
  6. 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.
  7. A szerepkörnevek vesszővel tagolt listájának hozzáadása a Szerepkör mezőben.
  8. 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.
  9. Válassza a Létrehozás lehetőséget.
  10. Másolja a hivatkozást a Meghívó hivatkozás mezőjéből.
  11. 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

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
  3. Jelölje ki a felhasználót a listában.
  4. Szerkessze a szerepkörök listáját a Szerepkör mezőben.
  5. Válassza a Frissítés lehetőséget.

Felhasználó eltávolítása

  1. Lépjen egy Static Web Apps-erőforrásra az Azure Portalon.
  2. A Beállítások területen válassza a Szerepkör-kezelés lehetőséget.
  3. Keresse meg a felhasználót a listában.
  4. Jelölje be a felhasználó sorában lévő jelölőnégyzetet.
  5. 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.

Következő lépések