0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PMする上で必要になってきたのでおさらい

AWS IAMとは?

AWSリソースへのアクセスを安全に管理するためのサービス。要するに権限設定して制限をかけるやつ。

IAMの特徴

  1. ユーザーとアクセス管理

    • 個別のユーザーやグループにアクセス権限を付与。
    • 例: 開発者にEC2の管理権限、マーケティング担当者にS3の読み取り権限。
  2. 詳細な権限制御

    • 「最小権限の原則」を実現するため、必要最低限の権限を付与可能。
    • JSON形式で細かいポリシーを設定。
  3. 多要素認証(MFA)

    • パスワードに加えてワンタイムパスコードなどを要求し、セキュリティを強化。
  4. 一時的な権限(STS: Security Token Service)

    • 特定のタスクに必要な権限を一時的に発行。
  5. 監査とログ

    • IAMはCloudTrailと連携して、アクセスログや操作履歴を記録。

IAMの主な要素

  1. IAMユーザー

    • AWSリソースへのアクセスが必要な個人(またはアプリケーション)。
    • アクセス方法:
      • コンソールアクセス: AWS管理コンソールにログイン。
      • プログラムアクセス: APIやCLIを使用。
  2. IAMグループ

    • 共通の権限を共有するユーザーの集合。
    • 例: 「開発者」グループにEC2管理権限、「運用チーム」グループにCloudWatchアクセス権限。
  3. IAMポリシー

    • ユーザー、グループ、ロールに割り当てる権限を定義するJSON形式のドキュメント。
    • 例: S3の特定バケットに読み取り専用権限を付与するポリシー。
  4. IAMロール

    • AWSリソースに一時的な権限を付与するためのもの。
    • 例: EC2インスタンスにS3へのアクセス権限を与えるロール。

IAMの主なユースケース

1. EC2インスタンスからS3にアクセス

  • シナリオ: アプリケーションがEC2で動作しており、S3にデータを保存する必要がある。
  • 解決方法:
    • IAMロールを作成し、EC2インスタンスに付与。
    • ポリシーでS3へのアクセス権限を設定。

2. 最小権限のアクセス制御

  • シナリオ: 開発チームにS3の読み取り権限を付与するが、書き込みは許可しない。
  • 解決方法:
    • 「S3: GetObject」アクションのみ許可するIAMポリシーを作成。
    • 開発者グループに割り当て。

3. MFA(多要素認証)の設定

  • シナリオ: 管理者アカウントのセキュリティを強化したい。
  • 解決方法:
    • IAMユーザーにMFAを有効化。
    • ログイン時にパスワード+ワンタイムパスコードを要求。

4. サードパーティツールのアクセス管理

  • シナリオ: CI/CDツール(例: GitHub Actions)がAWSリソースにアクセスする必要がある。
  • 解決方法:
    • IAMロールを作成し、一時的なトークンを発行。
    • 必要なサービス(例: CodeDeploy)への権限を設定。

IAMポリシーの例

S3バケットの読み取り専用ポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::example-bucket/*"
        }
    ]
}

特定のIPアドレスからのみアクセスを許可するポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "192.0.2.0/24"
                }
            }
        }
    ]
}

IAMのメリットとデメリット

メリット

  1. セキュリティの向上

    • 最小権限の原則で、過剰なアクセス権限を防止。
    • MFAで認証プロセスを強化。
  2. 柔軟なアクセス制御

    • JSONポリシーで細かい制御が可能。
    • 一時的なトークンで不要な長期権限を回避。
  3. 監査とコンプライアンス

    • CloudTrailで全ての操作をログに記録し、監査対応が容易。

デメリット

  1. 設定の複雑さ

    • 初心者にはポリシーの記述や権限管理が難しい場合がある。
  2. 誤った設定のリスク

    • 不必要に広い権限を付与すると、セキュリティリスクが増大。

IAMのベストプラクティス

  1. 最小権限の原則

    • 必要最低限の権限のみ付与する。
  2. MFAを有効化

    • 特に管理者ユーザーにはMFAを必須にする。
  3. ロールを活用

    • アプリケーションやサービスにはIAMユーザーではなくロールを使用。
  4. ポリシーを定期的に見直す

    • 不要な権限や古いポリシーを削除。
  5. CloudTrailを活用

    • すべての操作を記録し、不正アクセスやミスを追跡可能にする。

感想

WordPressの案件でセキュリティ心配なものが多いので、とても良い勉強になった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?