1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.iap.v1beta1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/iam/v1/iam_policy.proto"; 22import "google/iam/v1/policy.proto"; 23 24option go_package = "cloud.google.com/go/iap/apiv1beta1/iappb;iappb"; 25option java_multiple_files = true; 26option java_package = "com.google.cloud.iap.v1beta1"; 27 28// APIs for Identity-Aware Proxy Admin configurations. 29service IdentityAwareProxyAdminV1Beta1 { 30 option (google.api.default_host) = "iap.googleapis.com"; 31 option (google.api.oauth_scopes) = 32 "https://www.googleapis.com/auth/cloud-platform"; 33 34 // Sets the access control policy for an Identity-Aware Proxy protected 35 // resource. Replaces any existing policy. 36 // More information about managing access via IAP can be found at: 37 // https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api 38 rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) 39 returns (google.iam.v1.Policy) { 40 option (google.api.http) = { 41 post: "/v1beta1/{resource=**}:setIamPolicy" 42 body: "*" 43 }; 44 } 45 46 // Gets the access control policy for an Identity-Aware Proxy protected 47 // resource. 48 // More information about managing access via IAP can be found at: 49 // https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api 50 rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) 51 returns (google.iam.v1.Policy) { 52 option (google.api.http) = { 53 post: "/v1beta1/{resource=**}:getIamPolicy" 54 body: "*" 55 }; 56 } 57 58 // Returns permissions that a caller has on the Identity-Aware Proxy protected 59 // resource. If the resource does not exist or the caller does not have 60 // Identity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED] 61 // will be returned. 62 // More information about managing access via IAP can be found at: 63 // https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api 64 rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) 65 returns (google.iam.v1.TestIamPermissionsResponse) { 66 option (google.api.http) = { 67 post: "/v1beta1/{resource=**}:testIamPermissions" 68 body: "*" 69 }; 70 } 71} 72