😺

【手順書】IAM(ポリシー、グループ、ロール)を作る。

2023/06/23に公開

IAM(ポリシー、ロール、グループ)を作る。

IAMポリシーはアクセス許可の定義を行うJSONドキュメント
IAMグループは複数のユーザーへのアクセス許可を容易に指定できる
IAMロールはAWSリソースに割り当て、そのリソースに権限を与える

IAMポリシー(開発者用の独自のポリシーを作成)

EC2インスタンス作成

  • AWSマネジメントコンソール > サービス > EC2
  • インスタンスの作成(もしくはチェックボックス全て外してインスタンスの起動) > Amazon Linux2 AMI 64ビットを選択
  • インスタンスタイプを選択後、確認と作成を押下 > 用途に合わせて色々と設定 > 起動を押下
  • キーペアも用途に合わせて選択(試しに使うだけならキーペアなしで続行) > インスタンスの作成を押下

IAM

  • サービス > IAMを選択 > ポリシー(左ペイン) > ポリシーの作成
  • JSONのタブを選択して記述(IAMポリシージェネレーターで作成したものでもOK) > ポリシーの確認
  • ポリシーの名前を入力(dev) > ポリシーの作成 > ポリシーのフィルター(Customer managed) > 作成したポリシーのみ表示される

※IAMポリシージェネレーター

  • Select Type of Policy > IAM Policy
- Effect > Allow
- AWS Service > Amazon EC2
- Actions > DescribeConversionTasks ※Describe*に修正して参照系の権限をつけられる
          > Startinstances
	  > Stopinstances
- Amazon Resorce Name(ARN) > *
{
  "Version": "2012-10-17",   // IAMポリシー言語のバージョンを示します。2012-10-17が唯一のバージョンです。

  "Statement": [   // ポリシーに含まれるステートメント(文)の配列。一つのポリシードキュメントには一つ以上のステートメントが含まれます。
    {
      "Sid": "Stmt1687695306002",   // このステートメントのID。一意である必要はなく、管理の便宜上に使用されます。

      "Action": [   // 許可または拒否するアクションのリスト。
        "ec2:Describe*",   // ec2:Describe*は、EC2リソースの情報を取得する全てのAPIを表します。
        "ec2:StartInstances",   // EC2インスタンスを起動するアクション。
        "ec2:StopInstances"   // EC2インスタンスを停止するアクション。
      ],

      "Effect": "Allow",   // このステートメントが許可する("Allow")か拒否する("Deny")かを示します。この場合、上記のアクションは許可されます。

      "Resource": "*"   // このステートメントが適用されるリソース。"*"は全てのリソースを指します。このポリシーは全てのEC2リソースに対して上記の3つのアクションを許可します。
    }
  ]
}

  • Add Statementを押下
  • Generate Policyを押下 > JSON形式でポリシーが生成されるのでコピーしてclose

IAMユーザとの紐付け

  • IAM > ユーザー > ユーザを追加 > ユーザ名(ポリシーとの紐付けを考慮した名前:test-dev) > AWSマネジメントコンソールへのアクセス > カスタムパスワード(メモをする) > パスワードのリセットが必要のチェックボックスを外す > 次のステップ:アクセス権限
  • 既存のポリシーを直接アタッチ > ポリシーのフィルター > ユーザによる管理 > 該当するポリシー名をチェック > 次のステップ:タグ > 次のステップ:確認 > ユーザの作成 > 閉じる

検証(インスタンスの停止)

  • ログアウト > 作成したIAMユーザでアクセス
  • EC2 > 実行中のインスタンス > runningを確認 > アクション > 停止する > 停止される

検証(インスタンスの作成)※できない事を確認

  • EC2 > インスタンスの作成 > サーバを選択 > 確認と作成 > 起動 > キーペアなしで続行 > チェックボックスをチェック > インスタンスの作成 > 作成失敗

IAMグループ(開発者用の独自のポリシーを作成)

グループ作成

  • IAMの権限があるユーザでサインイン > IAM > グループ > 新しいグループの作成
  • グループ名入力 > 次のステップ > ポリシーのアタッチ(作成したポリシー) > 次のステップ
  • グループの作成 > グループが作成される

IAMユーザー作成#2

  • IAM > ユーザー > ユーザーを追加 > ユーザー名 > AWSマネジメントコンソールへのアクセス > カスタムパスワード(メモをする) > パスワードのリセットが必要のチェックボックスを外す > 次のステップ:アクセス権限
  • ユーザをグループに追加 > チェックする(グループ) > 次のステップ:タグ > 次のステップ:確認 > ユーザーの作成 >

検証(インスタンスの開始)

  • #2のIAMユーザでログイン > EC2 > インスタンス > 実行中のインスタンス
  • アクション > 開始 > 開始はできる。

検証(インスタンスの作成)※できない事を確認

  • EC2 > インスタンスの作成 > サーバを選択 > 確認と作成 > 起動 > キーペアなしで続行 > チェックボックスをチェック > インスタンスの作成 > 作成失敗

参考

AWS Hands-on for Beginners ハンズオンはじめの一歩: AWS アカウントの作り方 & IAM 基本のキ | AWS Webinar

Discussion