Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk az összes Spring Cloud Azure-hitelesítési módszert ismerteti.
Hitelesítés és engedélyezés a Microsoft Entra-azonosítóval
A Microsoft Entra ID-val azure-beli szerepköralapú hozzáférés-vezérléssel (Azure RBAC) adhat engedélyeket egy biztonsági tagnak, amely lehet felhasználó vagy alkalmazásszolgáltatás-tag. Amikor egy biztonsági tag (felhasználó vagy alkalmazás) megpróbál hozzáférni egy Azure-erőforráshoz, például egy Event Hubs-erőforráshoz, a kérést engedélyezni kell. A Microsoft Entra-azonosítóval az erőforráshoz való hozzáférés kétlépéses folyamat:
- Először a rendszer hitelesíti a biztonsági tag identitását, és egy OAuth 2.0-jogkivonatot ad vissza.
- Ezután a jogkivonatot a megadott erőforráshoz való hozzáférés engedélyezésére irányuló kérés részeként továbbítjuk az Azure-szolgáltatásnak.
Hitelesítő adatok típusai
A Spring Cloud Azure lehetővé teszi, hogy különböző hitelesítőadat-típusokat konfiguráljon a hitelesítéshez, beleértve a DefaultAzureCredential, WorkloadIdentityCredential, ManagedIdentityCredential, ClientSecretCredential, AzureCliCredentialstb.
DefaultAzureCredential
DefaultAzureCredential a legtöbb olyan forgatókönyv esetében megfelelő, ahol az alkalmazás az Azure Cloudban való futtatásra szolgál, mivel a következő hitelesítő adatokat egyesíti:
- A hitelesítéshez gyakran használt hitelesítő adatok üzembe helyezésekor.
- A fejlesztési környezetben történő hitelesítéshez használt hitelesítő adatok.
Jegyzet
DefaultAzureCredential Célja az Azure SDK használatának egyszerűsítése az ésszerű alapértelmezett viselkedéssel rendelkező gyakori forgatókönyvek kezelésével. Ha további vezérlést szeretne, vagy az alapértelmezett beállítások nem támogatják a forgatókönyvet, más hitelesítőadat-típusokat kell használnia.
DefaultAzureCredential a következő mechanizmusokkal próbál hitelesítést végezni, hogy:
- Környezet –
DefaultAzureCredentialmegpróbálja beolvasni a környezeti változókon keresztül megadott fiókadatokat, és hitelesíteni azokat. - Felügyelt identitás – Ha az alkalmazás olyan Azure-gazdagépen van üzembe helyezve, amelyen engedélyezve van a felügyelt identitás,
DefaultAzureCredentialazzal a fiókkal próbál hitelesítést végezni. - Számítási feladatok identitása – Ha az alkalmazás virtuális gépeken (VM-ben) van üzembe helyezve,
DefaultAzureCredentialazzal a fiókkal próbál hitelesítést végezni. - Megosztott jogkivonat-gyorsítótár – Ha a Visual Studióban hitelesített,
DefaultAzureCredentialmegpróbál hitelesíteni ezzel a fiókkal. - IntelliJ – Ha az IntelliJ-hez készült Azure Toolkiten keresztül hitelesített,
DefaultAzureCredentialazzal a fiókkal próbál hitelesítést végezni. - Azure CLI – Ha az Azure CLI-paranccsal
az loginhitelesített egy fiókot,DefaultAzureCredentialmegpróbál hitelesíteni ezzel a fiókkal. - Azure PowerShell – Ha az Azure PowerShell-lel hitelesített,
DefaultAzureCredentialazzal a fiókkal próbál hitelesítést végezni. - Azure Developer CLI – Ha az Azure Developer CLI-vel hitelesített,
DefaultAzureCredentialazzal a fiókkal próbál hitelesítést végezni.
Borravaló
Győződjön meg arról, hogy a biztonsági tag rendelkezik elegendő engedéllyel az Azure-erőforrás eléréséhez. További információ: Hozzáférés engedélyezése a Microsoft Entra-azonosítóval.
Jegyzet
A Spring Cloud Azure AutoConfigure 4.1.0 óta regisztrálnia kell egy, az ThreadPoolTaskExecutor Azure Identity által létrehozott összes szál kezeléséhez elnevezett springCloudAzureCredentialTaskExecutor babot. A szálkészlet által kezelt egyes szálak neve előtagként az-identity-. Ez a ThreadPoolTaskExecutor bab független a Spring Boot által biztosított Executor babtól.
Felügyelt identitások
Gyakori kihívás a különböző összetevők közötti kommunikáció biztonságossá tételéhez használt titkos kódok és hitelesítő adatok kezelése. A felügyelt identitások nem igénylik a hitelesítő adatok kezelését. A felügyelt identitások olyan identitást biztosítanak az alkalmazások számára, amelyeket a Microsoft Entra-hitelesítést támogató erőforrásokhoz való csatlakozáskor használhatnak. Az alkalmazások a felügyelt identitás használatával szerezhetik be a Microsoft Entra-jogkivonatokat. Az alkalmazások például felügyelt identitással férhetnek hozzá az olyan erőforrásokhoz, mint az Azure Key Vault, ahol biztonságosan tárolhatja a hitelesítő adatokat, vagy hozzáférhet a tárfiókokhoz.
Javasoljuk, hogy a kapcsolati sztring vagy kulcs használata helyett használjon felügyelt identitást az alkalmazásban, mert biztonságosabb, és menti a titkos kódok és hitelesítő adatok kezelésével kapcsolatos problémákat. Ebben az esetben DefaultAzureCredential jobban kiszolgálhatja a helyi fejlesztést a helyi fiókadatok használatával, majd az alkalmazás Azure Cloudban való üzembe helyezésével és a felügyelt identitás használatával.
Felügyelt identitástípusok
A felügyelt identitások kétféleképpen használhatók:
- rendszer által hozzárendelt – Egyes Azure-szolgáltatások lehetővé teszik a felügyelt identitások közvetlen engedélyezését egy szolgáltatáspéldányon. Ha engedélyezi a rendszer által hozzárendelt felügyelt identitást, létrejön egy identitás a Microsoft Entra-ban, amely az adott szolgáltatáspéldány életciklusához van kötve. Így az erőforrás törlésekor az Azure automatikusan törli az Ön identitását. Terv szerint csak az Azure-erőforrás használhatja ezt az identitást, hogy jogkivonatokat kérjen a Microsoft Entra-azonosítótól.
- felhasználó által hozzárendelt – Önálló Azure-erőforrásként is létrehozhat felügyelt identitást. Létrehozhat egy felhasználó által hozzárendelt felügyelt identitást, és hozzárendelheti egy Vagy több Azure-szolgáltatáspéldányhoz. A felhasználó által hozzárendelt felügyelt identitások esetén az identitás kezelése külön történik az azt használó erőforrásoktól.
Jegyzet
Felhasználó által hozzárendelt felügyelt identitás használatakor megadhatja az ügyfél-azonosítót spring.cloud.azure.credential.client-id vagy spring.cloud.azure.<azure-service>.credential.client-id. Nincs szükség hitelesítő adatok konfigurálására, ha rendszer által hozzárendelt felügyelt identitást használ.
Borravaló
Az Azure-erőforrás eléréséhez győződjön meg arról, hogy a biztonsági tag rendelkezik megfelelő engedéllyel. További információ: Hozzáférés engedélyezése a Microsoft Entra-azonosítóval.
További információ a felügyelt identitásokról: Mik az Azure-erőforrások felügyelt identitásai?.
Egyéb hitelesítő adatok típusai
Ha több vezérlést szeretne, mint amit a rendszer biztosít DefaultAzureCredential, vagy ha az alapértelmezett beállítások nem támogatják a forgatókönyvet, más hitelesítőadat-típusokat kell használnia.
Hitelesítés Microsoft Entra-azonosítóval
Ha alkalmazásokat szeretne csatlakoztatni a Microsoft Entra-hitelesítést támogató erőforrásokhoz, a következő konfigurációkat állíthatja be a spring.cloud.azure.credential vagy spring.cloud.azure.<azure-service>.credential előtaggal.
Az alábbi táblázat a hitelesítési tulajdonságokat sorolja fel:
| Ingatlan | Leírás |
|---|---|
| ügyfél-azonosító | Az azure-ral végzett egyszerű szolgáltatáshitelesítéshez használandó ügyfél-azonosító. |
| titkos ügyfélkód | A szolgáltatásnév-hitelesítés Azure-ral történő végrehajtásakor használandó ügyfélkulcs. |
| ügyféltanúsítvány elérési útja | Egy PEM-tanúsítványfájl elérési útja, amelyet a szolgáltatásnév azure-beli hitelesítésekor kell használni. |
| ügyféltanúsítvány-jelszó | A tanúsítványfájl jelszava. |
| felhasználónév | A felhasználónév/jelszó azure-beli hitelesítéséhez használandó felhasználónév. |
| jelszó | A felhasználónév-/jelszó-hitelesítés Azure-beli végrehajtásakor használandó jelszó. |
| Felügyelt identitással kompatibilis | A felügyelt identitás engedélyezése. |
| token-hitelesítő-bab-név | Az Azure-ral való hitelesítéshez használandó TokenCredential babnév. |
Borravaló
Az összes Spring Cloud Azure-konfigurációs tulajdonság listáját Spring Cloud Azure-konfigurációs tulajdonságokcímű cikkben találja.
Az alkalmazás több helyen is megkeresi az elérhető hitelesítő adatokat. Ha a tulajdonság TokenCredential meg van adva, minden Azure SDK-ügyfélszerkesztő-gyár először egyéni típusú token-credential-bean-name babot fogad el, és visszaesik a használatbaDefaultAzureCredential, ha nincsenek konfigurálva hitelesítő adatok.
Hitelesítés testreszabott TokenCredential bean használatával
Az alábbi példa bemutatja, hogyan definiálhat egyéni TokenCredential babot a hitelesítéshez:
@Bean
TokenCredential myTokenCredential() {
// Your concrete TokenCredential instance
}
spring.cloud.azure:
credential:
token-credential-bean-name: myTokenCredential
Hitelesítés rendszer által hozzárendelt felügyelt identitással
Az alábbi példa bemutatja, hogyan hitelesíthető rendszer által hozzárendelt felügyelt identitással:
spring.cloud.azure:
credential:
managed-identity-enabled: true
Hitelesítés felhasználó által hozzárendelt felügyelt identitással
Az alábbi példa bemutatja, hogyan hitelesíthető a felhasználó által hozzárendelt felügyelt identitással:
spring.cloud.azure:
credential:
managed-identity-enabled: true
client-id: ${AZURE_CLIENT_ID}
Hitelesítés egyszerű szolgáltatásnévvel ügyfélkóddal
Az alábbi példa bemutatja, hogyan hitelesíthető egy egyszerű szolgáltatásnévvel egy ügyfél titkos kóddal:
spring.cloud.azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
Jegyzet
A tenant-id engedélyezett értékek a következők: common, organizations, consumersvagy bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásáról további információt Az egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosító.
Hitelesítés szolgáltatásnévvel ügyféltanúsítvánnyal
Az alábbi példa bemutatja, hogyan hitelesíthető egy szolgáltatásnévvel ügyfél PFX-tanúsítvánnyal:
spring.cloud.azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-certificate-path: ${AZURE_CLIENT_CERTIFICATE_PATH}
client-certificate-password: ${AZURE_CLIENT_CERTIFICATE_PASSWORD}
profile:
tenant-id: <tenant>
Jegyzet
A tenant-id engedélyezett értékek a következők: common, organizations, consumersvagy bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásáról további információt Az egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosító.
Az alábbi példa bemutatja, hogyan hitelesíthető szolgáltatásnévvel ügyfél PEM-tanúsítvánnyal:
spring.cloud.azure:
credential:
client-id: ${AZURE_CLIENT_ID}
client-certificate-path: ${AZURE_CLIENT_CERTIFICATE_PATH}
profile:
tenant-id: <tenant>
Jegyzet
A tenant-id engedélyezett értékek a következők: common, organizations, consumersvagy bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásáról további információt Az egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosító.
Hitelesítés felhasználói hitelesítő adatokkal
Az alábbi példa bemutatja, hogyan hitelesíthető felhasználói hitelesítő adatokkal:
spring.cloud.azure:
credential:
client-id: ${AZURE_CLIENT_ID}
username: ${AZURE_USER_USERNAME}
password: ${AZURE_USER_PASSWORD}
Szolgáltatás hitelesítése más hitelesítő adatoktól eltérő hitelesítő adatok használatával
Az alábbi példa bemutatja, hogyan hitelesíthető a Key Vaulttal egy másik szolgáltatásnév használatával. Ez a példa két hitelesítő adattal konfigurálja az alkalmazást: egy rendszer által hozzárendelt felügyelt identitással és egy szolgáltatásnévvel. A Key Vault titkos ügyfél a szolgáltatásnevet használja, de minden más összetevő inkább felügyelt identitást használ.
spring.cloud.azure:
credential:
managed-identity-enabled: true
keyvault.secret:
credential:
client-id: ${AZURE_CLIENT_ID}
client-secret: ${AZURE_CLIENT_SECRET}
profile:
tenant-id: <tenant>
Jegyzet
A tenant-id engedélyezett értékek a következők: common, organizations, consumersvagy bérlőazonosító. Ezekről az értékekről további információt a AADSTS50020 – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című hiba helytelen végpontja (személyes és szervezeti fiókok) című szakaszában talál. Az egybérlős alkalmazás konvertálásáról további információt Az egybérlős alkalmazás átalakítása több-bérlőssé a Microsoft Entra-azonosító.
Hozzáférés engedélyezése a Microsoft Entra-azonosítóval
Az engedélyezési lépéshez egy vagy több Azure-szerepkört kell hozzárendelni a biztonsági taghoz. A rendszerbiztonsági taghoz rendelt szerepkörök határozzák meg a rendszerbiztonsági tag engedélyeit.
Borravaló
Az azure-beli beépített szerepkörök listáját Beépített Azure-szerepkörökcímű témakörben találja.
Az alábbi táblázat a Spring Cloud Azure-ban támogatott Azure-szolgáltatásokhoz való hozzáférés engedélyezéséhez beépített Azure-szerepköröket sorolja fel:
| Szerep | Leírás |
|---|---|
| alkalmazáskonfigurációs adattulajdonosi | Lehetővé teszi az alkalmazáskonfigurációs adatok teljes elérését. |
| alkalmazáskonfigurációs adatolvasó | Olvasási hozzáférést biztosít az alkalmazáskonfigurációs adatokhoz. |
| Azure Event Hubs-adattulajdonosi | Teljes hozzáférést biztosít az Azure Event Hubs-erőforrásokhoz. |
| Azure Event Hubs-adatátvevő | Lehetővé teszi az Azure Event Hubs-erőforrásokhoz való hozzáférés fogadását. |
| Azure Event Hubs-adatküldő | Lehetővé teszi az Azure Event Hubs-erőforrásokhoz való hozzáférés küldését. |
| Azure Service Bus-adattulajdonosi | Teljes hozzáférést biztosít az Azure Service Bus-erőforrásokhoz. |
| Azure Service Bus-adatátvevő | Lehetővé teszi az Azure Service Bus-erőforrásokhoz való hozzáférés fogadását. |
| Azure Service Bus-adatküldő | Lehetővé teszi az Azure Service Bus-erőforrásokhoz való hozzáférés küldését. |
| Tárolási blob-adatok tulajdonosa | Teljes hozzáférést biztosít az Azure Storage blobtárolóihoz és adataihoz, beleértve a POSIX-hozzáférés-vezérlés hozzárendelését is. |
| Storage Blob-adatolvasó | Az Azure Storage-tárolók és blobok olvasása és listázása. |
| Storage-üzenetsor adatolvasója | Azure Storage-üzenetsorok és üzenetsor-üzenetek olvasása és listázása. |
| Redis Cache-közreműködői | Redis-gyorsítótárak kezelése. |
Jegyzet
Ha a Spring Cloud Azure Resource Manager használatával lekéri az Event Hubs, a Service Bus és a Storage Queue kapcsolati sztringjét vagy a Cache for Redis tulajdonságait, rendelje hozzá az Azure beépített szerepkörét Contributor. Az Azure Cache for Redis különleges, és a Redis-tulajdonságok lekéréséhez hozzárendelheti a Redis Cache Contributor szerepkört is.
Jegyzet
A Key Vault hozzáférési szabályzata meghatározza, hogy egy adott biztonsági tag, azaz egy felhasználó, alkalmazás vagy felhasználói csoport különböző műveleteket hajthat-e végre a Key Vault titkos kulcsokon, kulcsokon és tanúsítványokon. Hozzáférési szabályzatokat az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával rendelhet hozzá. További információ: Key Vault hozzáférési szabályzat hozzárendelése.
Fontos
Az Azure Cosmos DB két beépített szerepkördefiníciót tesz elérhetővé: Cosmos DB Built-in Data Reader és Cosmos DB Built-in Data Contributor. Az Azure Portal szerepkör-kezelési támogatása azonban még nem érhető el. További információ az engedélymodellről, a szerepkördefiníciókról és a szerepkör-hozzárendelésről: Szerepköralapú hozzáférés-vezérlés konfigurálása a Microsoft Entra-azonosítóval az Azure Cosmos DB-fiókhoz.
Hitelesítés SAS-jogkivonatokkal
A szolgáltatások a közös hozzáférésű jogosultságkóddal (SAS) történő hitelesítéshez is konfigurálhatók.
spring.cloud.azure.<azure-service>.sas-token a konfigurálni kívánt tulajdonság. Például a spring.cloud.azure.storage.blob.sas-token használatával hitelesíthet a Storage Blob szolgáltatásban.
Hitelesítés kapcsolati sztringekkel
Egyes Azure-szolgáltatások támogatják a kapcsolati sztringet a kapcsolati adatok és hitelesítő adatok megadásához. Ha kapcsolati sztring használatával szeretne csatlakozni ezekhez az Azure-szolgáltatásokhoz, konfigurálja spring.cloud.azure.<azure-service>.connection-string. Konfiguráljon például spring.cloud.azure.eventhubs.connection-string az Event Hubs szolgáltatáshoz való csatlakozáshoz.