AWS責任共有モデルとIAM
AWS責任共有モデル
セキュリティに対してAWSとユーザーとで責任をわける共有モデル。
ユーザー側の責任範囲として
- IAMによるアカウントや権限の管理
- セキュリティグループなどでの適切なトラフィック制御
- 自身で構築したアプリのセキュリティ管理
- OSやミドルウェアの脆弱性対応
- トラフィックやデータの暗号化
⇒ ユーザーが設定したものはユーザーの責任になる
統制範囲
統制内容に応じて3つの統制に分類できる。
①継承される統制(AWSが100%の責任を持つ)
ユーザーがAWSから完全に継承する統制
- 物理統制 :AWSが提供するデータセンターや物理インフラに関するセキュリティ(ユーザーが関与できない部分)
- 環境統制 :電源管理、物理ネットワークなどユーザーが触れない部分
②共有統制(AWSとユーザーが一部ずつ責任を持つ)
- パッチ管理 :AWSがインフラの不具合におけるパッチ適用に責任を負うが、アプリケーションのパッチ適用はユーザーの責任
- 構成管理 :AWSはインフラの構成の保守は責任を負うが、独自のオペレーションシステムやデータベースはユーザーの責任
- 意識とトレーニング :AWSはAWS従業員の教育に責任を負うが、ユーザーの従業員の教育はユーザーの責任
③ユーザー固有の統制(ユーザーが100%の責任を持つ)
AWSサービスにデプロイするアプリケーションはユーザーがすべての責任を負う統制
- 自社アプリケーションのセキュリティ
- IAM設定や暗号化設定などAWS上の設定
IAM
安全にAWSを操作するための認証・認可の仕組み。
- AWSアカウント内のユーザー(グループ)を作成
- AWSリソースへアクセス権限を管理
- リソース間のアクセス権限を管理
- AWSリソースやAWSアカウントへの一時的なアクセスの許可(IAMロール)
IAMの主要要素
| 要素 | 説明 |
|---|---|
| IAMユーザー | AWSアカウント内で作成される個別の利用ユーザー(という権限を付与されたエンティティ) |
| IAMユーザーグループ | 複数のIAMユーザーをまとめて、同一の権限を一括管理 |
| IAMポリシー | JSON形式で記述される、アクセス許可や拒否のドキュメント |
| IAMロール | 他のAWSリソースや別アカウントのユーザーに一時的なアクセス権限を付与するための仕組み |
IAMユーザーを作成してもポリシーを適用しなければ、どのAWSリソースにもアクセスすることができない(明示的な許可が必要)。
権限レベル
-
管理者ユーザー
管理者権限の許可が付与されたIAMユーザーのこと(ただしあくまでもIAMユーザーなため、rootユーザーにしかできないことは行えない) -
パワーユーザー
IAM以外すべてのAWSサービスにアクセスできるIAMユーザー(IAMの操作権限はなし) -
rootユーザー
AWSアカウント作成時に発行される最上位の管理者アカウント
rootユーザーのみできることが以下になる- rootアカウントのPWやメールアドレスの変更
- IAMユーザーによる課金情報のアクセス許可(管理者権限のユーザーに対してのみ許可することが可能)
- AWSアカウントの停止
- 他のAWSアカウントに対してRoute 53ドメイン登録を移行
- 一括請求の設定
- 脆弱性診断のための脆弱性診断フォーム提出
- AWSサービスのキャンセル
- 逆引きDNS申請
IAMに関連する用語
| 用語 | 説明 |
|---|---|
| IAMリソース | IAMで管理するすべてのオブジェクト(ユーザー、グループ、ロール、ポリシー、IDプロバイダー) |
| IAMアイデンティティ | AWSで認証されてグループ化に使用されるリソースオブジェクト(ユーザー、グループ、ロール) |
| IAMエンティティ | AWSに認証されてアクセスを行うリソースオブジェクト(ユーザー、ロール) |
| プリンシパル | ポリシー上で許可・拒否対象として指定される「操作主体」のこと(rootユーザー、IAMユーザー、IAMロールを使用する人、フェデレーションユーザー) |
フェデレーティッドユーザー:AWSアカウント外部のIDプロバイダーで認証されたユーザーで、AWSリソースへのアクセス権を一時的に付与されたユーザー
AWS Organizations
複数のAWSアカウントを利用している場合に、一元管理するためのマネージド型サービス。
組織内のアカウントをグルーピングして、共通ポリシーの適用や一括請求などが可能。
AWSアカウント自体をグループ化してポリシー適用したり、CloudTrailと連携してアカウントの作成などの操作を一元的に記録することについても可能となる。
CloudTrail
ユーザーのアクセスログを取得・監視することができる、ユーザーの操作をロギングするサービス。
操作ログは暗号化されて S3 に保存され、 KMS による暗号化にも対応されている。
デフォルトでは90日間は無料でログの閲覧が可能。
取得したログを CloudWatch と連携してアラート設定や分析を行う。
CloudWatch
AWSリソースとAWSで実行するアプリケーションのモニタリングサービスで、様々なログを監視することができるサービス。
機能
| 機能名 | 内容 |
|---|---|
| CloudWatchアラーム | メトリクスに基づく数式の結果を監視するメトリクスアラームを作成する(異常値時にメール送信など) 他のアラームのアラーム状況を考慮したルール式が含める複合アラームの作成も可能 |
| CloudWatchメトリクス | リソースの稼働状況(CPU使用率、ディスク使用量など)を監視 有料枠だと設定の柔軟性が充実 |
| CloudWatch Logs | CloudWatchと連動した、EC2やAWSサービスのログを収集・検索・可視化する機能 |
| Amazon EventBridge | AWSリソースに対するイベントをトリガーにアクションを実行する オペレーションの変更に応答し、応答メッセージを送信、機能のアクティブなどを実施する |
