0Pricing
Cloud & IT Cert Prep · レッスン

IAM のベストプラクティスと MFA

MFA を有効にし、アクセスキーをローテーションし、IAM 認証情報レポートを使用して、監査で見つかりやすい一般的な IAM の設定ミスを確認します。

「IAM のベストプラクティスと MFA」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

IAM ベストプラクティスの概要

AWS には、試験で頻繁に問われる公式の IAM チェックリストがあります。ルートユーザーを厳重に保護し、MFA を有効にし、アクセスキーよりロールを使用し、最小権限を付与し、認証情報をローテーションします。

rootユーザーを厳重に保護する

rootユーザーはどのポリシーでも制限できないため、MFAを有効にし、アクセスキーを削除して、どうしても必要なまれな作業に限って使用するなど、厳重に保護してください。

# Check if root account has MFA enabled (from Security Hub or Trusted Advisor)
aws securityhub get-findings \
  --filters '{"RecordState":[{"Value":"ACTIVE","Comparison":"EQUALS"}],"Title":[{"Value":"MFA should be enabled for the root account","Comparison":"CONTAINS"}]}' \
  --query 'Findings[].Title'

多要素認証(MFA)

MFAは、パスワードに加えて、アプリから取得するコードやハードウェアキーなど、2つ目の認証要素を追加します。すべての人間ユーザー、特に管理者では必ず有効にしてください。

# Enable a virtual MFA device for a user
aws iam enable-mfa-device \
  --user-name alice \
  --serial-number arn:aws:iam::123456789012:mfa/alice \
  --authentication-code1 123456 \
  --authentication-code2 789012

MFAデバイスの種類

AWSはMFAデバイスとして、認証アプリ、ハードウェアトークン、FIDOセキュリティキー(最も安全な方式)、SMS(最も安全性が低いため、管理者には避けるべき方式)の4種類をサポートしています。

アクセスキーのローテーション

長期アクセスキーには有効期限がないため、約90日ごとにアクセスキーをローテーションしてください。同時に2つのキーを使用できるため、ダウンタイムなしで切り替えられます。

# Step 1: Create new access key
aws iam create-access-key --user-name alice

# Step 2: After updating all apps to new key, deactivate old key
aws iam update-access-key \
  --user-name alice \
  --access-key-id AKIAIOSFODNN7EXAMPLE \
  --status Inactive

# Step 3: Delete old key
aws iam delete-access-key \
  --user-name alice \
  --access-key-id AKIAIOSFODNN7EXAMPLE

IAM認証情報レポート

IAM認証情報レポートは、各ユーザーのパスワードの経過日数、キーのローテーション状況、MFAの状態を一覧にしたCSVファイルです。毎月取得して、古い認証情報やリスクのある認証情報を見つけてください。

# Generate and download the credential report
aws iam generate-credential-report
aws iam get-credential-report \
  --query 'Content' \
  --output text | base64 --decode > iam-credential-report.csv

アプリケーションでは長期アクセスキーよりロールを優先する

AWS上で実行するもの(EC2、Lambda、ECSなど)には、長期アクセスキーではなくIAMロールを使用してください。ロールを使えば認証情報が自動的に更新され、コード内に認証情報を保存せずに済みます。

IAMパスワードポリシー

アカウントのパスワードポリシーを設定して、コンソール用の強固なパスワードを必須にしてください。十分な最小文字数、文字種の組み合わせ、定期的な有効期限、過去のパスワードの再利用禁止などを設定します。

# Set a strong password policy
aws iam update-account-password-policy \
  --minimum-password-length 14 \
  --require-uppercase-characters \
  --require-lowercase-characters \
  --require-numbers \
  --require-symbols \
  --max-password-age 90 \
  --password-reuse-prevention 5

分離のためにアカウントを分ける

最も強固に分離するには、本番環境と開発環境で別々のアカウントを使用します。異なるアカウントに分けておけば、開発環境の誤ったポリシーが本番環境に影響することはありません。

CloudTrailでIAMアクティビティを監視する

すべてのIAM操作はCloudTrailに記録されます。rootユーザーによるログインやポリシーの変更などに対するアラームを設定すれば、不正利用を早期に検知できます。

# Create a CloudWatch metric filter for root account usage
aws logs put-metric-filter \
  --log-group-name CloudTrail/MainTrail \
  --filter-name RootAccountUsage \
  --filter-pattern '{$.userIdentity.type="Root"}' \
  --metric-transformations metricName=RootAccountUsageCount,metricNamespace=IAMSecurity,metricValue=1

AWS Trusted AdvisorのIAMチェック

Trusted Advisorは簡単なセキュリティチェックを実行し、MFAが設定されていないrootアカウント、rootアクセスキー、さらには公開コードリポジトリに漏洩したキーまで検出します。

クイックチェック

このレッスンで学んだAWS Solutions Architect(SAA-C03)の概念について、理解度を確認しましょう。

レッスンのまとめ

簡単にまとめると、MFAでrootを保護し、キーをローテーションしてロールを優先し、認証情報レポート、CloudTrail、Trusted Advisorを使ってIAMを監視します。次はEC2の基本事項です。

よくある質問

「IAM のベストプラクティスと MFA」レッスンは無料ですか?

はい。「IAM のベストプラクティスと MFA」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「IAM のベストプラクティスと MFA」で何を学びますか?

MFA を有効にし、アクセスキーをローテーションし、IAM 認証情報レポートを使用して、監査で見つかりやすい一般的な IAM の設定ミスを確認します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「IAM のベストプラクティスと MFA」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. IAM ユーザーとグループ
  2. IAM ロールとポリシー
  3. 最小権限の原則
  4. IAM のベストプラクティスと MFA
← Cloud & IT Cert Prepに戻る