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.
Az Azure Files OAuth REST-en keresztüli használata rendszergazdai szintű olvasási és írási hozzáférést tesz lehetővé az Azure-fájlmegosztásokhoz a felhasználók és alkalmazások számára az OAuth hitelesítési protokollon keresztül, a REST API-alapú hozzáféréshez készült Microsoft Entra ID használatával. A felhasználók, csoportok, külső szolgáltatások, például az Azure Portal, valamint a REST-felületeket használó külső szolgáltatások és alkalmazások mostantól OAuth-hitelesítést és engedélyezést használhatnak egy Microsoft Entra-fiókkal az Azure-fájlmegosztásokban lévő adatok eléréséhez. A REST API-kat hívó PowerShell-parancsmagok és Azure CLI-parancsok az OAuth használatával is hozzáférhetnek az Azure-fájlmegosztásokhoz. A REST API-t explicit fejléc használatával kell meghívnia, hogy jelezze a további jogosultság használatára vonatkozó szándékát. Ez az Azure PowerShellre és az Azure CLI-hozzáférésre is igaz.
Fontos
Ez a cikk bemutatja, hogyan engedélyezhet rendszergazdai szintű hozzáférést az Azure-fájlmegosztásokhoz adott ügyfélhasználati esetekhez. Ha általánosabb cikket keres a végfelhasználók identitásalapú hitelesítéséről, tekintse meg az Azure Files identitásalapú hitelesítésének áttekintését az SMB-hozzáféréshez.
A következőkre vonatkozik:
| Felügyeleti modell | Számlázási modell | Médiaréteg | Redundancia | Kis- és középvállalkozások (SMB) | Hálózati fájlrendszer (NFS) |
|---|---|---|---|---|---|
| Microsoft.Storage | Előre beállított v2 | HDD (standard) | Lokális (LRS) |
|
|
| Microsoft.Storage | Előre beállított v2 | HDD (standard) | Zóna (ZRS) |
|
|
| Microsoft.Storage | Előre beállított v2 | HDD (standard) | Geo (GRS) |
|
|
| Microsoft.Storage | Előre beállított v2 | HDD (standard) | Geozone (GZRS) |
|
|
| Microsoft.Storage | Előkészített v1 | SSD (prémium) | Lokális (LRS) |
|
|
| Microsoft.Storage | Előkészített v1 | SSD (prémium) | Zóna (ZRS) |
|
|
| Microsoft.Storage | Fizetés a használat szerint | HDD (standard) | Lokális (LRS) |
|
|
| Microsoft.Storage | Fizetés a használat szerint | HDD (standard) | Zóna (ZRS) |
|
|
| Microsoft.Storage | Fizetés a használat szerint | HDD (standard) | Geo (GRS) |
|
|
| Microsoft.Storage | Fizetés a használat szerint | HDD (standard) | Geozone (GZRS) |
|
|
Korlátozások
A fájladat-műveletek Microsoft Entra-azonosítóval való engedélyezése csak a REST API 2022-11-02-es és újabb verzióiban támogatott.
Az Azure Files OAuth REST-alapú támogatása a FileService és FileShare erőforrásokat kezelő Azure Files REST-adatsík API-khoz a REST API 2024-11-04-es és újabb verzióival érhető el.
Lásd az Azure Storage verziószámozását.
Ügyfélhasználati esetek
Az OAuth-hitelesítés és az Azure Files rest API-felületen keresztüli engedélyezése az alábbi esetekben előnyös lehet az ügyfelek számára.
Alkalmazásfejlesztés és szolgáltatásintegráció
Az OAuth-hitelesítés és -engedélyezés lehetővé teszi a fejlesztők számára, hogy olyan alkalmazásokat építsenek, amelyek felhasználói vagy alkalmazásidentitások használatával férnek hozzá az Azure Storage REST API-khoz a Microsoft Entra-azonosítóból.
Az ügyfelek és a partnerek engedélyezhetik a belső és harmadik féltől származó szolgáltatásokat is, hogy biztonságosan és transzparensen konfigurálják a szükséges hozzáférést egy ügyfél storage-fiókhoz.
Az olyan DevOps-eszközök, mint az Azure Portal, a PowerShell és a CLI, az AzCopy és a Storage Explorer, kezelhetik az adatokat a felhasználó identitásával, így nincs szükség tárelérési kulcsok kezelésére vagy terjesztésére.
Felügyelt identitások
Azok az alkalmazások és felügyelt identitások, amelyek biztonsági mentés, visszaállítás vagy naplózás céljából hozzáférést igényelnek a fájlmegosztási adatokhoz, kihasználhatják az OAuth-hitelesítést és -engedélyezést. Az egyes identitásokhoz tartozó fájl- és címtárszintű engedélyek kényszerítése összetettebbé teszi az identitásokat, és előfordulhat, hogy nem kompatibilis bizonyos számítási feladatokkal. Előfordulhat például, hogy az ügyfelek engedélyezni szeretnének egy biztonsági mentési megoldásszolgáltatást az Azure-fájlmegosztások írásvédett hozzáféréssel való elérésére az összes fájlhoz, a fájlspecifikus engedélyeket nem figyelembe véve.
Tárfiók kulcsának cseréje
A Microsoft Entra ID kiváló biztonságot és egyszerű használatot biztosít a megosztott kulcsokhoz való hozzáféréshez. A tárfiókkulcs-hozzáférést az Azure-fájlmegosztásokra vonatkozó OAuth-hitelesítéssel és engedélyezéssel válthatja fel, teljes olvasási és írási jogosultságok biztosításával. Ez a megközelítés jobb naplózást és adott felhasználói hozzáférés nyomon követését is lehetővé teszi.
Kiváltságos hozzáférés és hozzáférési engedélyek és jogok adatműveletekhez
Az Azure Files OAuth REST-en keresztüli használatához további engedélyekre van szükség a felhasználóhoz, csoporthoz vagy szolgáltatásnévhez rendelt RBAC-szerepkörben. A funkció részeként két új adatművelet jelenik meg:
Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action
Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
Az OAuthtal rendelkező REST API-t meghívó felhasználóknak, csoportoknak vagy szolgáltatásneveknek rendelkezniük kell a szerepkörükhöz rendelt readFileBackupSemantics vagy writeFileBackupSemantics művelettel, amely engedélyezi az adathozzáférést. Ez a funkció használatának követelménye. Az adott fájlszolgáltatás-műveletek meghívásához szükséges engedélyekkel kapcsolatos részletekért tekintse meg az adatműveletek hívásához szükséges engedélyeket.
Ez a funkció két új beépített szerepkört biztosít, amelyek tartalmazzák ezeket az új műveleteket.
| szerepkör | Adatműveletek |
|---|---|
| Storage-fájladatok kiemelt olvasója | Microsoft.Storage/storageAccounts/fileServices/fileShares/files/readMicrosoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action |
| Storage-fájladatok kiemelt közreműködője | Microsoft.Storage/storageAccounts/fileServices/fileShares/files/readMicrosoft.Storage/storageAccounts/fileServices/fileShares/files/writeMicrosoft.Storage/storageAccounts/fileServices/fileShares/files/deleteMicrosoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/actionMicrosoft.Storage/storageAccounts/fileServices/fileshares/files/modifypermissions/action |
Ezek az új szerepkörök hasonlóak a meglévő Storage File Data SMB Share Reader és Storage File Data SMB Share Emelt szintű közreműködő beépített szerepköreihez, de van néhány különbség:
Az új szerepkörök tartalmazzák az OAuth-hozzáféréshez szükséges további adatműveleteket.
Ha a Storage-fájladatok kiemelt olvasója vagy a Storage-fájladatok kiemelt közreműködője szerepkörrel rendelkező felhasználó, csoport vagy szolgáltatásközi név az OAuth használatával meghívja a FilesREST Data API-t, a felhasználó, csoport vagy szolgáltatásközi név a következőkhöz fér hozzá:
- Tárfájladatok emelt szintű olvasója: Teljes olvasási hozzáférés a megosztásokban lévő összes adathoz az összes konfigurált tárfiókhoz, függetlenül a beállított fájl-/könyvtárszintű NTFS-engedélyektől.
- Tárfájl adatainak kiemelt közreműködője: Teljes olvasás, írás, ACL-ek módosítása, hozzáférés törlése a megosztásokban lévő összes adathoz az összes konfigurált tárfiókhoz, függetlenül a beállított fájl-/könyvtárszintű NTFS-engedélyektől.
Ezekkel a speciális engedélyekkel és szerepkörökkel a rendszer megkerüli a fájl-/könyvtárszintű engedélyeket, és engedélyezi a fájlmegosztási adatokhoz való hozzáférést.
Az új szerepkörökkel és adatműveletekkel ez a funkció tárfiók-szintű jogosultságokat biztosít, amelyek felülírják a tárfiókban lévő összes fájlmegosztáshoz tartozó fájlokra és mappákra vonatkozó összes engedélyt. Az új szerepkörök azonban csak az adatszolgáltatások elérésére vonatkozó engedélyeket tartalmaznak. Nem tartalmaznak fájlmegosztás-kezelési szolgáltatásokhoz (fájlmegosztásokon végzett műveletekhez) való hozzáféréshez szükséges engedélyeket. A funkció használatához győződjön meg arról, hogy rendelkezik hozzáféréssel:
- a tárfiók
- fájlmegosztás-kezelési szolgáltatások
- adatszolgáltatások (a fájlmegosztásban lévő adatok)
Számos beépített szerepkör biztosít hozzáférést a felügyeleti szolgáltatásokhoz. Egyéni szerepköröket is létrehozhat a megfelelő engedélyekkel. A szerepköralapú hozzáférés-vezérléssel kapcsolatos további információkért tekintse meg az Azure RBAC-t. A beépített szerepkörök definiálásáról további információt a szerepkördefiníciók ismertetése című témakörben talál.
Ne feledje, hogy a fájlmegosztási erőforrástípus esetében a megfelelő RBAC-hatókör a vezérlősíkban (felügyeleti műveletek) használja shares , de az adatsíkban (adatműveletek) használja fileshares . Ha olyan fájlmegosztási erőforrás-azonosítót próbál használni, amely RBAC-hatókörben vagy adatműveleti sztringekben található shares , az nem fog működni. Az RBAC-hozzárendelések hatókörében kell használnia fileshares, például:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/fileServices/default/fileshares/<share-name>
Fontos
Az Microsoft.Storage/storageAccounts/fileServices/* elérési úthoz vagy magasabb hatókörhöz definiált helyettesítő karakterek használata automatikusan örökli az új adatművelet által biztosított további hozzáférést és engedélyeket. Az Azure Files nem szándékos vagy túljogosított hozzáférésének megakadályozása érdekében olyan további ellenőrzéseket hajtottunk végre, amelyek megkövetelik, hogy a felhasználók és alkalmazások explicit módon jelezzék a további jogosultság használatára vonatkozó szándékukat. Emellett határozottan javasoljuk, hogy az ügyfelek tekintse át a felhasználói RBAC-szerepkör-hozzárendeléseket, és cserélje le a helyettesítő karakterek használatát explicit engedélyekkel a megfelelő adathozzáférés-kezelés biztosítása érdekében.
Fájladatokhoz való hozzáférés engedélyezése az alkalmazáskódban
Az Azure Identity-ügyfélkódtár leegyszerűsíti az OAuth 2.0 hozzáférési jogkivonat lekérését a Microsoft Entra ID-val való engedélyezéshez az Azure SDK-on keresztül. A .NET, Java, Python, JavaScript és Go Azure Storage-ügyfélkódtárak legújabb verziói integrálhatók az Egyes nyelvek Azure Identity-kódtáraival, így egyszerű és biztonságos módon szerezhetnek be hozzáférési jogkivonatot az Azure file service-ből érkező kérések engedélyezéséhez.
Az Azure Identity-ügyfélkódtár előnye, hogy lehetővé teszi, hogy ugyanazt a kódot használja a hozzáférési jogkivonat beszerzéséhez, függetlenül attól, hogy az alkalmazás a fejlesztési környezetben vagy az Azure-ban fut. Az Azure Identity ügyfélkódtár egy hozzáférési jogkivonatot ad vissza egy biztonsági tag számára. Ha a kód az Azure-ban fut, a biztonsági főazonosító lehet egy Azure-erőforrásokhoz rendelt felügyelt identitás, egy szolgáltatásnév, vagy egy felhasználó vagy csoport. A fejlesztői környezetben az ügyfélkódtár egy hozzáférési jogkivonatot biztosít egy felhasználó vagy egy egyszerű szolgáltatás számára tesztelési célokra.
Az Azure Identity klienskönyvtár által visszaadott hozzáférési jogkivonatot egy hitelesítő jogkivonatba foglalják bele. Ezután a tokenes hitelesítő adatokkal lekérhet egy szolgáltatás kliens objektumot, amelyet az Azure Files szolgáltatáson végzett engedélyezett műveletek végrehajtásához használhat.
Az alábbi példakód bemutatja, hogyan engedélyezheti egy ügyfélobjektumot a Microsoft Entra ID használatával, és hogyan hajthat végre műveleteket a címtár és a fájl szintjén. Ez a példa feltételezi, hogy a fájlmegosztás már létezik.
using Azure.Core;
using Azure.Identity;
using Azure.Storage.Files.Shares;
using Azure.Storage.Files.Shares.Models;
namespace FilesOAuthSample
{
internal class Program
{
static async Task Main(string[] args)
{
string tenantId = "";
string appId = "";
string appSecret = "";
string entraEndpoint = "";
string accountUri = "https://<storage-account-name>.file.core.windows.net/";
string shareName = "test-share";
string directoryName = "test-directory";
string fileName = "test-file";
TokenCredential tokenCredential = new ClientSecretCredential(
tenantId,
appId,
appSecret,
new TokenCredentialOptions()
{
AuthorityHost = new Uri(entraEndpoint)
});
// Set client options
ShareClientOptions clientOptions = new ShareClientOptions();
clientOptions.AllowTrailingDot = true;
clientOptions.AllowSourceTrailingDot = true;
// x-ms-file-intent=backup will automatically be applied to all APIs
// where it is required in derived clients
clientOptions.ShareTokenIntent = ShareTokenIntent.Backup;
ShareServiceClient shareServiceClient = new ShareServiceClient(
new Uri(accountUri),
tokenCredential,
clientOptions);
ShareClient shareClient = shareServiceClient.GetShareClient(shareName);
ShareDirectoryClient directoryClient = shareClient.GetDirectoryClient(directoryName);
await directoryClient.CreateAsync();
ShareFileClient fileClient = directoryClient.GetFileClient(fileName);
await fileClient.CreateAsync(maxSize: 1024);
await fileClient.GetPropertiesAsync();
}
}
}
Hozzáférés engedélyezése a FileREST adatsík API-val
A fájladatokhoz való hozzáférést az Azure Portal, az Azure PowerShell vagy az Azure CLI használatával is engedélyezheti.
Az Azure Portal használhatja a Microsoft Entra-fiókot vagy a tárfiók hozzáférési kulcsát egy Azure-tárfiók fájladatainak eléréséhez. Az Azure Portal által használt engedélyezési séma az Önhöz rendelt Azure-szerepköröktől függ.
Amikor megpróbál hozzáférni a fájladatokhoz, az Azure Portal először ellenőrzi, hogy rendelkezik-e Azure-szerepkörrel Microsoft.Storage/storageAccounts/listkeys/action. Ha ezzel a művelettel szerepkörhöz lett rendelve, akkor az Azure Portal a fiókkulcsot használja a fájladatok megosztott kulcsok engedélyezésével való eléréséhez. Ha még nem rendelt hozzá szerepkört ezzel a művelettel, akkor az Azure Portal megkísérli elérni az adatokat a Microsoft Entra-fiókjával.
Ahhoz, hogy a Microsoft Entra-fiókjával hozzáférjen a fájladatokhoz az Azure Portalról, engedélyekre van szüksége a fájladatok eléréséhez, és engedélyekre is szüksége van az Azure Portal tárfiók-erőforrásainak navigálásához. Az Azure által biztosított beépített szerepkörök hozzáférést biztosítanak a fájlerőforrásokhoz, de nem adnak engedélyeket a tárfiók erőforrásaihoz. Ezért a portálhoz való hozzáféréshez egy Azure Resource Manager-szerepkört (ARM) is hozzá kell rendelni, például az Olvasó szerepkört, amely a tárfiók szintjére vagy annál magasabb szintre terjed ki. Az Olvasó szerepkör a legszigorúbb engedélyeket adja meg, de minden olyan ARM-szerepkör elfogadható, amely hozzáférést biztosít a tárfiók-felügyeleti erőforrásokhoz.
Az Azure Portal jelzi, hogy melyik engedélyezési séma van használatban egy tárolóra való navigáláskor. A portál adathozzáférésével kapcsolatos további információkért lásd: A fájladatokhoz való hozzáférés engedélyezése az Azure Portalon.