Amazon CodeWhisperer (Amazon Q Developer) にTerraform のコードレビューをしてもらってみた
※ 2024年4月30日にAmazon CodeWhispererは、Amazon Q Developerへ名称が変更しました。基本的な手順は変わりありません。
はじめに
こんにちは、Shunです。
今回は、Amazon CodeWhispererを使って、コードレビューを行う方法をご紹介します。
CodeWhispererは、AWSアカウントを持っていなくても無料で利用できるため、セキュリティスキャンやコードレビューを手軽に始めたい方におすすめです。
Amazon CodeWhispererとは
Amazon CodeWhisperer は、コメントと既存のコードに基づいて、スニペットから完全な関数まで、さまざまなコードの提案を IDE 上でリアルタイムで生成します。また、CodeWhisperer を使用すると、静的アプリケーション セキュリティ テスト (SAST)、シークレット検出、コードとしてのインフラストラクチャ (IaC) スキャンにより、コード内のセキュリティ ポリシー違反と脆弱性を検出できます。
出典: Amazon CodeWhisperer
本記事では、コード生成ではなく、セキュリティスキャンに焦点を当てます。
料金
CodeWhispererには、Individual TierとProfessional Tierの2つのプランがあります。
Individual Tier | Professional Tier | |
---|---|---|
料金 | 無料 | 19.00USD/ユーザー/月 |
インラインコード提案 | ✓ | ✓ |
セキュリティスキャン | 50回/ユーザー/月 | 500回/ユーザー/月 |
※他にもプランの違いがあります。
対応IDE
CodeWhispererのセキュリティスキャンは、以下のIDEで利用できます。
対応言語
CodeWhispererのセキュリティスキャンは、以下の言語に対応しています。
※チェック項目は、各ドキュメント内へ記述があります。
公式: Amazon CodeWhisperer Security scans
セキュリティスキャンをやってみた
前提
- Visual Studio Code(以下、VSCode)を使用します。
- Individual Tierプランで実施します。
1. AWS Toolkitをインストール
VSCode上でCodeWhispererを使用するには、VSCodeの拡張機能であるAWS Toolkitをインストールする必要があります。
AWS Toolkit – Amazon Q, CodeWhisperer, and more
2. AWS Builder IDの登録/連携
AWS Builder IDをお持ちでない場合、以下を参考に登録を行ってください。
AWS ビルダー ID を作成する
VSCodeからAWS Toolkitを開き、[Sign in to get started] > [Use for free, no AWS Account required] を選択します。
ブラウザでAWS Builder IDを開きます。
表示されるコードが一致していることを確認し、[Confirm and continue]を押下します。
AWS Builder IDでログインし、CodeWhispererとの連携を許可します。
これで連携は完了です。
3. セキュリティスキャンをやってみる
CodeWhispererでは、開いているファイルに対し、セキュリティスキャンを行います。
デベロッパーツールから、[Run Security Scan]を選択します。
画面下部に検出結果が表示されます。
ここでは、暗号化されていないEBSの作成が検出されています。
他の検出結果を確認してみると、IAMポリシーが*
で定義されていることが検出されています。
他にも、Terraformで次のような内容を検出することが可能です。
- AWS S3 public WRITE permission
- Avoid hardcoded AWS access keys and secrets credentials
- Public READ bucket ACL
- Use AWS certificate manager SSL certificate with Elastic Load Balancer
まとめ
今回は、Amazon CodeWhispererを使って、Terraformのコードレビューを行いました!
JavaやPythonなどでも同様の手順でコードレビューが可能ですので、ぜひ試してみてください!
AWSアカウントを保有していなくても利用できることや無料なことなどやらない手はないですね!
最後まで読んでいただきありがとうございます!
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterGoogle Cloud11冠、2024 AWS All Cert、ビール検定1冠
Recommends
こちらもおすすめ
-
Terraform を運用するについて考える ~第2回 Terraformを始める~
2022.10.26
-
AWS CodePipelineでTerraformパイプラインを実装する
2024.3.28
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16