アマゾンウェブサービスの特定の/すべてのIAMアカウントで多要素認証(MFA)を有効にする必要があるか?
パスワードの要件にはオプションがあり、自分のアカウントにパスワードを追加する方法を明確にすることはできますが、ユーザーにMFAを強制するオプションがあるかどうかは明確ではありません。
少し見回すと、答えは「種類」のようです。 IAMでは、管理者は別のIAMユーザーのMFAを構成できます。仮想MFAを設定している場合、これは少し難しいかもしれませんが、それは可能です。次に、ユーザーにMFAを更新/削除する権限が付与されていない場合は、事実上必要です。
拒否する必要がある(または単に許可しない)アクションの完全なリストはまだ決定していませんが、 この投稿 に情報があるようです。この回答をテストしたら更新します。
[更新]
ユーザーをパワーユーザーとして設定し(これにより、IAM機能へのアクセスを許可しないが、きめ細かく取得できると確信している)、MFAを実装することができた。この方法論を使用すると、無効にすることはできません。
答えは「はい」です。条件を使用する。たとえば、管理者アカウントの場合:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*",
"Condition":
{
"Null":{"aws:MultiFactorAuthAge":"false"}
}
}
]
}
APIを使用して、パスワード認証とトークンベースの認証の両方にMFAを適用します。
はい。ウェブコンソールとawscli
コマンドラインの両方で、IAMアカウントにMFAを要求できます。実際、awscli
コマンドラインではMFAを必要とせず、WebコンソールでMFAを確実に要求することはできません。どちらも同じAPIにヒットするためです。複雑なIAMポリシーでは、WebコンソールにMFAを適用しながら、MFAなしで一部のawscli
操作を許可できるため、「信頼できる」と言います。ただし、結果はいくぶん予測不可能であり、さらに、IAMキーは危険ではないにしても、保護されていません。私の推奨は、両方に必要であり、MFAが完全に禁忌である特別な用途のために、おそらく保護されていないキーを作成することです。自動化されたプロセスの場合、ロールは一般的に良い選択です。
コマンドラインでのMFA操作を簡単にするために、 一連のbashスクリプトと注意深く作成されたMFA実施ポリシーの例 を作成しました。セッション。これらはmacOSおよびLinuxバリアントで動作しますが、Windowsでは動作しない可能性があります(テストされていません)。
受け入れられた回答は、もはや有効なAFAICTではありません。 AWSは、次のチュートリアル記事でこれを行う方法を文書化しています。
https://docs.aws.Amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html
私は新しいAWSアカウントとチームのためにそれに従いました。
どうやらそうではありません。 IAMアカウントのMFAはオプションのようですが、信頼できる回答を得るためにAWSサポートフォーラムに投稿することをお勧めします。
AWS APIマルチファクターの一般的な いくつかの考慮事項 を、カスタムツールのドキュメント( https://github.com/kreuzwerker/awsu )TOTPトークンのソースとしてYubikeysを使用するために開発しました。これにより、ロールと長期資格情報+セッショントークンの操作が非常に簡単になります。