以下のファイルは.gitignoreに含まれており、コミットしないように注意してください。
.env- 環境変数(PAT、認証情報を含む)terraform.tfvars- Terraform変数(機密情報を含む)*.tfstate- Terraformステートファイル.terraform/- Terraformプロバイダー*.pem,*.key- SSH鍵.git-credentials- Git認証情報.port-forward.*- ポートフォワーディング関連ファイル
- 最小限の権限のみ付与
- 定期的にローテーション
- 使用しない時は無効化
- IAMユーザーには最小限の権限のみ付与
- MFAを有効化
- アクセスキーの定期的なローテーション
- SSHキーの管理不要
- セキュリティグループでのポート開放不要
- セッションの監査ログがCloudTrailに記録
- セキュリティグループはアウトバウンドのみ許可
- インバウンドポートはすべてブロック
- VPCとサブネットを適切に設定
- GitHub PATと同様、
anthropic_api_keyはEC2のuser_data/インスタンスメタデータに残る - インスタンスを起動したAWSアカウントでアクセス権を持つ人であれば読み取れるため、GitHub PATと同じ信頼レベルとして扱う
- 不要になったらAnthropic Consoleで無効化・ローテーションする
TF_VAR_github_repo_urlで指定したリポジトリに.devcafe/setup.shがあると、ubuntuユーザーの権限で自動実行される- 自分が管理していない、あるいは信頼できないリポジトリのクローンURLは指定しない
最小権限の原則に基づき、以下の権限のみを付与することを推奨します。
- EC2: スポットインスタンスの作成・管理
- VPC: ネットワーク設定の管理
- SSM: Session Manager接続
- Lambda: 自動削除機能
- CloudWatch Events: スケジュール管理