Was sind Ursachen für RBAC-Berechtigungsfehler in der Azure CosmosDB .Net-Bibliothek?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Was sind Ursachen für RBAC-Berechtigungsfehler in der Azure CosmosDB .Net-Bibliothek?

Post by Guest »

Beim Testen der Grundfunktionen für Azure CosmosDB noSQL erhielt ich immer wieder die folgende Fehlermeldung:
„Anfrage ist blockiert, weil Prinzipal [PrincipalID] nicht über die erforderlichen RBAC-Berechtigungen zum Ausführen einer Aktion verfügt“ p>
(Vollständiger Fehler)

"Antwortstatuscode zeigt keinen Erfolg an: Verboten (403);
Substatus : 5301; ActivityId: [ActivityId]; Grund:
({\"code\":\"Forbidden\",\"message\":\"Anfrage blockiert durch Auth
[cosmosdbaccountname]: Anfrage blockiert, weil Principal
[PrincipalID] verfügt nicht über die erforderlichen RBAC-Berechtigungen zum Ausführen
der Aktion [Microsoft.DocumentDB/databaseAccounts/readMetadata] auf
resource [/]. RequestUri:
https://[cosmosdbaccountname].documents.azure.com/;\r\nRequestMethod:
GET;\r\nHeader: Autorisierungslänge:
[AuthorizationLength];\r\nHeader: Cache-Control-Länge:
8;\r\nHeader: User-Agent-Länge: [UserAgentLength];\r\nHeader:
x-ms-version Länge: 10;\r\nHeader:
x-ms-cosmos-sdk-supportedcapabilities Länge: 1;\r\nHeader: Akzeptieren
Länge: 16;\r\ n, Anforderungs-URI: /, RequestStats: , SDK:
Windows/10.0.19045
cosmos-netstandard-sdk/3.37.1);"}Microsoft.Azure.Cosmos.CosmosException"

Ich bin der Eigentümer und einzige Benutzer davon DB, ich habe versucht sicherzustellen, dass ich der Eigentümer bin, indem ich diese Rolle erneut zu meinem Konto hinzugefügt habe. Ich bin sowohl mit az login als auch mit azd auth login angemeldet. Ich habe sowohl die Datenbank als auch den Container bereits.
Hier ist der Code, in dem ich ihn verwende (verwendet foo als Beispiel)
using Azure.Identity;
using Microsoft.Azure.Cosmos;

CosmosClient client = new CosmosClient(
accountEndpoint: "https://[censored].documents.azure.com:[censored]/",
tokenCredential: new DefaultAzureCredential()
);
Database database = client.GetDatabase("SampleDB");
Container container = database.GetContainer("Foo");

Foo foo = new()
{
id = "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
Name = "Lorem Ipsum",
Description = "Lorem Ipsum...",
Category = (Categories)1 //Enum
};

ItemResponse response = await container.CreateItemAsync(foo); //error here


Ich habe auch die Methode „CreateContainerIfNotExists“ ausprobiert, die gerade den Fehler selbst verursacht hat.

Dies wurde zunächst sowohl in vscode als auch später in Visual Studio für den Debugger getestet.< /P>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post