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 ismerteti a Spring Cloud Azure hitelesítési módszereit, és segít kiválasztani a megfelelő hitelesítő adatokat a Azure erőforrásokhoz való hozzáférés biztonságossá tételéhez.
Hitelesítés és engedélyezés a Microsoft Entra-azonosítóval
A Microsoft Entra ID használatával Azure 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. Az Microsoft Entra ID használatával az erőforráshoz való hozzáférés kétlépéses folyamat:
- Először hitelesítse a biztonsági entitás identitását, majd adjon vissza egy OAuth 2.0 tokent.
- Ezután adja át a jogkivonatot egy kérés részeként a Azure szolgáltatásnak a megadott erőforráshoz való hozzáférés engedélyezéséhez.
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, , WorkloadIdentityCredentialManagedIdentityCredential, 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:
- Üzembe helyezéskor gyakran hitelesítésre használt hitelesítő adatok.
- A fejlesztési környezetben történő hitelesítéshez használt hitelesítő adatok.
Jegyzet
DefaultAzureCredentialLeegyszerűsíti a Azure SDK használatának első lépéseit 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, használjon más hitelesítő adatokat.
DefaultAzureCredential a következő mechanizmusok segítségével próbál hitelesíteni, a következő sorrendben:
- Környezet –
DefaultAzureCredentialmegpróbálja beolvasni a környezeti változókban megadott fiókadatokat, és hitelesíteni azokat. - Felügyelt identitás – Ha az alkalmazás egy Azure gazdagépen van üzembe helyezve, és engedélyezve van a felügyelt identitás,
DefaultAzureCredentialezzel a fiókkal próbál hitelesítést végezni. - Munkaterhelés identitása – Ha az alkalmazás virtuális gépre (VM) van üzembe helyezve,
DefaultAzureCredentialmegpróbál azzal a fiókkal hitelesíteni. - Megosztott jogkivonat-gyorsítótár – Ha a Visual Studión keresztül hitelesített, a
DefaultAzureCredentialmegpróbál ezzel a fiókkal hitelesíteni. - IntelliJ – Ha Azure Eszközkészleten keresztül hitelesítette az IntelliJ-t,
DefaultAzureCredentialezzel a fiókkal próbál hitelesítést végezni. - Azure CLI – Ha a Azure CLI
az loginparanccsal hitelesített egy fiókot,DefaultAzureCredentialezzel a fiókkal próbál hitelesítést végezni. - Azure PowerShell – Ha Azure PowerShell keresztül hitelesített,
DefaultAzureCredentiala fiók használatával próbálja meg a hitelesítést. - Azure fejlesztői parancssori felület – Ha a Azure fejlesztői parancssori felületen keresztül hitelesített,
DefaultAzureCredentiala fiók használatával próbálja meg a hitelesítést.
Tipp
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-s verziójától kezdve regisztrálnia kell egy springCloudAzureCredentialTaskExecutor nevű ThreadPoolTaskExecutor bean-t az Azure Identity által létrehozott összes szál kezeléséhez. Minden, a szálkészlet által kezelt szál neve az-identity- előtaggal van ellátva. Ez a ThreadPoolTaskExecutor bean független a Spring Boot által biztosított Executor bean-tő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 Microsoft Entra-tokeneket igényelhetnek. Az alkalmazások például felügyelt identitással férhetnek hozzá az olyan erőforrásokhoz, mint a Azure Key Vault, ahol biztonságosan tárolhatja a hitelesítő adatokat, vagy elérheti a tárfiókokat.
Használjon felügyelt identitást kapcsolati karakterlánc vagy kulcs használata helyett 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 szolgálja a helyi fejlesztés forgatókönyvét a helyben tárolt fiókadatok használatával, majd az alkalmazás Azure felhőben 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, olyan identitást hoz létre Microsoft Entra, amely a 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. A kialakításából adódóan csak az az Azure-erőforrás használhatja ezt az identitást arra, hogy tokeneket kérjen a Microsoft Entra ID-tól.
- Felhasználó által hozzárendelt – A felügyelt identitásokat önálló Azure erőforrásként is létrehozhatja. 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ásokkal az identitást az azt használó erőforrásoktól elkülönítve kezelheti.
Jegyzet
Felhasználó által hozzárendelt felügyelt identitás használatakor adja meg az ügyfél-azonosítót a következőn keresztül 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.
Tipp
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 az alapértelmezett beállítások nem támogatják a forgatókönyvet, használjon más hitelesítő adatokat.
Hitelesítés Microsoft Entra-azonosítóval
Ha az alkalmazásokat olyan erőforrásokhoz szeretné csatlakoztatni, amelyek támogatják Microsoft Entra hitelesítést, állítsa be az alábbi konfigurációkat az előtaggal spring.cloud.azure.credential vagy spring.cloud.azure.<azure-service>.credentiala .
Az alábbi táblázat a hitelesítési tulajdonságokat sorolja fel:
| Ingatlan | Leírás |
|---|---|
client-id |
Az azure-ral végzett egyszerű szolgáltatáshitelesítéshez használandó ügyfél-azonosító. |
client-secret |
A szolgáltatásnév-hitelesítés Azure-ral történő végrehajtásakor használandó ügyfélkulcs. |
client-certificate-path |
A PEM-tanúsítványfájl elérési útja, amelyet az Azure-ral végzett szolgáltatásnév-hitelesítés során kell használni. |
client-certificate-password |
A tanúsítványfájl jelszava. |
username |
A felhasználónév/jelszó azure-beli hitelesítéséhez használandó felhasználónév. |
password |
A felhasználónév-/jelszó-hitelesítés Azure-beli végrehajtásakor használandó jelszó. |
managed-identity-enabled |
A felügyelt identitás engedélyezése. |
token-credential-bean-name |
Az Azure-ral történő hitelesítéskor használandó TokenCredential típusú bean neve. |
Tipp
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. Minden Azure SDK ügyfélkészítő-gyár először az egyéni TokenCredential típusú beant használja, ha megadja a token-credential-bean-name tulajdonságot, és a DefaultAzureCredential használatára tér át, ha nem konfigurál hitelesítőadat-tulajdonságokat.
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és végrehajtásához:
@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ő 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 szolgáltatásnév és ügyféltitok használatával
Az alábbi példa bemutatja, hogyan hitelesíthető egy szolgáltatásnév és egy titkos ügyfélkód használatával:
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óért lásd a Rossz végpontot használt (személyes és szervezeti fiókok) című szakaszt a AADSTS50020 hiba – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című témakörben. Az egybérlős alkalmazás átalakításával kapcsolatos információkért lásd: Egybérlős alkalmazás átalakítása több-bérlős alkalmazássá a Microsoft Entra ID-ban.
Hitelesítés szolgáltatásnév és ügyféltanúsítvány használatával
Az alábbi példa bemutatja, hogyan végezhető el a hitelesítés egy egyszerű szolgáltatásnévvel és egy ügyféloldali 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 átalakításával kapcsolatos információkért lásd: Egybérlős alkalmazás átalakítása több-bérlős alkalmazássá a Microsoft Entra ID-ban.
Az alábbi példa bemutatja, hogyan végezhető el a hitelesítés egy szolgáltatásnév használatával és egy PEM-ügyféltanú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ó. Az értékekkel kapcsolatos további információkért lásd a Az AADSTS50020 hiba – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című cikk Rossz végpontot használt (személyes és szervezeti fiókok) című szakaszát. Az egybérlős alkalmazás átalakításával kapcsolatos információkért lásd: Egybérlős alkalmazás átalakítása több-bérlős alkalmazássá a Microsoft Entra ID-ban.
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}
Hitelesítsen egy szolgáltatást a többitől eltérő hitelesítő adattal
Az alábbi példa bemutatja, hogyan hitelesíthető Key Vault 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ó. Az értékekkel kapcsolatos további információkért lásd a Az AADSTS50020 hiba – Az identitásszolgáltatótól származó felhasználói fiók nem létezik a bérlőben című cikk Rossz végpontot használt (személyes és szervezeti fiókok) című szakaszát. Az egybérlős alkalmazás átalakításával kapcsolatos információkért lásd: Egybérlős alkalmazás átalakítása több-bérlős alkalmazássá a Microsoft Entra ID-ban.
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 biztonsági szereplőhöz rendelt szerepkörök határozzák meg, hogy a biztonsági szereplő milyen engedélyekkel rendelkezik.
Tipp
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:
| Szerepkör | 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 adatok olvasója | Az Azure Storage-tárolók és blobok olvasása és listázása. |
| Tárolási várólista adatolvasó | 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 karakterláncait, vagy a Cache for Redis tulajdonságait, rendelje hozzá a(z) Contributor Azure beépített szerepkört. 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ályzat határozza meg, hogy egy adott biztonsági tag, nevezetesen egy felhasználó, alkalmazás vagy felhasználói csoport különböző műveleteket hajthat-e végre Key Vault titkos kulcsokon, kulcsokon és tanúsítványokon. Hozzáférési szabályzatokat a Azure portálon, a Azure CLI vagy a Azure PowerShell keresztül 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ód (SAS) használatával is konfigurálhatók hitelesítésre.
spring.cloud.azure.<azure-service>.sas-token A tulajdonság használatával konfigurálhatja ezt a hitelesítést. Használhatja például spring.cloud.azure.storage.blob.sas-token a Storage Blob szolgáltatásban való hitelesítésre.
Hitelesítés kapcsolati sztringek használatával
Egyes Azure-szolgáltatások támogatják a kapcsolati sztringeket a kapcsolati adatok és hitelesítő adatok megadásához. Ha kapcsolati sztringek használatával szeretne csatlakozni azokhoz az Azure-szolgáltatásokhoz, konfigurálja a(z) spring.cloud.azure.<azure-service>.connection-string elemet. Konfiguráljon például spring.cloud.azure.eventhubs.connection-string az Event Hubs szolgáltatáshoz való csatlakozáshoz.