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


CA5375: Ne használjon megosztott hozzáférésű fiók aláírását

Tulajdonság Érték
Szabályazonosító CA5375
Cím A fiók közös hozzáférésű jogosultságkódja nem használható
Kategória Biztonság
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

Fiók közös hozzáférésű jogosultságkódjának (SAS) létrehozása a GetSharedAccessSignature névtér alatti Microsoft.WindowsAzure.Storage metódussal.

Szabály leírása

A fiók sasa delegálhatja az olvasási, írási és törlési műveleteket a blobtárolókon, táblákon, üzenetsorokon és fájlmegosztásokon, amelyek nem engedélyezettek a szolgáltatás SAS-jével. Ez azonban nem támogatja a tárolószintű szabályzatokat, és kevésbé rugalmas és szabályozható a megadott engedélyek felett. Ha lehetséges, használjon egy szolgáltatás SAS-t a részletes hozzáférés-vezérléshez. További információ: Hozzáférés delegálása megosztott hozzáférésű aláírással.

Szabálysértések kijavítása

Használjon szolgáltatás SAS-t fiók SAS helyett a részletes hozzáférés-vezérléshez és a tárolószintű hozzáférési szabályzathoz.

Mikor kell letiltani a figyelmeztetéseket?

Ezt a szabályt nyugodtan letilthatja, ha biztos abban, hogy az összes erőforrás engedélyei a lehető legnagyobb mértékben korlátozottak.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA5375
// The code that's violating the rule is on this line.
#pragma warning restore CA5375

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA5375.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

Példák pszeudokódokra

Megsértése

A következő pszeudokód-minta jelenleg a szabály által észlelt mintát szemlélteti.

using System;
using Microsoft.WindowsAzure.Storage;

class ExampleClass
{
    public void ExampleMethod(SharedAccessAccountPolicy policy)
    {
        CloudStorageAccount cloudStorageAccount = new CloudStorageAccount();
        cloudStorageAccount.GetSharedAccessSignature(policy);
    }
}

Megoldás

Fiók SAS helyett használja a szolgáltatás SAS-t.

using System;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.File;

class ExampleClass
{
    public void ExampleMethod(StorageCredentials storageCredentials, SharedAccessFilePolicy policy, SharedAccessFileHeaders headers, string groupPolicyIdentifier, IPAddressOrRange ipAddressOrRange)
    {
        CloudFile cloudFile = new CloudFile(storageCredentials);
        SharedAccessProtocol protocols = SharedAccessProtocol.HttpsOnly;
        cloudFile.GetSharedAccessSignature(policy, headers, groupPolicyIdentifier, protocols, ipAddressOrRange);
    }
}

CA5376: A SharedAccessProtocol HttpsOnly használata

CA5377: Tárolószintű hozzáférési szabályzat használata