AWS EC2 KMS(Key Management Service)のサポート
EC2 インスタンスの暗号化に AWS Customer Managed Keys(CMK)を使用している場合、Aikido のスキャンロールにこれらのキーへのアクセス権を付与する必要があります。このガイドでは、必要な手順を説明します。
- CMK で暗号化された EC2 インスタンスがある
- AWS KMS で EBS 暗号化に使用しているキーへのアクセス権がある
- Aikido で EC2 スキャンを有効化済みである。ロール ARN が必要になります。
アクセス権を付与する手順
Section titled “アクセス権を付与する手順 ”- AWS KMS → Customer managed keys に移動します
- EC2 暗号化に使用している CMK を見つけてクリックします
- キーの詳細ページで、Key users セクションまでスクロールします
- Add をクリックして新しいキーユーザーを追加します
- Aikido の VM scanning ロールを検索して選択します
- 変更を保存します

JSON ポリシー
Section titled “JSON ポリシー ”代わりに、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 インスタンスをスキャンできるようになります。
重要な注意事項
Section titled “重要な注意事項 ”- ⚠️ これらの権限がないと、Aikido は CMK で暗号化された EC2 インスタンスをスキャンできません。
- 🔒 この権限は、スキャン目的に必要な範囲のみに限定されています。
- ✋ 後でこれらの権限を削除すると、スキャン機能に影響が出ます。
トラブルシューティング
Section titled “トラブルシューティング ”CMK で暗号化されたインスタンスのスキャンで問題が発生した場合は、以下を確認してください。
- 正しい CMK が選択されているか
- Aikido のロールがキーユーザーとして正しく追加されているか
- キーポリシーが変更され、権限が削除されていないか
スキャン対象VMの管理
Section titled “スキャン対象VMの管理 ”Aikido はVMスキャンの包含・除外モデルをサポートしています。
スキャン頻度
Section titled “スキャン頻度”毎日、スキャンが有効なすべての VM のうち 10% が再スキャンされるため、平均すると各 VM は 10 日に 1 回スキャンされることになります。