Googleアカウント機能の認証と呼び出し
2979 ワード
カバーイメージhere )
Google雲からのサービスはしばらくの間、あった.Google Cloud FunctionはGoogleのクラウド・プラットフォームの中で、無制限の、イベント駆動型サービスであり、Googleのパブリック・クラウド内でのプログラム機能を作成し、実装することを意図している.
すべてのインフラリソースは、Google Cloud Platform(GCP)によって提供されて、自動的に回復されます.GCPはまた、それらと一緒に動作するようにコンソールコマンドの良いリストを提供します.
機能を認証するのに適用できる様々なシナリオがあります.ユーザサービスアカウント認証のための1つのシナリオ.
この時点で、あなたは既にサービスアカウントを作成していると仮定します.最初の手順を開始するには、サービスアカウントをiamに追加します.これはあなたのGCPの上でIAMにナビゲートして
一旦それをすると、メンバー名の入力があります.そこにあなたのサービスアカウント名を入れてください.次に、このサービスアカウントにロールを追加します.
サービスアカウントを使用してサービスを認証するには サービスアカウントトークン作成 サービスアカウントユーザー サービス使用量 保存をクリックしてデータを保存します.
トークンを生成するコードにジャンプする前に、サービスアカウントのキーを生成します.GCPのサービスアカウントに移動します.リストの下には、サービスアカウントが表示されます.これはダウンロードする必要があります.鍵となる情報があるJSONファイル.これは機密情報を持つIMPファイルです.参考にhere
当社のサービスアカウントは現在セットアップです.さて、このサービスアカウントの認証トークンを取得する必要があります.この生成トークンは、サービスアカウントとしてAuthを使用しているGCPサービスを呼び出すために使用することができます.Googleクラウド機能を使っていました.我々がアクセスしようとしているサービスを確認してください、同じサービスアカウントセットを持っています.
JWTトークンを生成するコードスニペットを見ることができます.
Google雲からのサービスはしばらくの間、あった.Google Cloud FunctionはGoogleのクラウド・プラットフォームの中で、無制限の、イベント駆動型サービスであり、Googleのパブリック・クラウド内でのプログラム機能を作成し、実装することを意図している.
すべてのインフラリソースは、Google Cloud Platform(GCP)によって提供されて、自動的に回復されます.GCPはまた、それらと一緒に動作するようにコンソールコマンドの良いリストを提供します.
クラウド関数の認証
機能を認証するのに適用できる様々なシナリオがあります.ユーザサービスアカウント認証のための1つのシナリオ.
この時点で、あなたは既にサービスアカウントを作成していると仮定します.最初の手順を開始するには、サービスアカウントをiamに追加します.これはあなたのGCPの上でIAMにナビゲートして
一旦それをすると、メンバー名の入力があります.そこにあなたのサービスアカウント名を入れてください.次に、このサービスアカウントにロールを追加します.
サービスアカウントを使用してサービスを認証するには
トークンを生成するコードにジャンプする前に、サービスアカウントのキーを生成します.GCPのサービスアカウントに移動します.リストの下には、サービスアカウントが表示されます.これはダウンロードする必要があります.鍵となる情報があるJSONファイル.これは機密情報を持つIMPファイルです.参考にhere
当社のサービスアカウントは現在セットアップです.さて、このサービスアカウントの認証トークンを取得する必要があります.この生成トークンは、サービスアカウントとしてAuthを使用しているGCPサービスを呼び出すために使用することができます.Googleクラウド機能を使っていました.我々がアクセスしようとしているサービスを確認してください、同じサービスアカウントセットを持っています.
JWTトークンを生成するコードスニペットを見ることができます.
from google.oauth2 import id_token
from google.oauth2 import service_account
import google.auth
import google.auth.transport.requests
from google.auth.transport.requests import AuthorizedSession
import requests
# path to your cloud function or any other service
url = 'https://{region}-{project-id}.cloudfunctions.net/{cloud-function-name}'
# path to you keys file that was downloaded when keys for SA were created
keyFilePath = 'key.json'
creds = service_account.IDTokenCredentials.from_service_account_file
(keyFilePath,
target_audience=url)
# auth session
authed_session = AuthorizedSession(creds)
# make authenticated request and print the response, status_code
resp = authed_session.get(url)
# to verify an ID Token
request = google.auth.transport.requests.Request()
token = creds.token
# print the generated token
print(token)
print(id_token.verify_token(token,request))
これによってJWTトークンを与え、その後のリクエストを認証する必要があります.あなたがしなければならないのは、それぞれのクラウドサービスを呼び出すとき、このトークンをヘッダーに渡すことです.headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer {token}'.format(token = token)
}
これらの手順を使用してトークンを取得し、GCPでホストしているサービスを呼び出すことができます.同じコードと手順を使用して、AWSラムダや他のHTTPリクエストからGCPクラウド関数を呼び出すことができます.Reference
この問題について(Googleアカウント機能の認証と呼び出し), 我々は、より多くの情報をここで見つけました https://dev.to/praneetnadkar/authenticating-calling-google-cloud-function-with-service-account-4pjbテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol