Cloud Monitoring を使用して、外部鍵マネージャー(EKM)接続をモニタリングできます。次の指標が EKM の使用状況の把握に役立ちます。
cloudkms.googleapis.com/ekm/external/request_latencies
cloudkms.googleapis.com/ekm/external/request_count
このページでは、Cloud EKM 鍵と外部鍵マネージャー接続に関連する指標(リクエスト数やレイテンシなど)を追跡するダッシュボードの作成方法について説明します。これらの指標の詳細については、Cloud KMS の指標をご覧ください。以降のセクションで説明するダッシュボード作成工程の詳細については、API によるダッシュボードの管理をご覧ください。
始める前に
このページで説明する手順は、次のことを前提としています。
必要なロール
gcloud CLI を使用してダッシュボードを作成するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
-
モニタリング ダッシュボード構成の編集者(
roles/monitoring.dashboardEditor
) -
Service Usage ユーザー(
roles/serviceusage.serviceUsageConsumer
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、gcloud CLI を使用してダッシュボードを作成するのに必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
gcloud CLI を使用してダッシュボードを作成するには、次の権限が必要です。
-
monitoring.dashboards.create
-
monitoring.dashboards.delete
-
monitoring.dashboards.update
-
serviceusage.services.use
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
EKM をモニタリングするダッシュボードの作成
EKM のステータスをモニタリングするには、リクエスト数とレイテンシをモニタリングするダッシュボードを作成します。
ダッシュボード構成
ekm-dashboard.json
をダウンロードします。次のコマンドを実行して、構成ファイルを含むカスタム ダッシュボードを作成します。
gcloud monitoring dashboards create \ --config-from-file=ekm-dashboard.json
EKM ダッシュボードを表示する
Google Cloud コンソールで、[モニタリング] ページに移動するか、次のボタンを使用します。
[リソース] > [ダッシュボード] を選択し、[Cloud KMS EKM] というダッシュボードを表示します。
EKM 指標のアラート ポリシーを作成する
gcloud CLI を使用して次の操作を行います。
EKM 指標アラートを受信する通知チャンネルを選択します。
既存の通知チャンネルを使用するには、まずチャンネルを表示します。
gcloud beta monitoring channels list
リストからチャンネルを選択します。後で必要になるので、通知チャンネル ID をメモしておきます。
新しい通知チャンネルを使用するには、メールアドレスを使用してチャンネルを作成します。
gcloud beta monitoring channels create \ --display-name="Notification channel for EKM latency alert" \ --description="This notification channel receives EKM latency metric alerts" \ --type=email \ --channel-labels=email_address=NOTIFICATION_EMAIL
成功すると、このコマンドが新しいチャンネルの名前を返します。通知チャンネル ID をメモしておきます。後で必要になります。出力は次のようになります。
Created notification channel [projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL_ID]
monitoring policies create
コマンドを使用してアラート ポリシーを作成します。gcloud alpha monitoring policies create \ --notification-channels=NOTIFICATION_CHANNEL_ID \ --aggregation=' {"alignmentPeriod": "60s","perSeriesAligner": "ALIGN_PERCENTILE_99"}' \ --condition-display-name="EKM Request Latency > 150ms" \ --condition-filter='resource.type="cloudkms.googleapis.com/Project" metric.type="cloudkms.googleapis.com/ekm/external/request_latencies" metric.labels.ekm_service_region="LOCATION" metric.labels.method="LABEL_METHOD"' \ --duration="0s" \ --if="> 150" \ --display-name="EKM metric latency alert" \ --trigger-count=1 \ --combiner='AND'
以下を置き換えます。
- NOTIFICATION_CHANNEL_ID: 通知チャンネルの ID。
- LOCATION: この指標でアラートを生成するリージョン。リージョンに関係なくアラートを送信する場合は、
metric.labels.ekm_service_region
を省略します。 - LABEL_METHOD: アラートをトリガーする
method
ラベル(例:wrap
、unwrap
、asymmetricSign
、checkCryptoSpacePermissions
、createKey
、getInfo
、getPublicKey
)。Metrics Explorer を使用して、指標ラベルを調べることができます。