agentsclimarketplace

Anth enterprise rbac

Skill ComeOnOliver/skillshub/skills/jeremylongshore/claude-code-plugins-plus-skills/anth-enterprise-rbac

🧠 The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.

Install
npx -y skills add ComeOnOliver/skillshub --skill anth-enterprise-rbac

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Configure Anthropic enterprise organization management, Workspaces, and role-based access control for teams. Trigger with phrases like "anthropic enterprise", "claude rbac", "anthropic workspaces", "claude team access", "anthropic organization".

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.8 KB, as published. Nobody here has run it

Anthropic Enterprise RBAC

Overview

Anthropic provides organization-level access control through Workspaces, API key scoping, and member roles via the Console at console.anthropic.com.

Organization Structure

Organization (billing entity)
β”œβ”€β”€ Workspace: Production
β”‚   β”œβ”€β”€ API Key: sk-ant-api03-prod-main-...
β”‚   β”œβ”€β”€ API Key: sk-ant-api03-prod-batch-...
β”‚   └── Rate limits: Tier 4
β”œβ”€β”€ Workspace: Staging
β”‚   β”œβ”€β”€ API Key: sk-ant-api03-stg-...
β”‚   └── Rate limits: Tier 2
└── Workspace: Development
    β”œβ”€β”€ API Key: sk-ant-api03-dev-...
    └── Rate limits: Tier 1

Console Roles

RoleCapabilities
OwnerFull access, billing, member management
AdminManage workspaces, API keys, view usage
DeveloperCreate/revoke own API keys, view own usage
BillingView invoices and usage reports only

Application-Level RBAC

# Implement your own RBAC on top of Anthropic Workspaces
from enum import Enum
import anthropic

class UserRole(Enum):
    VIEWER = "viewer"       # Can read Claude responses (no direct API)
    USER = "user"           # Can send prompts (rate limited)
    POWER_USER = "power"    # Can use Opus, higher limits
    ADMIN = "admin"         # Can access all models, no limits

ROLE_CONFIG = {
    UserRole.VIEWER: {"allowed": False},
    UserRole.USER: {
        "allowed": True,
        "models": ["claude-haiku-4-20250514"],
        "max_tokens": 512,
        "rpm_limit": 10,
    },
    UserRole.POWER_USER: {
        "allowed": True,
        "models": ["claude-haiku-4-20250514", "claude-sonnet-4-20250514", "claude-opus-4-20250514"],
        "max_tokens": 4096,
        "rpm_limit": 60,
    },
    UserRole.ADMIN: {
        "allowed": True,
        "models": ["claude-haiku-4-20250514", "claude-sonnet-4-20250514", "claude-opus-4-20250514"],
        "max_tokens": 8192,
        "rpm_limit": 200,
    },
}

def create_message(user_role: UserRole, model: str, **kwargs):
    config = ROLE_CONFIG[user_role]
    if not config["allowed"]:
        raise PermissionError("Role does not allow API access")
    if model not in config["models"]:
        raise PermissionError(f"Role cannot access model: {model}")
    kwargs["max_tokens"] = min(kwargs.get("max_tokens", 1024), config["max_tokens"])

    client = anthropic.Anthropic()
    return client.messages.create(model=model, **kwargs)

Key Management Best Practices

PracticeImplementation
One key per serviceprod-auth-service, prod-search-service
Rotate quarterlyCalendar reminder + automated rotation
Least privilegeDev workspace for dev keys only
Audit trailLog which key made each request
Revoke immediatelyOn employee departure or compromise

Error Handling

IssueCauseFix
Key works in dev, fails in prodWrong workspace keyVerify key belongs to prod workspace
New team member can't accessNot added to workspaceInvite via Console > Members
Usage not visibleViewing wrong workspaceSwitch workspace in Console

Resources

Next Steps

For major migration strategies, see anth-migration-deep-dive.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.