見出し画像

AWSソリューションアーキテクト取得に向けて~IAM~

AWS ソリューションアーキテクト アソシエイト取得に向けて学習した内容を備忘的に記載します。

今回はIAM。

IAMとは

AWS Identity and Access Managementの略称
安全にAWSの操作を実施するための認証・認可の仕組み

ユーザー

■ルートユーザー
 ・AWSアカウント作成時に作られるIDアカウント
 ・全AWSサービスとリソースを利用可能な権限を持つユーザー
 ・運用においてルートユーザーを使用しないことを推奨
 ※パワーユーザーとは別物

 ルートユーザーにしかできないこと
 ・ルートアカウントのメールアドレス、パスワードの変更
 ・IAMユーザーの課金情報へのアクセス許可
 ・他のAWSアカウントへのRoute53のドメイン登録の移行
 ・CloudFrontのキーペア作成
 ・AWSサービスのキャンセル
 ・AWSアカウントの停止
 ・コンソリデイデッドビリングの設定
 ・脆弱性診断フォームの提出
 ・逆引きDNS申請

■IAMユーザー
 設定上限:5000ユーザー/AWSアカウント
 設定内容
  ユーザー名
  パス:パスをもとにユーザーの検索が可能。
  所属グループ:10のグループまで設定可能
  パーミッション:AWSサービスへのアクセス権限

■IAMグループ
 設定上限:300グループ/AWSアカウント
 グループ名
 パス
 パーミッション:AWSサービスへのアクセス権限

IAMの認証方式

・アクセスキーID/シークレットアクセスキー
  EC2インスタンス接続などREST/Query形式API利用時の認証に使用する
・X.509 Certificate
  SOAP形式のAPIリクエスト用の認証方式
・AWSマネジメントコンソールへのログインパスワード
  AWSアカウント毎に設定。デフォルトは未設定(ログイン不可)
・MFA(多要素認証)
  物理デバイスなどを利用した認証方式。
  AWSルートアカウントはMFAで保護して通常利用しない運用にする。

IAMポリシー

ポリシーによってユーザーなどへのアクセス権限を付与。JSON形式で設定。
ユーザーベースとリソースベースのポリシー適用がある。
リソースベースで適用で可能なものはS3バケット、SNS、SQS

・AWS管理ポリシー
  AWSが作成および管理する管理ポリシー
・カスタム管理ポリシ
  AWSアカウントで作成・管理する管理ポリシー
  同じポリシーを複数のIAMエンティティにアタッチできる
・インラインポリシー
  自身で作成および管理するポリシー
  1つのプリンシパルエンティティ(ユーザー、グループまたはロール)に埋め
   込まれた固有ポリシーでプリンシパルエンティティにアタッチすることがで
  きる。

IAMロール

AWSリソース(EC2、Beanstalk、Data Pipelineなど)に対してアクセス権限をロールとして付与できる。

ユーザーのアクティビティの記録

Access AdvisorのService Last Accessed Data
 IAMエンティティが最後にAWSにアクセスした日付と時刻を表示する機能

Credential Report
 利用日時など記録されたIAM認証情報に係るレポートファイル

AWS Config
    IAMのユーザー、グループ、ロール、ポリシーに関して変更履歴、構成変更を
 管理確認することができる機能

AWS CloudTrail
 AWSインフラストラクチャ全体でアカウントアクティビティをログに記録。
 継続的に監視し、保持することができる機能。

アクセス権限の一時付与

AWS SecurityToken Service(STS)
 動的にIAMユーザーを作り一時的に利用するトークンを発行するサービス

Temporary Security Credentials
 AWSに対して一時的な認証情報を作成する仕組み

IAM設計のベストプラクティス

1.ルートユーザーでしかできないこと以外でルートユーザーを利用しない。
2.ルートユーザーなどの特権ユーザーに対してMFAを有効化
3.IAMユーザーは共有しない
4.組織利用の場合、役割毎のIAMグループを作成してグループで管理する
5.最小限の権限設定と不要な認証情報は削除
6.強度の高いパスワードポリシーの設定
7.EC2インスタンスで作動するアプリケーションなどプログラムから利用する場合はなるべくロールを使用する。
8.一時利用にはSTSなどで最小限の利用許可を与える
9.AWSアカウントのアクティブティの常に利用状況を監視

AWS Organization

IAMのアクセス管理を大きな組織でも楽に実施できるようにするマネージド型サービス。
組織(OU)という単位を作ってマスターアカウントが管理者ルートから管理をするという仕組み

複数アカウントの一元管理
 AWSアカウントをグループ化してポリシーを適用して一元的に管理
新規アカウント作成の自動化
 コンソール/SDK/CLIでAWSアカウントを新規作成して、作成内容をログ管理
一括請求
 複数AWSアカウントの請求を一括で対応
 Consolidated Billing Only:支払一括代行のみを実施する場合に選択
 All Feature:支払一括代行だけでなく、複数アカウントを統制する場合選択

この記事が気に入ったらサポートをしてみませんか?