Key Management Service (KMS) は、ID認証とアクセス制御のためのアプリケーションアクセスポイント (AAP) を提供します。 自己管理型アプリケーションでは、KMSインスタンスでキーまたはシークレットを使用する前に、IDおよび動作認証用のAAPが必要です。 このトピックでは、AAPについて説明します。
AAPの紹介
AAPには、権限ポリシーと資格情報という2つの重要な情報が含まれています。
KMSにアクセスする必要があるアプリケーションごとにAAPを作成することを推奨します。 これにより、アプリケーションによってKMSリソースに対するアクセス権限が異なります。
権限ポリシー
権限ポリシーは、指定されたキーとシークレットへのアクセスを許可するアプリケーションを設定するために使用されます。 AAPごとに最大3つの権限ポリシーを設定できます。 権限ポリシーを作成するには、次の情報を設定します。
RBAC権限:
アクセス可能なリソース: キーやシークレットなど、アクセスできる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」をご参照ください。
関連ドキュメント
AAPの作成方法の詳細については、「AAPを使用したKMSインスタンスへのアクセス」をご参照ください。
SDKをアプリケーションに統合する方法の詳細については、「SDKリファレンス」をご参照ください。
KMSインスタンスエンドポイントとKMSエンドポイントの詳細については、「Endpoint description」をご参照ください。
1秒あたりのクエリ (QPS) の詳細については、「パフォーマンスクォータ」をご参照ください。