web-dev-qa-db-ja.com

AWS IAMアカウントにMFAを要求できますか?

アマゾンウェブサービスの特定の/すべてのIAMアカウントで多要素認証(MFA)を有効にする必要があるか?

パスワードの要件にはオプションがあり、自分のアカウントにパスワードを追加する方法を明確にすることはできますが、ユーザーにMFAを強制するオプションがあるかどうかは明確ではありません。

25
Joe

少し見回すと、答えは「種類」のようです。 IAMでは、管理者は別のIAMユーザーのMFAを構成できます。仮想MFAを設定している場合、これは少し難しいかもしれませんが、それは可能です。次に、ユーザーにMFAを更新/削除する権限が付与されていない場合は、事実上必要です。

拒否する必要がある(または単に許可しない)アクションの完全なリストはまだ決定していませんが、 この投稿 に情報があるようです。この回答をテストしたら更新します。

[更新]

ユーザーをパワーユーザーとして設定し(これにより、IAM機能へのアクセスを許可しないが、きめ細かく取得できると確信している)、MFAを実装することができた。この方法論を使用すると、無効にすることはできません。

9
Joe

答えは「はい」です。条件を使用する。たとえば、管理者アカウントの場合:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

APIを使用して、パスワード認証とトークンベースの認証の両方にMFAを適用します。

13
smad

はい。ウェブコンソールとawscliコマンドラインの両方で、IAMアカウントにMFAを要求できます。実際、awscliコマンドラインではMFAを必要とせず、WebコンソールでMFAを確実に要求することはできません。どちらも同じAPIにヒットするためです。複雑なIAMポリシーでは、WebコンソールにMFAを適用しながら、MFAなしで一部のawscli操作を許可できるため、「信頼できる」と言います。ただし、結果はいくぶん予測不可能であり、さらに、IAMキーは危険ではないにしても、保護されていません。私の推奨は、両方に必要であり、MFAが完全に禁忌である特別な用途のために、おそらく保護されていないキーを作成することです。自動化されたプロセスの場合、ロールは一般的に良い選択です。

コマンドラインでのMFA操作を簡単にするために、 一連のbashスクリプトと注意深く作成されたMFA実施ポリシーの例 を作成しました。セッション。これらはmacOSおよびLinuxバリアントで動作しますが、Windowsでは動作しない可能性があります(テストされていません)。

1
Ville

受け入れられた回答は、もはや有効なAFAICTではありません。 AWSは、次のチュートリアル記事でこれを行う方法を文書化しています。

https://docs.aws.Amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html

私は新しいAWSアカウントとチームのためにそれに従いました。

1
Gowie47

どうやらそうではありません。 IAMアカウントのMFAはオプションのようですが、信頼できる回答を得るためにAWSサポートフォーラムに投稿することをお勧めします。

0
Tom O'Connor

AWS APIマルチファクターの一般的な いくつかの考慮事項 を、カスタムツールのドキュメント( https://github.com/kreuzwerker/awsu )TOTPトークンのソースとしてYubikeysを使用するために開発しました。これにより、ロールと長期資格情報+セッショントークンの操作が非常に簡単になります。

0
yawn