github.com/Schaudge/grailbase@v0.0.0-20240223061707-44c758a471c0/security/identity/identity.vdl (about) 1 // Package identity defines interfaces for Vanadium identity providers. 2 package identity 3 4 import ( 5 "v.io/v23/security" 6 "v.io/v23/security/access" 7 ) 8 9 // Ec2Blesser returns a blessing given the provided EC2 instance identity 10 // document. 11 type Ec2Blesser interface { 12 // BlessEc2 uses the provided EC2 instance identity document in PKCS#7 13 // format to return a blessing to the client. 14 BlessEc2(pkcs7b64 string) (blessing security.WireBlessings | error) {access.Read} 15 } 16 17 // GoogleBlesser returns a blessing giving the provided Google ID token. 18 type GoogleBlesser interface { 19 BlessGoogle(idToken string) (blessing security.WireBlessings | error) {access.Read} 20 } 21 22 // K8sBlesser returns a blessing giving the provided Kubernetes service accountop token. 23 type K8sBlesser interface { 24 BlessK8s(caCrt string, namespace string, token string, region string) (blessing security.WireBlessings | error) {access.Read} 25 }