- 03-5820-1777平日10:00〜18:00
- お問い合わせ
AwsではIAM(AWS Identity and Access Management )という機能でユーザ、グループ、ロール、ポリシー(権限)の作成、管理ができますが、今回はユーザへ特定のEC2への操作権限を与えて正常に機能するか確認していきます。
「PC01」、「PC02」という2つのEC2インスタンスを作成
以下のユーザを作成
root | IAMユーザでないAWSを使用する際、最初に登録するアカウント 全ての権限を持っている |
user01 | EC2の「PC01」への操作権限を持ったIAMユーザ |
user02 | EC2の「PC02」への操作権限を持ったIAMユーザ |
では各ユーザに付与するポリシー(権限)を作成します。
PC01へのアクセスポリシー作制
{
"Version": "2012-10-17",
"Statement": [
{ ①
"Sid": "001",
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{ ②
"Sid": "002",
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "arn:aws:ec2:ap-northeast-1:417059550204:instance/i-0efa545a66449cdb0"
}
]
}
大きく分けて権限を2つ設定しています。
①はEC2インスタンスのリスト表示、状態表示など表示を与える権限です。対象はEC2インスタンス全てを指定しています。この部分でリソースをPC01インスタンスなどに制限しようとすると、PC01含め全てのインスタンスが見えなくなってしまいます。
②はEC2インスタンスへの操作権限です。リソースにPC01のIDを指定しています。
PC01へのアクセスポリシー作制
こちらも同じよう記述し、インスタンスIDの部分だけ変更します。
{
"Version": "2012-10-17",
"Statement": [
{ ①
"Sid": "001",
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{ ②
"Sid": "002",
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "arn:aws:ec2:ap-northeast-1:417059550204:instance/i-0269c770898e3c8f0"
}
]
}
※この権限はEC2インスタンスへの操作権限であり、ログインの制限をするものではありません。
ログインはEC2作成の際に取得可能なキーでSSHアクセスや、Windowsであればリモートデスクトップアクセスが可能です。
IAMによるログイン制限はセッションマネージャという機能を使う必要があります。その機能については後日に記事にしたいと思います。
「user01」にPC01へのアクセスポリシー、「user02」にPC02へのアクセスポリシーを付与して、各ユーザでログインし動作を確かめてみましょう。
user01で検証
・EC2インスタンスリスト閲覧
2つのインスタンスが閲覧可能です。アラームの状態が赤色になっているのでCloudWatch使用権原を与えてないからですが、今回は使用してないので影響ありません。
・PC01インスタンス起動
起動アクションが正常に動作しました。
・PC02インスタンス起動
権限エラーが出て起動アクションが失敗しました。
user02で検証
・EC2インスタンスリスト閲覧
正常に表示されました。
・PC01インスタンス起動
権限エラーが出て起動アクションが失敗しました。
・PC02インスタンス起動
起動アクションが正常に動作しました。
この様に正常に権限が動作している事が確認出来ました。