ALTS認証

Application Layer Transport Security(ALTS)を使用したPythonにおけるgRPC認証の概要について説明します。

ALTS認証

Application Layer Transport Security(ALTS)を使用したPythonにおけるgRPC認証の概要について説明します。

概要

Application Layer Transport Security(ALTS)は、Googleによって開発された相互認証とトランスポート暗号化システムです。Googleのインフラストラクチャ内でのRPC通信の保護に使用されます。ALTSは相互TLSに似ていますが、Googleのプロダクション環境のニーズを満たすように設計および最適化されています。詳細については、ALTSホワイトペーパーを参照してください。

gRPCにおけるALTSの機能

  • トランスポートセキュリティプロトコルとしてALTSを使用してgRPCサーバーとクライアントを作成します。
  • ALTS接続は、プライバシーと整合性によってエンドツーエンドで保護されます。
  • アプリケーションは、ピアサービスアカウントなどのピア情報にアクセスできます。
  • クライアント認証とサーバー認証をサポートします。
  • ALTSを有効にするためのコード変更は最小限です。

gRPCユーザーは、数行のコードでALTSをトランスポートセキュリティプロトコルとして使用するようにアプリケーションを構成できます。

アプリケーションがCompute EngineまたはGoogle Kubernetes Engine(GKE)上で実行されている場合、ALTSは完全に機能します。

ALTSトランスポートセキュリティプロトコルを使用したgRPCクライアント

次のコード例に示すように、gRPCクライアントはALTS資格情報を使用してサーバーに接続できます。

import grpc

channel_creds = grpc.alts_channel_credentials()
channel = grpc.secure_channel(address, channel_creds)

ALTSトランスポートセキュリティプロトコルを使用したgRPCサーバー

次の例に示すように、gRPCサーバーはALTS資格情報を使用してクライアントの接続を許可できます。

import grpc

server = grpc.server(futures.ThreadPoolExecutor())
server_creds = grpc.alts_server_credentials()
server.add_secure_port(server_address, server_creds)
最終更新日:2021年8月11日: 説明から末尾の空白を削除 (#822) (88d84d6)