SShortSingh.
Back to feed

Proxmox API Tokens: Keeping Delegated Access Scoped and Owned

0
·10 views

Proxmox API tokens inherit a subset of their backing user's permissions, so the token is only as safe as that user and its ACLs. Using a human account as the backing identity makes tokens hard to audit once the person changes roles or leaves, so a dedicated, non-interactive automation identity with a clear owner is preferred. Token creation should be treated as an administrative event, with the secret stored in a secret manager and metadata like owner and purpose recorded. Teams should verify effective access by testing both allowed and forbidden API operations, and monitor changes to the backing user's privileges, since they alter token access without rotation. Using distinct tokens per integration, rotating them, and removing tokens for retired jobs further limits exposure.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Stack3 Security Uses TigerGraph to Link Repo, Package, and Wallet Threats

Stack3 Security is a Web3 security platform built at Hacker House Goa for the TigerGraph Open Innovation track. It aims to connect threat signals that are usually investigated separately, such as malicious repositories, suspicious packages, phishing websites, and risky wallet requests. A VS Code extension clones and scans public GitHub repositories in quarantine without executing their code, checking for auto-run configurations, exposed secrets, and risky npm dependencies. A Chrome extension inspects suspicious websites and intercepts wallet requests before they reach MetaMask, while degrading gracefully if unavailable. A central dashboard offers scanning, authentication, and a one-hop threat graph view that shows connected threat intelligence.

0
ProgrammingDEV Community ·

Keep etcd peer and client certificate trust separate before scaling a cluster

etcd is a durable control store used by many Kubernetes and platform deployments, and its peer and client connections access the same state. Because a certificate authenticating a cluster member can act with more authority than an ordinary client certificate, treating them as one broad TLS population weakens the cluster boundary. The guidance recommends separating them through distinct certificate profiles, subject alternative names, issuance policies, and allowed peer names, even when a single CA is used. Operators should verify TLS in both directions on every member, map each client certificate to a specific workload with least-privilege access, and test that peer and client certificates are rejected at the wrong endpoints.

0
ProgrammingDEV Community ·

AutoDAgger lets compact robot policies learn from a teacher with far less data

Researchers introduced AutoDAgger, a method that recovers teacher trajectories during a student policy's own rollouts instead of in a separate data-collection stage. It collects recovery data more than twice as fast as the human-monitored HG-DAgger and removes the need for a person to supervise the process. Using an autonomous reward model to trigger teacher takeovers, a student policy rose from a baseline score of 27.8 to 63.9 after 30 episodes and 77.8 after 90 episodes. The TILDE approach reportedly outperformed all evaluated baselines on three manipulation tasks, though the study tested only those tasks and assumed a reliable reward signal. Its robustness under sparse teacher interventions or noisy rewards remains unresolved.

0
ProgrammingDEV Community ·

kanna-di: A Compile-Time Go DI Tool as a Successor to google/wire

Google's wire is no longer accepting new features, leaving Go developers looking for an alternative for compile-time dependency injection. The author introduces kanna-di, which generates plain Go code without runtime imports, like wire. Unlike wire, it requires no provider registration: developers mark a container struct with a //kanna:container annotation, and the tool infers constructors from each field's type and resolves their parameters recursively. Interface implementations are specified with a di:"with=..." tag, and any non-injectable setup, such as opening a database, is written by hand in the composition root. Running go generate then produces a di_gen.go file containing a newServer function that wires all dependencies together.