agent-substrate / agent-substrate/substrate

[Feature] Actor Identity

Đang mở
#124 4 bình luận 0 reaction 1 người được giao Được @ahmedtd nhận Xem trên GitHub
area/identity area/node area/security kind/feature prio/P0
Ngôn ngữ chính
Go
Star
1.8k
Fork
316
Merge trung bình
2 ngày 43 phút
Pull request đã merge (30 ngày)
287

Mô tả

For Alpha, we need to give Actors access to OIDC JWTs and SPIFFE certificates issued by substrate. We already have the broker RPCs implemented, but we have the following open items:

* How do we expose the credentials into the Actor (filesystem mounts, metadata server, vsock)?
* Formalize the claims in each credential.
* Make atelet/ateom use the actor credentials for snapshot storage / retrieval.
* (For GCP) Prove out federation of the substrate IDP back to GCP, and demonstrate how it can be used against GCS.

## Basic design

The substrate control plane includes a broker API, where a caller can exchange a K8s-layer credential (service account JWT or service account certificate) for a substrate JWT / certificate.

The substrate credential will carry at least the following claims:
* Actor Template Namespace
* Actor Template Name
* Actor ID

These credentials will be federatable, and so should be able to be used against GCS, S3, and other cloud provider services. They could also be used for actor-to-actor authentication, and general actor-to-service authentication.

## (GCP-specific) Federation

Both OIDC JWTs and SPIFFE certificates can be federated into GCP IAM using Workload Identity Federation.

While it will not be scalable to create and delete per-actor IAM policies for each actor, it should be possible to use IAM conditions to write a single policy that authorizes every actor to access their own data. For example, "all callers from substrate issuer X have storage/object.admin on GCS bucket Y, as long as the object path starts with `actors/${ate.dev/actor-id}`".

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.