Cosmos.Authorization 3.2.0

dotnet add package Cosmos.Authorization --version 3.2.0
                    
NuGet\Install-Package Cosmos.Authorization -Version 3.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cosmos.Authorization" Version="3.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cosmos.Authorization" Version="3.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Cosmos.Authorization" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Cosmos.Authorization --version 3.2.0
                    
#r "nuget: Cosmos.Authorization, 3.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Cosmos.Authorization@3.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Cosmos.Authorization&version=3.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Cosmos.Authorization&version=3.2.0
                    
Install as a Cake Tool

Cosmos.Authorization

Autorización fine-grained (FGA) para servicios Cosmos. El paquete es el único lugar del ecosistema que conoce al proveedor externo de autorización (hoy WorkOS FGA): hacia afuera solo se ve el puerto IGrantedResourcesProvider.

Qué expone

  • IGrantedResourcesProvider — lista qué recursos (por su external_id) tiene concedidos una membresía bajo un recurso padre con un permiso (ListResourcesForMembershipAsync), chequea un permiso puntual sobre un recurso (CheckAsync) y crea recursos (CreateResourceAsync). La coherencia de la jerarquía la valida el proveedor de FGA. Los recursos cuelgan siempre de un tenant: CreateResourceAsync recibe el tenantId del ecosistema y el paquete lo traduce a la identidad del proveedor.
  • ResourceType — el árbol de tipos de recurso del modelo FGA de Cosmos: Subscription (raíz) → ResourceGroupResource. Cerrado a propósito: los tipos se declaran acá y cada uno conoce a su padre.
  • Resource — una referencia a un recurso: ResourceById(id) o ResourceByExternalId(resourceType, externalId). La misma referencia sirve de padre (listar, crear) y de objetivo (check).
  • AgregarAutorizacionFga(apiKey) — extension de IServiceCollection que registra el proveedor como singleton. Recibe la API key ya resuelta; de dónde sale es decisión del consumidor.

Uso

builder.Services.AgregarAutorizacionFga(apiKey);

Si el servicio corre en Azure y guarda la key en Key Vault, Cosmos.Authorization.Azure hace ese paso: await builder.Services.AgregarAutorizacionFgaDesdeKeyVaultAsync(vaultUri, "WORKOS-API-KEY").

// ¿Puede este miembro leer este grupo de recursos?
var puede = await provider.CheckAsync(
    membershipId,
    new ResourceByExternalId(ResourceType.ResourceGroup, "ADPRO"),
    "resource-group:read",
    ct);

// ¿Qué grupos de recursos del producto puede leer? (descubrimiento, p. ej. para filtrar catálogos)
var concedidos = await provider.ListResourcesForMembershipAsync(
    membershipId,
    new ResourceByExternalId(ResourceType.Subscription, "co.sinco.cosmos.miservicio"),
    "resource-group:read",
    ct);

// Aprovisionamiento: crear un grupo de recursos bajo el producto.
await provider.CreateResourceAsync(
    tenantId, ResourceType.ResourceGroup, "ADPRO",
    new ResourceByExternalId(ResourceType.Subscription, "co.sinco.cosmos.miservicio"), ct);

Qué NO hace

  • No cachea las respuestas: un permiso revocado se nota en la invocación siguiente.
  • No interpreta los external_id: qué significan (esquemas, módulos, recursos) es semántica del dominio consumidor.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Cosmos.Authorization:

Package Downloads
Cosmos.Authorization.Azure

Integración de Cosmos.Authorization con Azure Key Vault: registra la autorización FGA leyendo la API key del proveedor desde un secreto del vault, con la identidad administrada del servicio.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.2.0 163 8/26/2026
3.1.0 212 8/25/2026
0.0.1-rc.2 90 8/21/2026
0.0.1-RC.1 89 8/21/2026