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)