AWS WebコンソールへのアクセスにMFAを強制します。しかし、私はまた、いくつかのawsアクションがMFAコードの入力を求められるようにしたい。特定のAWS CliアクションでのMFAコードの入力
aws iam delete-users --user-name theusername
Enter MFA: *********
これは可能ですか?
AWS WebコンソールへのアクセスにMFAを強制します。しかし、私はまた、いくつかのawsアクションがMFAコードの入力を求められるようにしたい。特定のAWS CliアクションでのMFAコードの入力
aws iam delete-users --user-name theusername
Enter MFA: *********
これは可能ですか?
関連するAPIアクションにMFA条件を追加できる必要があります。たとえば、ベアラがEC2アクションを自由に呼び出せるようにするIAMポリシーは、StopInstancesまたはTerminateInstancesを呼び出すときにMFAが必要です。
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["ec2:*"],
"Resource": ["*"]
},{
"Effect": "Deny",
"Action": ["ec2:StopInstances", "ec2:TerminateInstances"],
"Resource": ["*"],
"Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": false}}
}]
}
さらに詳しい例については、hereを参照してください。
正確な使用例はできません。ただし、必要な権限を与えることができます。 IAMロールへのStopInstancesとロールif and only if the user uses MFAを引き受けるだけのIAMユーザーのアクセス許可を与えます。ロールの信頼ポリシーには、以下のようになります:
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole",
"Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }
}
}
コンソールを使用している間、IAMユーザーは資格情報とMFAトークンでログインし、インスタンスを停止する役割を担うことができるようになりますので。
named profiles with "mfa_serial"変数を使用して、名前付きプロファイルパラメータを使用してインスタンスを停止しようとすると、CLIはMFAコードを要求します(返された資格情報はCLIにキャッシュされます)。
また、GetSessionTokenを呼び出してMFAトークンを渡す必要があるため、jarmodが提供する提案を使用してカスタムスクリプトを使用できます。サンプルのPythonとC#のスクリプトhereがあります。