はじめに
こんにちは、SCSKの中村です。
今回は、AWSのアクセス管理について、試験対策に役立ちそうなポイントをまとめていきたいと思います。各サービスの概要についてはご存じの体で記事を書かせていただきます。
AWSのアクセス管理で覚えておくべきポイント
IAMユーザー
特徴
- 独自の認証情報、アクセス許可(IAMポリシー)に基づいてアクション
- APIリクエストの発生時に許可/拒否を評価
- ポリシー変更はリクエストのときに即座に適用される
- ユーザーの管理はグループがベストプラクティス
ポリシー
2-1. アイデンティティベースのポリシー
①アタッチ先
- ユーザー
- グループ
- ロール
②ポリシーのタイプ
- AWSが管理
- お客様が管理
- インライン
③制御対象
- 実行されたアクション
- どのリソース
- どのような条件
2-2. リソースベースのポリシー
①アタッチ先
- S3
- Glacier
- AWS KMS
etc.
②ポリシーのタイプ
- インラインポリシー
③制御(自分でポリシージェネレータで作成)
- プリンシパルごとに許可されたアクション
- 必要な条件
※リソースベースのAWS管理ポリシーは存在しない
※バケットに対する許可とオブジェクトに対する許可は別なので両方に記載が必要
2-3. アクセス許可の決定方法
明示的に拒否されたか
↓ Yes → 拒否
明示的に許可されたか
↓ Yes → 許可
拒否
IAMロール
①特徴
ロールにより、ユーザーやサービスが必要なリソースにアクセスするのに必要な一連のアクセス権限を定義
②ユースケース
- AWSリソース(EC2、Lambda etc.)にAWSサービスへのアクセスを提供
- 外部で認証されたユーザーにアクセスを提供(WEB IDフェデレーション)
- 第三者にアクセスを提供
- ロールを切り替えて次のアカウントでリソースにアクセス
・自分のAWSアカウント
・その他のAWSアカウント(クロスアカウントアクセス)
③ロールの継承
- AWSマネジメントコンソール
- CLI
- AssumeRoleAPIの呼び出し
- AWS SecureTokenService(AWS STS)
SAML
特徴
- すでにオンプレミス環境でActive Directoryを利用している企業が、AWSとのシングルサインオンを実現するために利用
Amazon Cognito
特徴
ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をサポート
- ユーザープール
- IDプール
マルチアカウント戦略
①マルチアカウントが推奨されるケース(1アカウントあたり1VPC)
- 環境の隔離(開発/テスト/本番)
- セキュリティ
- デフォルトではクロスアカウントアクセスは無効
②ガバナンスのためのマルチアカウント
- 管理するアカウント/管理されるアカウント
AWS Organizations
複数アカウントの一元的なアカウント管理を実現
①特徴
- グループベースのアカウント管理
- AWSサービスへのポリシーベースのアクセス
- 自動化されたアカウントの作成と管理
- 一括請求(コンソリデーティッドビリング)→ボリュームディスカウントを利用可能な場合も
- APIベース
②ユースケース
- 親アカウントを使って子アカウント(ルートアカウント)に権限付与可能
まとめ
アクセス管理に関連する覚えておくと役立ちそうなポイントは以上です。少しでもお役に立てれば幸いです。
以上