おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

SAA学習-IAM-IAMグループ/ユーザーへのポリシー適用:ハンズオン過程操作学習

今回のテーマ:IAMグループ/ユーザーへのポリシー適用

ハンズオン時で手を動かす際の流れやポイントになります。

ケーススタディ:自社組織に必要な権限設計

  • IT管理者:ルート権限ユーザーも保持し、権限設定などの責任者
  • 運用管理者:運用管理全般を担っているスタッフ。様々なモニタリング/障害対応などで直接アプリに触れる
  • アプリ開発者:主だったAWSサービスを利用しサービス開発を実施

どのようなアクセス権限が必要か?

  • IT管理者:フルアクセス権限。
    権限:Administrator
  • 運用管理者:運用ツール全般と開発環境へのアクセスも付与し、DevOpsに参加。
    権限:ELB/EC2/RDS/S3/Auto-Scaling/VPC/Config/Trail/CloudWatch
  • アプリ開発者:アプリ開発範囲でのみアクセス権限を付与。
    権限:ELB/EC2/RDS/S3/Auto-Scaling/VPC

実際の画面操作

f:id:In-houseSE:20210215094122p:plain

アクセス管理

以下のリソースを管理・実装することがベースとなります。

  • グループ:作成したグループの一覧
  • ユーザー:作成したユーザーの一覧
  • ロール:規定されたロールの一覧
  • ポリシー:AWS内で既存にあるポリシの一覧

サンプル:
f:id:In-houseSE:20210215094426p:plain

cf) 境界に使用→権限に設定できる範囲を指定する

  • IDプロバイダー:Active Directory などの認証基盤と連携(フェデレーション)し、アカウント管理を統合化する際に使用
  • アカウント設定:パスワードポリシー、一時的なSTS

アクセスアナライザー

以下のアクセス情報を分析・認証するための使用がベース

  • Access Analyer:認証情報の分析するためのツール
  • 認証情報レポート:認証情報レポートをダウンロードできる
  • 組織アクティビティ:AWS Organizationを使用する場合
  • サービスコトロールポリシー:AWS Organizationを使用する場合

IAMグループの作成

作成するポリシーはアプリ開発者用のものを事例に作成します。 なお、以下の権限と別のポリシーを作成し2つを統合すれば、
運用管理者用のポリシーとなります。

権限:ELB/EC2/RDS/S3/Auto-Scaling/VPC

  • 実際の作り方

①定義するポリシーを作成しておいてからグループへ適用するためポリシーの作成を行います。

1.アクセス管理-ポリシー-ポリシーの作成の順位クリック

f:id:In-houseSE:20210215095326p:plain

2.サービスの選択から必要な権限を検索する。

f:id:In-houseSE:20210215095744p:plain

3.該当サービスを選択すると操作レベルに関しての制限をするためアクション(操作範囲)の制限を規定します。

f:id:In-houseSE:20210215095923p:plain

4.リソースの範囲を制限する場合がありますが、あまり厳しく制限すると必要なサービスが使用できなくなるためその際は解除するようにしておきます。

今回はすべてのリソースとしてます。

f:id:In-houseSE:20210215100244p:plain

5.リクエスト条件でMFAが必要や送信元IPアドレスを指定などができます。

アクセス制限時の条件付けになります。

f:id:In-houseSE:20210215100408p:plain

という流れで、必要なAWSリソースに対し追加していきます。

VPCはEC2の中に含まれているためポリシー定義する場合はEC2から検索

文字数についてはタグのjsonファイルの文字数になります。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "rds:*",
                "s3:*",
                "ec2:*",
                "elasticloadbalancing:*",
                "autoscaling-plans:*"
            ],
            "Resource": "*"
        }
    ]
}

続いてタグ付けでこれは名称が分かればよいので以下のようにつけてみます。つけたら次のステップ:確認をクリック。 ※正直タグをつけなくてもよいですがサンプルです。

  • キー:Name
  • 値:Application-policy

f:id:In-houseSE:20210215101610p:plain

名称と説明を付与してポリシーの作成を行います。

f:id:In-houseSE:20210215101722p:plain

参考:「Config/Trail/CloudWatch」の場合のポリシーでアクションすべてリソースすべてと付与した場合のjsonファイルになります。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:*",
                "cloudtrail:*",
                "config:*"
            ],
            "Resource": "*"
        }
    ]
}

②グループの作成

アプリ開発者用のグループと作成します。

1.アクセス管理-グループ-新しいグループをクリック

f:id:In-houseSE:20210215102614p:plain

※やることはグループ名の定義、ポリシーのアタッチ、設定の確認となります。

2.グループ名を設定して次のステップをクリック

f:id:In-houseSE:20210215103131p:plain

3.ポリシーを指定して次のステップをクリック ※ここで先程作ったポリシーを適用します。

f:id:In-houseSE:20210215103215p:plain

4.実際の値を確認しグループの作成をクリック

f:id:In-houseSE:20210215103235p:plain

作った一覧がこちら

f:id:In-houseSE:20210215103433p:plain

これに必要なユーザーを作ってグループに所属させていきます。

③ユーザの作成

1.アクセス管理-ユーザーーユーザーを追加をクリック

f:id:In-houseSE:20210215105119p:plain

2.ユーザ名、アクセス制御、初期パスワードなどを設定し次のステップ:アクセス権限をクリック

f:id:In-houseSE:20210215105205p:plain

3.アクセス制御するために先程グループを作ったのでそちらを活用する。今回はグループApplicationを使用し次のステップ:タグをクリック

f:id:In-houseSE:20210215105356p:plain

4.タグは指定しなくても問題ないため、次のステップ:確認をクリック

f:id:In-houseSE:20210215105528p:plain

5.設定内容を確認しユーザーの作成をクリック

f:id:In-houseSE:20210215105656p:plain

実務だとユーザーの作成完了後にアカウント作成したユーザーに対して、
作成が終わりましたと連絡し、アクセスキーなどのcsvファイルを送付する場合があります。

f:id:In-houseSE:20210215105753p:plain

今回のテーマは以上です。