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 tag identitását, és adja vissza az OAuth 2.0 jogkivonatot.
- 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:
- 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
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ő mechanizmusokkal próbál hitelesítést végezni, hogy:
- 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. - Számítási feladatok identitása – Ha az alkalmazás virtuális gépen (virtuális gépen) van üzembe helyezve,
DefaultAzureCredentialezzel a fiókkal próbál hitelesítést végezni. - Megosztott jogkivonat-gyorsítótár – Ha Visual Studio keresztül hitelesített,
DefaultAzureCredentialezzel a fiókkal próbál hitelesítést végezni. - 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.
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ással szerezhetnek be Microsoft Entra jogkivonatokat. 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. 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 – 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.
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 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 |
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. |
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 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. Minden Azure SDK ügyfélszerkesztő-előállító először egy egyéni típusú TokenCredential babot fogad el, ha megadja a tulajdonságottoken-credential-bean-name, és visszaesik a használatbaDefaultAzureCredential, ha nem konfigurálja a hitelesítő adatokat.
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 egyszerű szolgáltatásnévvel ügyfélkóddal
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ó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ő egy szolgáltatásnévvel egy ü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ő adatokkal
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ó. 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 biztonsági taghoz hozzárendelt szerepkörök határozzák meg azokat az engedélyeket, amelyekkel az egyszerű felhasználó rendelkezik.
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 sztringeit, vagy a Cache for Redis tulajdonságait, rendelje hozzá a Azure beépített szerepkörtContributor. 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 ezekhez a Azure szolgáltatásokhoz, konfiguráljaspring.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.