コンテンツにスキップ

AWS EC2 KMS(Key Management Service)のサポート

EC2 インスタンスの暗号化に AWS Customer Managed Keys(CMK)を使用している場合、Aikido のスキャンロールにこれらのキーへのアクセス権を付与する必要があります。このガイドでは、必要な手順を説明します。

  • CMK で暗号化された EC2 インスタンスがある
  • AWS KMS で EBS 暗号化に使用しているキーへのアクセス権がある
  • Aikido で EC2 スキャンを有効化済みである。ロール ARN が必要になります。
  1. AWS KMSCustomer managed keys に移動します
  2. EC2 暗号化に使用している CMK を見つけてクリックします
  3. キーの詳細ページで、Key users セクションまでスクロールします
  4. Add をクリックして新しいキーユーザーを追加します
  5. Aikido の VM scanning ロールを検索して選択します
  6. 変更を保存します

設定、キーポリシー、割り当てられたキーユーザーを示すAWS KMSキーの詳細画面。

代わりに、Infrastructure as Code で KMS キーを管理している場合は、EBS 暗号化に使用しているキーの JSON ポリシーに以下のステートメントを追加し、arn:aws:iam::112233445566:role/aikido-security-ec2 を Aikido の VM scanning ロール ARN に置き換えてください。

{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::112233445566:role/aikido-security-ec2" // Replace this
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::112233445566:role/aikido-security-ec2" // Replace this
},
"Action": ["kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant"],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}

✅ Aikido のロールをキーユーザーとして追加すると、Aikido は CMK で暗号化された EC2 インスタンスをスキャンできるようになります。

  • ⚠️ これらの権限がないと、Aikido は CMK で暗号化された EC2 インスタンスをスキャンできません。
  • 🔒 この権限は、スキャン目的に必要な範囲のみに限定されています。
  • ✋ 後でこれらの権限を削除すると、スキャン機能に影響が出ます。

CMK で暗号化されたインスタンスのスキャンで問題が発生した場合は、以下を確認してください。

  • 正しい CMK が選択されているか
  • Aikido のロールがキーユーザーとして正しく追加されているか
  • キーポリシーが変更され、権限が削除されていないか

Aikido はVMスキャンの包含・除外モデルをサポートしています。

毎日、スキャンが有効なすべての VM のうち 10% が再スキャンされるため、平均すると各 VM は 10 日に 1 回スキャンされることになります。