TOP>コラム一覧>IAMで複数の多要素認証(MFA)デバイスが割当できるようになったことで、必要になったMFAデバイスの自己管理

IAMで複数の多要素認証(MFA)デバイスが割当できるように
なったことで、必要になったMFAデバイスの自己管理

はじめに

今までは、IAMユーザに1つのMFAデバイスを割り当てして利用していましたが、2022年11月16日に機能Updateで複数のMFAデバイスを割り当てることができるようになりました。
https://aws.amazon.com/jp/about-aws/whats-new/2022/11/aws-identity-access-management-multi-factor-authentication-devices/

しかし、MFAデバイスの自己管理するIAMポリシーを適用されている方が多いのではないでしょうか?
AWS ドキュメント「IAM: IAM ユーザーに MFA デバイスの自己管理を許可する」に記載されたIAM ポリシーと相性が悪くこのままでは利用できないので運用観点を交えて話したいと思います。

設定で変わったところ

MFAデバイスの登録で「名前」の入力が必須になりました。
この名前の登録が必須になったことで、別の困りごとが発生します。

困りごと①:AWS ドキュメント「IAM: IAM ユーザーに MFA デバイスの自己管理を許可する」に記載されたIAM ポリシーと相性が悪い

MFAデバイスの登録で入力する「名前」はMFAのSerialNmuberで利用され、作成されるリソースは、"arn:aws:iam::*:mfa/{名前}"になります。
結果、以下のアクションとリソースで指定から、IAMユーザ名と同じ値で名前に入力する必要があります。
(iam:CreateVirtualMFADeviceアクションで、リソースで指定した"arn:aws:iam::*:mfa/${aws:username}")

AWS ドキュメント「IAM: IAM ユーザーに MFA デバイスの自己管理を許可する」に掲載されたIAMポリシー
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html


  {
    "Sid": "AllowIndividualUserToManageTheirOwnMFA",
    "Effect": "Allow",
    "Action": [
        "iam:CreateVirtualMFADevice",
        "iam:DeleteVirtualMFADevice",
        "iam:ListMFADevices",
        "iam:EnableMFADevice",
        "iam:ResyncMFADevice"
    ],
    "Resource": [
        "arn:aws:iam::*:mfa/${aws:username}",   ← IAMユーザ名と異なると拒否されます
        "arn:aws:iam::*:user/${aws:username}"
    ]
  },
        

また、以下のポリシーを追加することで登録の回避は可能ですが、任意の名前で定義した仮想 MFA デバイスエンティティが残り続けて、困りごと②に抵触します。


  {
    "Sid": "AllowIndividualUserToManageTheirOwnMFA",
    "Effect": "Allow",
    "Action": [
        "iam:CreateVirtualMFADevice",
    ],
    "Resource": [
        "arn:aws:iam::*:mfa/*"
    ]
  },
        

困りごと②:MFAデバイスの登録で「名前」は、AWSアカウント内で重複が許されない

例えば、IAMユーザAで、設定したMFA名を、IAMユーザBで同じ名前で設定ができません。
更に、GUIで利用されているMFA名を把握することは出来ません。
把握するには、AWS CLIで、仮想 MFA デバイスエンティティを一覧表示する”aws iam list-virtual-mfa-devices”で確認する必要があります。

また、関連付けを解除した仮想 MFA デバイスエンティティはGUIで確認ができないため、AWS CLIより関連付けされていないエンティティをAWS CLI ”aws iam delete-virtual-mfa-device --serial-number <value>”で削除する必要があります。

まとめ

2022年11月16日に機能Updateで複数のMFAデバイスを割り当てる機能は、デバイスが故障した際の回避と、RootアカウントでMFA登録且つ複数人で共用する際に活用が出来る機能です。
IAMユーザの利用のおいて、デバイス故障の回避だけであれば本機能に頼らず、MFA登録時に複数のスマフォアプリ「Google Authenticator」の利用や仮想MFAソフト「WinAuth」との併用で同時に設定した方がIAMポリシーに手を加えずMFA登録の運用手順を更改する方が手間が少なくてよいと思います。

CTCは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。

お問い合わせ

【著者プロフィール】

坂 和久(ばん かずひさ)

伊藤忠テクノソリューションズ株式会社 クラウドアーキテクト

オンプレミスの設計業務から構築業務に従事。現在はオンプレミス時代の経験を活用し、エンタープライズ向けのAWSプリセールス並びにAWS案件全般でお客様を支援するアーキテクトとして活躍中。

坂 和久(ばん かずひさ)

TOP>コラム一覧>IAMで複数の多要素認証(MFA)デバイスが割当できるようになったことで、必要になったMFAデバイスの自己管理

pagetop