すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:AAPの概要

最終更新日:Jan 03, 2025

Key Management Service (KMS) は、ID認証とアクセス制御のためのアプリケーションアクセスポイント (AAP) を提供します。 自己管理型アプリケーションでは、KMSインスタンスでキーまたはシークレットを使用する前に、IDおよび動作認証用のAAPが必要です。 このトピックでは、AAPについて説明します。

AAPの紹介

AAPには、権限ポリシーと資格情報という2つの重要な情報が含まれています。

重要

KMSにアクセスする必要があるアプリケーションごとにAAPを作成することを推奨します。 これにより、アプリケーションによってKMSリソースに対するアクセス権限が異なります。

権限ポリシー

権限ポリシーは、指定されたキーとシークレットへのアクセスを許可するアプリケーションを設定するために使用されます。 AAPごとに最大3つの権限ポリシーを設定できます。 権限ポリシーを作成するには、次の情報を設定します。

  • RBAC権限:

    • CryptoServiceKeyUser: KMSインスタンスでキーを使用できます。 インスタンスAPIの暗号化操作がサポートされています。 詳細については、「機能別操作一覧」をご参照ください。

    • CryptoServiceSecretUser: KMSインスタンスでシークレットを使用できます。 インスタンスAPIのシークレット関連の操作がサポートされています。 詳細については、「機能別操作一覧」をご参照ください。

    • SecretUser: 現在のアカウント内のすべてのシークレットを使用できます。 OpenAPIのGetSecretVaule操作がサポートされています。

  • アクセス可能なリソース: キーやシークレットなど、アクセスできるKMSリソース。

  • ネットワークアクセスルール: アクセスが許可されているソースIPアドレス。

資格情報

資格情報は、KMSリソースにアクセスするユーザーのIDと動作を認証するために使用されます。 次のタイプの資格情報がサポートされています。 このトピックでは、認証はクライアントキーに基づいています。

  • クライアントキー: クライアントキーは、アプリケーションからKMSに開始された要求に署名し、署名を検証するために使用されます。 クライアントキーには、Application Access Secret(ClientKeyContent)Passwordが含まれます。

    重要
    • KMSはクライアントキーを保存しません。 クライアントキーを保存しない場合、またはクライアントキーを紛失した場合は、古いクライアントキーを削除して別のクライアントキーを作成できます。

    • クライアントキーのデフォルトの有効期間は5年です。 クライアントキーを作成するときに、クライアントキーのカスタム有効期間を指定できます。 有効期間を1年に設定することを推奨します。 KMSへのアクセスを確保するには、クライアントキーの有効期限前にクライアントキーを変更する必要があります。 詳細については、「Change a client key」をご参照ください。 クライアントキーが変更された後、使用されなくなったクライアントキーをKMSから削除することを推奨します。

    • クライアントキーが開示されている場合は、既存のクライアントキーを削除し、別のクライアントキーを作成します。 AAP用に最大3つのクライアントキーを作成できます。

  • RAMロール: この方法は、アプリケーションがElastic Compute Service (ECS) インスタンス、Container Service for Kubernetes (ACK) クラスター、またはFunction Computeで実行され、アプリケーションがResource Access Management (RAM) ロールに関連付けられており、KMSエンドポイントを使用してシークレット値を取得する必要があるシナリオで使用できます。 KMSは、RAMを使用してOpenAPIリクエスタを認証します。

クライアントのキーベースの認証をサポートするSDK

SDKをアプリケーションに統合する前に、KMSによって提供されるSDKを理解する必要があります。 異なるSDKは異なる認証方法をサポートします。 詳細については、「SDKリファレンス」をご参照ください。

次のSDKは、クライアントのキーベースの認証をサポートしています。

  • KMSインスタンスSDK: KMSインスタンスのエンドポイントを使用して、KMSインスタンスのキーとシークレットにアクセスできます。 この場合、クライアントキーを使用して認証を実装する必要があります。

  • Secret SDK: KMSインスタンスのエンドポイントを使用してKMSインスタンスのシークレットにアクセスし、KMSエンドポイントを使用して現在のAlibaba Cloudアカウント内のシークレットにアクセスできます。

    説明
    • シークレットSDKとKMSエンドポイントを使用する場合は、クライアントキー、RAMユーザーのAccessKeyペア、またはRAMロールを使用して認証を実装できます。

    • AAPの作成時に権限ポリシーのスコープがKMSインスタンスに設定されている場合、KMSインスタンスのエンドポイントを使用してKMSインスタンスのシークレットにアクセスできます。 権限ポリシーのスコープが共有KMSゲートウェイに設定されている場合、KMSエンドポイントを使用してシークレットにアクセスできます。

クライアントキーの有効期限の通知

Alibaba Cloudは、クライアントキーの有効期限が切れる6か月、3か月、1か月、および7日前に、電子メールまたは内部メッセージで有効期限通知を送信します。 CloudMonitorアラートを設定することもできます。 Alibaba Cloudは、クライアントキーの有効期限が切れる180日前、90日前、30日前、および7日前にアラート通知を送信します。 詳細は、「Alert events」をご参照ください。

ログと監査

KMSをActionTrailと統合して、AAPの管理イベントを記録できます。 詳細については、「KMSのイベントの監査」および「ActionTrailを使用したKMSイベントの照会」をご参照ください。

KMSをSimple Log Serviceと統合して、AAPが提供するクライアントキーの呼び出しを記録できます。 クライアントキーが呼び出されているかどうかを確認するために、KMS用のSimple Log Serviceページで過去180日間のログを表示できます。 これを行うには、kms_audit_logの下の検索ボックスにクライアントキーのIDを入力してフルテキスト検索を実装します。 検索結果のaccess_key_idフィールドの値がクライアントキーのIDである場合、クライアントキーが呼び出されます。 詳細については、「Simple Log Service For KMS」をご参照ください。

関連ドキュメント