2017-09-29 7 views
0

私はGCPを使っている人にサービスを提供するつもりです。oauthフローを使用してGCPサービスアカウントを作成しますか?

サーバーからGCP監視APIにアクセスすることを前提にすると、サービスアカウントを使用すると効果的です。そうすれば、個々のユーザーに結びついているわけではなく、そのユーザーが組織から削除されても機能しなくなりません。

サービスアカウントを手動で作成することはあまり複雑ではありませんが、ユーザーにoauth権限フローを提示するよりもはるかに複雑です。

oauthフローを使用してGCPサービスアカウントを作成する方法はありますか。ユーザーに正しいアクセス許可を手動で作成させる必要はありません。

私は周りを見回しましたが、これに関するドキュメントは見つかりませんでした。これは可能ではないと私に信じています。

答えて

0

projects.serviceAccounts.create APIコールを使用してプログラムでアカウントを作成することができます。この呼び出しは、iam.serviceAccounts.create権限で許可されたユーザー(所有者またはiam.serviceAccountAdminの役割など)が行う必要があります。これを行うコードは次のようになります:

import googleapiclient.discovery 
import httplib2 
credentials = GET_YOUR_USER_CREDS() 
http_auth = credentials.authorize(httplib2.Http()) 
iam_client = googleapiclient.discovery.build('iam', 'v1', http=http_auth()) 
iam_client.projects().serviceAccounts().create(name="projects/PROJECT_ID", body={"accountId":"SERVICE-ACCOUNT-ID"}).execute() 
関連する問題