Key Management Service (KMS) は、SDK またはプロキシサービスである KMS Agent を提供し、API を呼び出すことができます。これにより、キーの管理、暗号操作の実行、シークレットの取得が可能です。このトピックでは、ゲートウェイタイプ、認証方式、統合方式の選択方法、および各 API タイプの使用方法について説明します。
KMS 統合の概要
セルフマネージドアプリケーションを KMS と統合するには、次の 4 つのディメンションで決定を下す必要があります。
ゲートウェイタイプ:共有ゲートウェイ (インターネット/VPC) または専用ゲートウェイ (プライベートネットワーク)
認証方式:RAM 認証またはアプリケーションアクセスポイント (AAP) 認証 (非推奨)
統合方式:SDK (Alibaba Cloud SDK、シークレット SDK、またはインスタンス SDK) または KMS Agent
API タイプ:管理操作、暗号操作、シークレット取得操作
次の図は、KMS の統合アーキテクチャを示しています。
意思決定ガイド
ビジネスシナリオに適したゲートウェイ、認証、および統合方式を選択するには、次の手順に従ってください。
ステップ 1:ネットワーク分離要件の決定
高いパフォーマンスまたは高いセキュリティ要件を持つ Alibaba Cloud VPC にデプロイされたワークロード → 専用ゲートウェイ (プライベートネットワーク、エンドツーエンドのデータ暗号化)
Alibaba Cloud 以外の環境にデプロイされたワークロードまたは管理操作が必要 → 共有ゲートウェイ (インターネット/VPC)
ステップ 2:API 機能要件の決定
管理操作 (キー、シークレットなどの作成) が必要 → 共有ゲートウェイ + Alibaba Cloud SDK (管理操作はこの組み合わせでのみサポートされるため必須)
暗号操作またはシークレット取得のみが必要 → シークレット SDK または Alibaba Cloud SDK (ゲートウェイタイプによる)
統合を簡素化する必要がある多言語アプリケーション → KMS Agent (シークレット取得のみをサポート)
ゲートウェイタイプ
KMS は、共有ゲートウェイと専用ゲートウェイの 2 種類のゲートウェイを提供します。
共有ゲートウェイは、KMS サービスのグローバルネットワークです。インターネットまたは VPC 経由で KMS にアクセスできます。共有ゲートウェイは、管理 API オペレーションとビジネス API オペレーションの両方をサポートします。
専用ゲートウェイは、特定の KMS インスタンスのプライベートネットワークであり、プライベートネットワーク経由のアクセスのみをサポートします。専用ゲートウェイは、ビジネス API オペレーションのみをサポートし、より高いデータセキュリティを備えたエンドツーエンドの API セキュリティを提供します。
特徴 | 共有ゲートウェイ | 専用ゲートウェイ |
推奨シナリオ |
|
|
エンドポイント | インターネットまたは VPC | KMS プライベートエンドポイント |
パフォーマンス | QPS 制限については、パフォーマンスデータを参照してください。たとえば、共有ゲートウェイを介した暗号化と復号の QPS は 1,000 です。 | 購入した KMS インスタンスのコンピューティングパフォーマンスによって決まります (1,000 または 2,000 QPS など)。詳細については、Content パラメーターの説明をご参照ください。 |
サポートされる統合方式 | Alibaba Cloud SDK、シークレット SDK、および KMS Agent | Alibaba Cloud SDK、シークレット SDK、KMS Agent、および KMS インスタンス SDK |
サポートされる API オペレーション | すべての OpenAPI オペレーション | OpenAPI:暗号操作とシークレット取得。インスタンス API (非推奨) |
認証 | RAM 認証および AAP 認証 (非推奨) | RAM 認証および AAP 認証 (非推奨) |
CA 証明書 | 不要 | 必須 |
統合方式
KMS は、統合のために SDK と KMS Agent を提供します。この 2 つの方法は、サポートされる API オペレーションと使用シナリオの点で大きく異なります。
SDK と KMS Agent の比較
ディメンション | SDK (Alibaba Cloud/シークレット/インスタンス) | KMS Agent | 推奨される選択肢 |
サポートされる API オペレーション | 管理、暗号、シークレット取得 | シークレット取得のみ |
|
言語サポート | Java、Python、Go、C++、PHP、.NET、TypeScript、Swift | 任意のプログラミング言語 (HTTP インターフェイス) | クロス言語またはニッチな言語:Agent |
ネットワークデプロイメント | ゲートウェイへの直接接続。インターネット、VPC、プライベートネットワークをサポート | ローカルアプリケーションアクセス。HTTP ローカル通信 |
|
統合の複雑さ | 組み込みの署名ロジックを備えた言語固有の SDK | 簡素化された認証、標準 HTTP インターフェイス、プロキシ管理のシークレット |
|
統合プロセス
SDK 統合
KMS SDK は、複雑な署名プロセスをメソッド内にカプセル化します。API リファレンスに記載されているように、必要なパラメーターと認証情報を入力するだけです。KMS SDK には、Alibaba Cloud SDK、シークレット SDK、KMS インスタンス SDK (非推奨) が含まれます。
ゲートウェイ、認証、API タイプに基づいて適切な SDK を選択した後、このプロセスに従って SDK を KMS と統合します。詳細については、「SDK リファレンス」をご参照ください。
SDK 統合プロセス
SDK 統合は、次の標準プロセスに従います。
注意事項
キーとシークレットに対するすべての操作 (管理操作とビジネス操作) がサポートされています。管理操作は SDK 統合のみをサポートします。
使用するプログラミング言語用の SDK をインストールする必要があります。
SDK タイプの詳細
次の表は、サポートされる API オペレーション、ゲートウェイ、認証方式、プログラミング言語の観点から、3 つの SDK タイプの違いをまとめたものです。
SDK タイプ | サポートされる API オペレーション | ゲートウェイと認証方式 | サポートされるプログラミング言語 |
シークレット SDK |
| 共有ゲートウェイ:
専用ゲートウェイ:
|
|
Alibaba Cloud SDK | OpenAPI: | 共有ゲートウェイ:RAM 認証 + OpenAPI 専用ゲートウェイ:RAM 認証 + OpenAPI |
|
KMS インスタンス SDK (非推奨) | インスタンス API:キー関連の操作、シークレット関連の操作、および GenerateRandom | 共有ゲートウェイ:サポートされていません 専用ゲートウェイ:AAP 認証 + インスタンス API |
|
KMS Agent 統合
KMS Agent は、アプリケーションが KMS にアクセスするための認証およびキャッシュ管理プロセスを簡素化します。標準の HTTP インターフェイスを通じてサービスを提供します。詳細については、「KMS Agent」をご参照ください。
注意事項
任意のプログラミング言語のビジネスアプリケーションをサポートします。
ローカルのビジネスアプリケーションからのアクセスのみをサポートします。
シークレットの取得のみをサポートします。シークレットの変更や削除などのシークレット管理操作はサポートされていません。
KMS Agent 統合プロセス
開発上の注意
サポートされる API オペレーション | ゲートウェイタイプ | 認証方式 | サポートされるプログラミング言語 |
OpenAPI: シークレット取得:GetSecretValue | 共有ゲートウェイと専用ゲートウェイ | RAM 認証 | 任意のプログラミング言語 (KMS Agent は標準の HTTP インターフェイスを通じてサービスを提供します) |
KMS API のタイプ
Key Management Service (KMS) は、OpenAPI と KMS インスタンス API (非推奨) の 2 種類の API オペレーションを提供します。機能別に分類すると、管理 API オペレーション、暗号操作、シークレット取得操作に分けられます。詳細については、「OpenAPI の概要」および「KMS インスタンス API」をご参照ください。
API タイプの比較
次の表は、API タイプと統合メソッドの関係をまとめたものです。適切なアプローチを選択する際にご参照ください。
API タイプ | Alibaba Cloud SDK | Secret SDK | KMS インスタンス SDK | KMS Agent |
管理操作 | ||||
暗号操作 | ||||
シークレット値の取得 |
管理 API オペレーション
管理 API オペレーションには、KMS インスタンス、キー、シークレットを管理するための操作が含まれます。たとえば、キーの作成、シークレットの作成、KMS インスタンスの作成、キーのタグの変更などです。
管理 API オペレーションの呼び出しには、Alibaba Cloud SDK のみを使用でき、共有ゲートウェイエンドポイント経由で行います。
暗号操作
暗号操作には、対称暗号化と復号、非対称暗号化と復号、エンベロープ暗号化、データキーの生成、データ署名、署名検証が含まれます。
暗号操作の呼び出しには、Alibaba Cloud SDK または KMS インスタンス SDK を使用できます。
共有ゲートウェイ経由で暗号操作を呼び出すには、インターネットアクセスを有効にする必要があります。詳細については、「インターネット経由での KMS インスタンスキーへのアクセス」をご参照ください。
シークレット取得操作
Secret SDK、Alibaba Cloud SDK、KMS インスタンス SDK、または KMS Agent を使用して、共有または専用ゲートウェイ経由で OpenAPI の GetSecretValue または KMS インスタンス API の GetSecretValue (非推奨) を呼び出し、KMS のシークレット値を取得できます。
認証
KMS は RAM 認証と AAP 認証をサポートしています。AAP 認証は推奨されません。詳細については、RAM アクセス認証情報の管理 および AAP の管理 をご参照ください。
機能 | RAM 認証 | AAP 認証 (非推奨) |
説明 |
|
|
サポートされる統合方法 | Alibaba Cloud SDK、シークレット SDK、KMS Agent | シークレット SDK と KMS Instance SDK |
サポートされる API オペレーション | すべての OpenAPI オペレーション | OpenAPI: シークレットの取得。インスタンス API オペレーション |
サポートされるゲートウェイ | 専用ゲートウェイと共有ゲートウェイ | 専用ゲートウェイと共有ゲートウェイ 説明 AAP 認証では、専用ゲートウェイ構成と共有ゲートウェイ構成が提供されます。詳細については、AAP 認証 をご参照ください。 |