1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.oslogin.v1beta; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/oslogin/common/common.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.OsLogin.V1Beta"; 28*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/oslogin/apiv1beta/osloginpb;osloginpb"; 29*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 30*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "OsLoginProto"; 31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.oslogin.v1beta"; 32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\OsLogin\\V1beta"; 33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::OsLogin::V1beta"; 34*d5c09012SAndroid Build Coastguard Worker 35*d5c09012SAndroid Build Coastguard Worker// Cloud OS Login API 36*d5c09012SAndroid Build Coastguard Worker// 37*d5c09012SAndroid Build Coastguard Worker// The Cloud OS Login API allows you to manage users and their associated SSH 38*d5c09012SAndroid Build Coastguard Worker// public keys for logging into virtual machines on Google Cloud Platform. 39*d5c09012SAndroid Build Coastguard Workerservice OsLoginService { 40*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "oslogin.googleapis.com"; 41*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 42*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 43*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform.read-only," 44*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute," 45*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/compute.readonly"; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // Create an SSH public key 48*d5c09012SAndroid Build Coastguard Worker rpc CreateSshPublicKey(CreateSshPublicKeyRequest) 49*d5c09012SAndroid Build Coastguard Worker returns (google.cloud.oslogin.common.SshPublicKey) { 50*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 51*d5c09012SAndroid Build Coastguard Worker post: "/v1beta/{parent=users/*}/sshPublicKeys" 52*d5c09012SAndroid Build Coastguard Worker body: "ssh_public_key" 53*d5c09012SAndroid Build Coastguard Worker }; 54*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,ssh_public_key"; 55*d5c09012SAndroid Build Coastguard Worker } 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker // Deletes a POSIX account. 58*d5c09012SAndroid Build Coastguard Worker rpc DeletePosixAccount(DeletePosixAccountRequest) 59*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 60*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 61*d5c09012SAndroid Build Coastguard Worker delete: "/v1beta/{name=users/*/projects/*}" 62*d5c09012SAndroid Build Coastguard Worker }; 63*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 64*d5c09012SAndroid Build Coastguard Worker } 65*d5c09012SAndroid Build Coastguard Worker 66*d5c09012SAndroid Build Coastguard Worker // Deletes an SSH public key. 67*d5c09012SAndroid Build Coastguard Worker rpc DeleteSshPublicKey(DeleteSshPublicKeyRequest) 68*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 69*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 70*d5c09012SAndroid Build Coastguard Worker delete: "/v1beta/{name=users/*/sshPublicKeys/*}" 71*d5c09012SAndroid Build Coastguard Worker }; 72*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 73*d5c09012SAndroid Build Coastguard Worker } 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // Retrieves the profile information used for logging in to a virtual machine 76*d5c09012SAndroid Build Coastguard Worker // on Google Compute Engine. 77*d5c09012SAndroid Build Coastguard Worker rpc GetLoginProfile(GetLoginProfileRequest) returns (LoginProfile) { 78*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 79*d5c09012SAndroid Build Coastguard Worker get: "/v1beta/{name=users/*}/loginProfile" 80*d5c09012SAndroid Build Coastguard Worker }; 81*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 82*d5c09012SAndroid Build Coastguard Worker } 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Retrieves an SSH public key. 85*d5c09012SAndroid Build Coastguard Worker rpc GetSshPublicKey(GetSshPublicKeyRequest) 86*d5c09012SAndroid Build Coastguard Worker returns (google.cloud.oslogin.common.SshPublicKey) { 87*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 88*d5c09012SAndroid Build Coastguard Worker get: "/v1beta/{name=users/*/sshPublicKeys/*}" 89*d5c09012SAndroid Build Coastguard Worker }; 90*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 91*d5c09012SAndroid Build Coastguard Worker } 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Adds an SSH public key and returns the profile information. Default POSIX 94*d5c09012SAndroid Build Coastguard Worker // account information is set when no username and UID exist as part of the 95*d5c09012SAndroid Build Coastguard Worker // login profile. 96*d5c09012SAndroid Build Coastguard Worker rpc ImportSshPublicKey(ImportSshPublicKeyRequest) 97*d5c09012SAndroid Build Coastguard Worker returns (ImportSshPublicKeyResponse) { 98*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 99*d5c09012SAndroid Build Coastguard Worker post: "/v1beta/{parent=users/*}:importSshPublicKey" 100*d5c09012SAndroid Build Coastguard Worker body: "ssh_public_key" 101*d5c09012SAndroid Build Coastguard Worker }; 102*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,ssh_public_key"; 103*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,ssh_public_key,project_id"; 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // Updates an SSH public key and returns the profile information. This method 107*d5c09012SAndroid Build Coastguard Worker // supports patch semantics. 108*d5c09012SAndroid Build Coastguard Worker rpc UpdateSshPublicKey(UpdateSshPublicKeyRequest) 109*d5c09012SAndroid Build Coastguard Worker returns (google.cloud.oslogin.common.SshPublicKey) { 110*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 111*d5c09012SAndroid Build Coastguard Worker patch: "/v1beta/{name=users/*/sshPublicKeys/*}" 112*d5c09012SAndroid Build Coastguard Worker body: "ssh_public_key" 113*d5c09012SAndroid Build Coastguard Worker }; 114*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,ssh_public_key"; 115*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,ssh_public_key,update_mask"; 116*d5c09012SAndroid Build Coastguard Worker } 117*d5c09012SAndroid Build Coastguard Worker 118*d5c09012SAndroid Build Coastguard Worker // Signs an SSH public key for a user to authenticate to an instance. 119*d5c09012SAndroid Build Coastguard Worker rpc SignSshPublicKey(SignSshPublicKeyRequest) 120*d5c09012SAndroid Build Coastguard Worker returns (SignSshPublicKeyResponse) { 121*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 122*d5c09012SAndroid Build Coastguard Worker post: "/v1beta/{parent=users/*/projects/*/zones/*}:signSshPublicKey" 123*d5c09012SAndroid Build Coastguard Worker body: "*" 124*d5c09012SAndroid Build Coastguard Worker additional_bindings { 125*d5c09012SAndroid Build Coastguard Worker post: "/v1beta/{parent=users/*/projects/*/locations/*}:signSshPublicKey" 126*d5c09012SAndroid Build Coastguard Worker body: "*" 127*d5c09012SAndroid Build Coastguard Worker } 128*d5c09012SAndroid Build Coastguard Worker }; 129*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,ssh_public_key"; 130*d5c09012SAndroid Build Coastguard Worker } 131*d5c09012SAndroid Build Coastguard Worker} 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker// The user profile information used for logging in to a virtual machine on 134*d5c09012SAndroid Build Coastguard Worker// Google Compute Engine. 135*d5c09012SAndroid Build Coastguard Workermessage LoginProfile { 136*d5c09012SAndroid Build Coastguard Worker // Required. A unique user ID. 137*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = REQUIRED]; 138*d5c09012SAndroid Build Coastguard Worker 139*d5c09012SAndroid Build Coastguard Worker // The list of POSIX accounts associated with the user. 140*d5c09012SAndroid Build Coastguard Worker repeated google.cloud.oslogin.common.PosixAccount posix_accounts = 2; 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // A map from SSH public key fingerprint to the associated key object. 143*d5c09012SAndroid Build Coastguard Worker map<string, google.cloud.oslogin.common.SshPublicKey> ssh_public_keys = 3; 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker // The registered security key credentials for a user. 146*d5c09012SAndroid Build Coastguard Worker repeated SecurityKey security_keys = 5; 147*d5c09012SAndroid Build Coastguard Worker} 148*d5c09012SAndroid Build Coastguard Worker 149*d5c09012SAndroid Build Coastguard Worker// A request message for creating an SSH public key. 150*d5c09012SAndroid Build Coastguard Workermessage CreateSshPublicKeyRequest { 151*d5c09012SAndroid Build Coastguard Worker // Required. The unique ID for the user in format `users/{user}`. 152*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 153*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 154*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 155*d5c09012SAndroid Build Coastguard Worker child_type: "oslogin.googleapis.com/SshPublicKey" 156*d5c09012SAndroid Build Coastguard Worker } 157*d5c09012SAndroid Build Coastguard Worker ]; 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker // Required. The SSH public key and expiration time. 160*d5c09012SAndroid Build Coastguard Worker google.cloud.oslogin.common.SshPublicKey ssh_public_key = 2 161*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 162*d5c09012SAndroid Build Coastguard Worker} 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker// A request message for deleting a POSIX account entry. 165*d5c09012SAndroid Build Coastguard Workermessage DeletePosixAccountRequest { 166*d5c09012SAndroid Build Coastguard Worker // Required. A reference to the POSIX account to update. POSIX accounts are 167*d5c09012SAndroid Build Coastguard Worker // identified by the project ID they are associated with. A reference to the 168*d5c09012SAndroid Build Coastguard Worker // POSIX account is in format `users/{user}/projects/{project}`. 169*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 170*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 171*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 172*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/PosixAccount" 173*d5c09012SAndroid Build Coastguard Worker } 174*d5c09012SAndroid Build Coastguard Worker ]; 175*d5c09012SAndroid Build Coastguard Worker} 176*d5c09012SAndroid Build Coastguard Worker 177*d5c09012SAndroid Build Coastguard Worker// A request message for deleting an SSH public key. 178*d5c09012SAndroid Build Coastguard Workermessage DeleteSshPublicKeyRequest { 179*d5c09012SAndroid Build Coastguard Worker // Required. The fingerprint of the public key to update. Public keys are 180*d5c09012SAndroid Build Coastguard Worker // identified by their SHA-256 fingerprint. The fingerprint of the public key 181*d5c09012SAndroid Build Coastguard Worker // is in format `users/{user}/sshPublicKeys/{fingerprint}`. 182*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 183*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 184*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 185*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/SshPublicKey" 186*d5c09012SAndroid Build Coastguard Worker } 187*d5c09012SAndroid Build Coastguard Worker ]; 188*d5c09012SAndroid Build Coastguard Worker} 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker// A request message for retrieving the login profile information for a user. 191*d5c09012SAndroid Build Coastguard Workermessage GetLoginProfileRequest { 192*d5c09012SAndroid Build Coastguard Worker // Required. The unique ID for the user in format `users/{user}`. 193*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 194*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 195*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { type: "oslogin.googleapis.com/User" } 196*d5c09012SAndroid Build Coastguard Worker ]; 197*d5c09012SAndroid Build Coastguard Worker 198*d5c09012SAndroid Build Coastguard Worker // The project ID of the Google Cloud Platform project. 199*d5c09012SAndroid Build Coastguard Worker string project_id = 2; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // A system ID for filtering the results of the request. 202*d5c09012SAndroid Build Coastguard Worker string system_id = 3; 203*d5c09012SAndroid Build Coastguard Worker 204*d5c09012SAndroid Build Coastguard Worker // The view configures whether to retrieve security keys information. 205*d5c09012SAndroid Build Coastguard Worker LoginProfileView view = 4; 206*d5c09012SAndroid Build Coastguard Worker} 207*d5c09012SAndroid Build Coastguard Worker 208*d5c09012SAndroid Build Coastguard Worker// A request message for retrieving an SSH public key. 209*d5c09012SAndroid Build Coastguard Workermessage GetSshPublicKeyRequest { 210*d5c09012SAndroid Build Coastguard Worker // Required. The fingerprint of the public key to retrieve. Public keys are 211*d5c09012SAndroid Build Coastguard Worker // identified by their SHA-256 fingerprint. The fingerprint of the public key 212*d5c09012SAndroid Build Coastguard Worker // is in format `users/{user}/sshPublicKeys/{fingerprint}`. 213*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 214*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 215*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 216*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/SshPublicKey" 217*d5c09012SAndroid Build Coastguard Worker } 218*d5c09012SAndroid Build Coastguard Worker ]; 219*d5c09012SAndroid Build Coastguard Worker} 220*d5c09012SAndroid Build Coastguard Worker 221*d5c09012SAndroid Build Coastguard Worker// A request message for importing an SSH public key. 222*d5c09012SAndroid Build Coastguard Workermessage ImportSshPublicKeyRequest { 223*d5c09012SAndroid Build Coastguard Worker // The unique ID for the user in format `users/{user}`. 224*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.resource_reference) = { 225*d5c09012SAndroid Build Coastguard Worker child_type: "oslogin.googleapis.com/SshPublicKey" 226*d5c09012SAndroid Build Coastguard Worker }]; 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker // Required. The SSH public key and expiration time. 229*d5c09012SAndroid Build Coastguard Worker google.cloud.oslogin.common.SshPublicKey ssh_public_key = 2 230*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker // The project ID of the Google Cloud Platform project. 233*d5c09012SAndroid Build Coastguard Worker string project_id = 3; 234*d5c09012SAndroid Build Coastguard Worker 235*d5c09012SAndroid Build Coastguard Worker // The view configures whether to retrieve security keys information. 236*d5c09012SAndroid Build Coastguard Worker LoginProfileView view = 4; 237*d5c09012SAndroid Build Coastguard Worker 238*d5c09012SAndroid Build Coastguard Worker // Optional. The regions to which to assert that the key was written. 239*d5c09012SAndroid Build Coastguard Worker // If unspecified, defaults to all regions. 240*d5c09012SAndroid Build Coastguard Worker // Regions are listed at https://cloud.google.com/about/locations#region. 241*d5c09012SAndroid Build Coastguard Worker repeated string regions = 5 [(google.api.field_behavior) = OPTIONAL]; 242*d5c09012SAndroid Build Coastguard Worker} 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker// A response message for importing an SSH public key. 245*d5c09012SAndroid Build Coastguard Workermessage ImportSshPublicKeyResponse { 246*d5c09012SAndroid Build Coastguard Worker // The login profile information for the user. 247*d5c09012SAndroid Build Coastguard Worker LoginProfile login_profile = 1; 248*d5c09012SAndroid Build Coastguard Worker 249*d5c09012SAndroid Build Coastguard Worker // Detailed information about import results. 250*d5c09012SAndroid Build Coastguard Worker string details = 2; 251*d5c09012SAndroid Build Coastguard Worker} 252*d5c09012SAndroid Build Coastguard Worker 253*d5c09012SAndroid Build Coastguard Worker// A request message for updating an SSH public key. 254*d5c09012SAndroid Build Coastguard Workermessage UpdateSshPublicKeyRequest { 255*d5c09012SAndroid Build Coastguard Worker // Required. The fingerprint of the public key to update. Public keys are 256*d5c09012SAndroid Build Coastguard Worker // identified by their SHA-256 fingerprint. The fingerprint of the public key 257*d5c09012SAndroid Build Coastguard Worker // is in format `users/{user}/sshPublicKeys/{fingerprint}`. 258*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 259*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 260*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 261*d5c09012SAndroid Build Coastguard Worker type: "oslogin.googleapis.com/SshPublicKey" 262*d5c09012SAndroid Build Coastguard Worker } 263*d5c09012SAndroid Build Coastguard Worker ]; 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker // Required. The SSH public key and expiration time. 266*d5c09012SAndroid Build Coastguard Worker google.cloud.oslogin.common.SshPublicKey ssh_public_key = 2 267*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 268*d5c09012SAndroid Build Coastguard Worker 269*d5c09012SAndroid Build Coastguard Worker // Mask to control which fields get updated. Updates all if not present. 270*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3; 271*d5c09012SAndroid Build Coastguard Worker} 272*d5c09012SAndroid Build Coastguard Worker 273*d5c09012SAndroid Build Coastguard Worker// The credential information for a Google registered security key. 274*d5c09012SAndroid Build Coastguard Workermessage SecurityKey { 275*d5c09012SAndroid Build Coastguard Worker // Public key text in SSH format, defined by 276*d5c09012SAndroid Build Coastguard Worker // [RFC4253]("https://www.ietf.org/rfc/rfc4253.txt") section 6.6. 277*d5c09012SAndroid Build Coastguard Worker string public_key = 1; 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker // Hardware-backed private key text in SSH format. 280*d5c09012SAndroid Build Coastguard Worker string private_key = 2; 281*d5c09012SAndroid Build Coastguard Worker 282*d5c09012SAndroid Build Coastguard Worker // The FIDO protocol type used to register this credential. 283*d5c09012SAndroid Build Coastguard Worker oneof protocol_type { 284*d5c09012SAndroid Build Coastguard Worker // The U2F protocol type. 285*d5c09012SAndroid Build Coastguard Worker UniversalTwoFactor universal_two_factor = 3; 286*d5c09012SAndroid Build Coastguard Worker 287*d5c09012SAndroid Build Coastguard Worker // The Web Authentication protocol type. 288*d5c09012SAndroid Build Coastguard Worker WebAuthn web_authn = 4; 289*d5c09012SAndroid Build Coastguard Worker } 290*d5c09012SAndroid Build Coastguard Worker 291*d5c09012SAndroid Build Coastguard Worker // The security key nickname explicitly set by the user. 292*d5c09012SAndroid Build Coastguard Worker optional string device_nickname = 5; 293*d5c09012SAndroid Build Coastguard Worker} 294*d5c09012SAndroid Build Coastguard Worker 295*d5c09012SAndroid Build Coastguard Worker// Security key information specific to the U2F protocol. 296*d5c09012SAndroid Build Coastguard Workermessage UniversalTwoFactor { 297*d5c09012SAndroid Build Coastguard Worker // Application ID for the U2F protocol. 298*d5c09012SAndroid Build Coastguard Worker string app_id = 1; 299*d5c09012SAndroid Build Coastguard Worker} 300*d5c09012SAndroid Build Coastguard Worker 301*d5c09012SAndroid Build Coastguard Worker// Security key information specific to the Web Authentication protocol. 302*d5c09012SAndroid Build Coastguard Workermessage WebAuthn { 303*d5c09012SAndroid Build Coastguard Worker // Relying party ID for Web Authentication. 304*d5c09012SAndroid Build Coastguard Worker string rp_id = 1; 305*d5c09012SAndroid Build Coastguard Worker} 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Workermessage SignSshPublicKeyRequest { 308*d5c09012SAndroid Build Coastguard Worker // The SSH public key to sign. 309*d5c09012SAndroid Build Coastguard Worker string ssh_public_key = 1; 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker // The parent project and zone for the signing request. This is needed to 312*d5c09012SAndroid Build Coastguard Worker // properly ensure per-organization ISS processing and potentially to provide 313*d5c09012SAndroid Build Coastguard Worker // for the possibility of zone-specific certificates used in the signing 314*d5c09012SAndroid Build Coastguard Worker // process. 315*d5c09012SAndroid Build Coastguard Worker string parent = 2; 316*d5c09012SAndroid Build Coastguard Worker} 317*d5c09012SAndroid Build Coastguard Worker 318*d5c09012SAndroid Build Coastguard Workermessage SignSshPublicKeyResponse { 319*d5c09012SAndroid Build Coastguard Worker // The signed SSH public key to use in the SSH handshake. 320*d5c09012SAndroid Build Coastguard Worker string signed_ssh_public_key = 1; 321*d5c09012SAndroid Build Coastguard Worker} 322*d5c09012SAndroid Build Coastguard Worker 323*d5c09012SAndroid Build Coastguard Worker// The login profile view limits the user content retrieved. 324*d5c09012SAndroid Build Coastguard Workerenum LoginProfileView { 325*d5c09012SAndroid Build Coastguard Worker // The default login profile view. The API defaults to the BASIC view. 326*d5c09012SAndroid Build Coastguard Worker LOGIN_PROFILE_VIEW_UNSPECIFIED = 0; 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker // Includes POSIX and SSH key information. 329*d5c09012SAndroid Build Coastguard Worker BASIC = 1; 330*d5c09012SAndroid Build Coastguard Worker 331*d5c09012SAndroid Build Coastguard Worker // Include security key information for the user. 332*d5c09012SAndroid Build Coastguard Worker SECURITY_KEY = 2; 333*d5c09012SAndroid Build Coastguard Worker} 334