■AWS CloudShell専用のIAMユーザを作ってみる。 AWS アカウントでの IAM ユーザーの作成 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_users_create.html ■変更箇所以外はデフォルトのまま、コンソールから作成 ユーザ名:labunix-cloudshell ●AWS マネジメントコンソールへのアクセス 既存のポリシーを直接アタッチ ●AWSCloudShellFullAccess タグの追加 (オプション) キー:Project 値 :cloudshell ■ログインして確認してみる。 https://[アカウント ID (12 桁)].signin.aws.amazon.com/console $ aws s3 mb s3://labunix-sample make_bucket failed: s3://labunix-sample An error occurred (AccessDenied) when calling the CreateBucket operation: Access Denied ■labunix-cloudshellアカウントにはIAMの閲覧権限も無いので権限のあるユーザで取得。 https://aws.amazon.com/cloudshell/ $ aws s3 mb s3://labunix-sample make_bucket: labunix-sample $ aws s3 ls s3://labunix-sample $ aws s3 rb s3://labunix-sample remove_bucket: labunix-sample $ aws s3 ls s3://labunix-sample An error occurred (NoSuchBucket) when calling the ListObjectsV2 operation: The specified bucket does not exist $ aws iam get-policy --policy-arn arn:aws:iam::aws:policy/AWSCloudShellFullAccess { "Policy": { "PolicyName": "AWSCloudShellFullAccess", "PolicyId": "ANPAZKAPJZG4HEDUXFSA3", "Arn": "arn:aws:iam::aws:policy/AWSCloudShellFullAccess", "Path": "/", "DefaultVersionId": "v1", "AttachmentCount": 1, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "Description": "Grants using AWS CloudShell with all features", "CreateDate": "2020-12-15T18:07:44+00:00", "UpdateDate": "2020-12-15T18:07:44+00:00" } } ■マネージメントコンソールからcsvを取得。 Identity and Access Management (IAM) > アクセスレポート > 認証情報レポート 「レポートのダウンロード」でダウンロード。 ■先に最初の行とユーザ名で一致する行だけ行列を入れ替えて表示。 とりあえず、MFAは有効にした方が良さそう。 $ awk -F, -v target="labunix-cloudshell" \ '{if(NR==1 || $0 ~ target){for(a=1;a<=NF;a++){b[a]=b[a]" = "$a}}}END{for(n in b){print n,b[n]}}' \ ダウンロード/status_reports_2020-12-20T15-12-27+00-00.csv 1 user = labunix-cloudshell 2 arn = arn:aws:iam::XXXXXXXXXXXX:user/labunix-cloudshell 3 user_creation_time = 2020-12-20T14:45:05+00:00 4 password_enabled = true 5 password_last_used = 2020-12-20T15:00:17+00:00 6 password_last_changed = 2020-12-20T15:00:05+00:00 7 password_next_rotation = N/A 8 mfa_active = false 9 access_key_1_active = false 10 access_key_1_last_rotated = N/A 11 access_key_1_last_used_date = N/A 12 access_key_1_last_used_region = N/A 13 access_key_1_last_used_service = N/A 14 access_key_2_active = false 15 access_key_2_last_rotated = N/A 16 access_key_2_last_used_date = N/A 17 access_key_2_last_used_region = N/A 18 access_key_2_last_used_service = N/A 19 cert_1_active = false 20 cert_1_last_rotated = N/A 21 cert_2_active = false 22 cert_2_last_rotated = N/A ■全ユーザを対象に行列を入れ替えて表示するなら、「;」区切りに変えて以下のようにする。 $ awk -F, '{for(a=1;a<=NF;a++){b[a]=b[a]";"$a}}END{for(n in b){print n,b[n]}}' \ ダウンロード/status_reports_2020-12-20T15-12-27+00-00.csv