
IAM(Identity and Access Management)は、IAMユーザ、IAMグループ、IAMロール、IAMポリシーを用いて、AWSリソースへのアクセス権限を最小限に付与するための基盤となるサービスです。
IAMポリシーはJSON形式で記述されるアクセス制御ルールであり、許可ポリシーは、「どのリソースに対して、どの操作を、どの条件下で許可するか」を定義できます。信頼ポリシーはIAMロールに関連付けられ、「どのエンティティ(ユーザ・サービス・アカウント)がそのロールを引き受けることを許可されているか」を定義します。
また、STS(Security Token Service)を利用することで、一時的な認証情報を発行し、サービス間の委任や外部システムからの安全なアクセスを実現します。これにより、システム内に秘密情報を埋め込む必要がなくなり、セキュリティリスクを大幅に低減できます。
IAMでは、MFA認証(多要素認証)によってアカウント保護を強化し、アクセスキーの管理やSAML/OIDCフェデレーションによる企業のIdP(アイデンティティプロバイダ)との連携にも対応しています。さらに、IAM Identity Centerを利用することで、複数アカウントや外部アプリケーションへのSSO(シングルサインオン)を実現し、ユーザ管理を一元化できます。
組織全体でのアクセス制御には、Organizationsを活用し、複数アカウントを統合的に管理できます。OrganizationsのSCP(サービスコントロールポリシー)とIAMポリシーを組み合わせることで、より強固なセキュリティガバナンスを構築できます。
また、CloudTrailを用いてIAM操作やAPI呼び出しを記録し、Configでリソース構成やポリシーの準拠状況を監査することで、変更履歴とコンプライアンスを継続的に可視化します。
さらに、IAM Access Analyzerを利用することで、過剰な公開設定や外部からアクセス可能なリソースを自動的に検出し、最小権限の原則に基づいたセキュアな運用を支援します。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |