本記事は、これからAWS上に各種サービスを作成するために必要なIAMをセットアップしていきます。
本記事を通して学べるスキル
- IAMユーザー、ポリシー、ロールをAWSマネジメントコンソールから作成する方法
- スイッチロールのやり方
前提
- AWSアカウントを作成していること。
問題
要件を満たす、IAMポリシーを作成してください。
設定するポリシーは以下になります。
このポリシーでは、MFAデバイスの管理(MFA認証していない場合でも)することしか許可していません。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/*"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:GetUser",
"iam:GetMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "DenyAllExceptListedIfNoMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:GetUser",
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"sts:GetSessionToken",
"iam:GetAccountPasswordPolicy",
"iam:ChangePassword"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
要件を満たす、IAMロールを作成してください。
要件を満たす、IAMユーザーを作成してください。
作成したIAMユーザーの詳細設定を行ってください。
作成したIAMユーザーでAWSマネジメントコンソールにログインして、設定を行ってください。
解答
(解答)要件を満たす、IAMポリシーを作成してください。
(解答)要件を満たす、IAMロールを作成してください。
それでは、IAMロールを作成していきます。
AWSアカウントは、「このアカウント」を選択します。
今回は、同じAWSアカウント内に作成されたIAMユーザーがスイッチロールを行います。
AWS管理ポリシーである「PowerUserAccess」ポリシーをアタッチします。
IAM関連は読み取りしかできませんが、それ以外にはフルアクセスが許可されるとても強い権限になります。
お疲れ様でした。これでIAMロールの作成が完了です。
(解答)要件を満たす、IAMユーザーを作成してください。
次はIAMユーザーを作成していきます。
AWSマネジメントコンソールにアクセスできるIAMユーザーを作成する。
前提で作成した「MfaOwnManage」ポリシーをアタッチします。
サインURL、ユーザー名、コンソールパスワードが記載されたCSVファイルをダウンロードして、保管して下さい。
この一度切りしかダウンロードすることができないので、忘れずにダウンロードしてください。
次は、アクセスキーを作成します。
アクセスキーはCDKでAWSサービスを構築するときに利用します。
アクセスキー、シークレットアクセスキーが記載されたCSVファイルをダウンロードして、保管してください。
IAMユーザーの時と同様にこの1度切りしかダウンロードすることができないので、気を付けて下さい。
(解答)作成したIAMユーザーの詳細設定を行ってください。
それでは、作成したIAMユーザーで以下の作業を行っていきます。
- 初期パスワードの変更
- MFAデバイスの設定
MFAデバイスはGoogle Authenticatorなどを使って、画面に従って設定してください。
(解答)作成したIAMユーザーでAWSマネジメントコンソールにログインして、設定を行ってください。
前の作業で、MFAデバイスを設定してたため、サインアウトし、再度ログインしてください。
前の問題で作成した「CdkDeveloper」ロールをにスイッチするため、
これで、「CdkDeveloper」ロールの付与された権限で様々な作業を実施することができます。
IAMユーザーには、ほぼ権限を与えていなかったため、スイッチロールすることで閲覧できる内容が変わっていることが実感できると思います。
おわりに
お疲れ様でした。以上で、本記事は終了となります。
他にも問題を用意していくので是非ご覧ください。