インターンシップなどで、外部向けに一時的なAWS操作権限を有したユーザーを共有したい!

利用目的

インターンシップの参加学生向けに、AWS操作実習を行うにあたり、余計な操作ができない権限が割り当てられたユーザーを発行したい。

プロンプト

AWSのIAMユーザーグループを作成し、一定の操作のみしか行えないユーザーを作成、グループに追加していく予定です。

以下に、該当ユーザーが実施想定の操作を列挙するので、適切なポリシーを提示してください。

・EC2インスタンス作成
 ⇒VPCは既存のものを利用
  キーペアは既存のものを利用
  セキュリティグループは既存のものを利用

・EC2のリストを表示する

・EIP割り当て、EC2関連付け

・EC2 Instance Connectを使ってEC2に接続する

・EIPの解放

・EC2の削除

プロンプトのポイント

提示されるポリシーを軽く確認した後は、実際に設定してみて、問題がある部分を直していく。

達成された成果

以下のポリシーが生成された。
過不足ないように思われたが、これを設定して実習内容をなぞってみた結果、以下のポリシーが足りないことがわかった。
– ec2:DescribeAddresses
– ec2:DisassociateAddress
他にもエラーがでて見栄えが悪くなるようなポリシーも適宜追加したが、トータルとしてスピーディーに構築することができた。

▼生成されたポリシー
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“ec2:RunInstances”,
“ec2:DescribeInstances”,
“ec2:DescribeInstanceStatus”,
“ec2:DescribeImages”,
“ec2:DescribeKeyPairs”,
“ec2:DescribeSecurityGroups”,
“ec2:DescribeSubnets”,
“ec2:DescribeVpcs”,
“ec2:DescribeInstanceTypes”,
“ec2:CreateTags”
],
“Resource”: “
},
{
“Effect”: “Allow”,
“Action”: [
“ec2:AllocateAddress”,
“ec2:AssociateAddress”,
“ec2:ReleaseAddress”,
“ec2:DisassociateAddress”
],
“Resource”: “

},
{
“Effect”: “Allow”,
“Action”: [
“ec2:TerminateInstances”
],
“Resource”: “
},
{
“Effect”: “Allow”,
“Action”: [
“ec2-instance-connect:SendSSHPublicKey”
],
“Resource”: “arn:aws:ec2:
::instance/
},
{
“Effect”: “Allow”,
“Action”: [
“ssm:GetParameters”
],
“Resource”: “*”
}
]
}

▼最終的なポリシー
▼最終的なポリシー
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“ec2:RunInstances”,
“ec2:DescribeInstances”,
“ec2:DescribeInstanceStatus”,
“ec2:DescribeImages”,
“ec2:DescribeVolumes”,
“ec2:DescribeKeyPairs”,
“ec2:DescribeSecurityGroups”,
“ec2:DescribeSubnets”,
“ec2:DescribeVpcs”,
“ec2:describeNetworkInterfaces”,
“ec2:describeNatGateways”,
“ec2:DescribeRouteTables”,
“ec2:DescribeInstanceTypes”,
“ec2:DescribeSecurityGroupRules”,
“ec2:DescribeAvailabilityZones”,
“ec2:DescribeInstanceAttribute”,
“ec2:CreateTags”,
“ec2:DeleteTags”,
“ec2:DescribeTags”
],
“Resource”: “
},
{
“Effect”: “Allow”,
“Action”: [
“ec2:AllocateAddress”,
“ec2:DescribeAddresses”,
“ec2:AssociateAddress”,
“ec2:DisassociateAddress”,
“ec2:ReleaseAddress”
],
“Resource”: “

},
{
“Effect”: “Allow”,
“Action”: [
“ec2:TerminateInstances”
],
“Resource”: “
},
{
“Effect”: “Allow”,
“Action”: [
“ec2-instance-connect:SendSSHPublicKey”
],
“Resource”: “arn:aws:ec2:
::instance/
},
{
“Effect”: “Allow”,
“Action”: [
“ssm:GetParameters”
],
“Resource”: “*”
}
]
}

使用上のヒントやアドバイス

AIは実際に操作して作ってくれるわけではないので、最初で完全なものが出てくるとは考えず、問題が出たら直したり質問する姿勢で臨む。

レビューを書く
1
2
3
4
5
送信
     
キャンセル

レビューを書いてみましょう

AIアセットラボ
Average rating:  
 0 reviews