Aws iam команда, Аутентифицировать / проверить пользователя с именем пользователя и паролем?

есть ли AWS IAM доступна команда, с помощью которой мы можем аутентифицировать или валидировать пользователя, передавая его / ее имя пользователя & комбинация паролей?

например: с помощью этой команды

aws iam get-user --user-name test@domain.com

это возвращается

{
"User": {
"UserId": "AIDAJR3****VOYB2***NE",
"Path": "/",
"UserName": "test@domain.com",
"Arn": "arn:aws:iam::349578444322:user/test@domain.com",
"CreateDate": "2015-12-07T15:46:20Z"}
}

что я хочу, я создал веб-приложение, где пользователь будет вводить свое имя пользователя AWS & пароль для входа в приложение. Итак, есть ли какая-либо команда или API для проверки / аутентификации пользователя?

2

Решение

В настоящее время я считаю, что это невозможно.

В: Существует ли API аутентификации для проверки входа пользователей?

Нет. Нет программного способа проверки пользовательских логинов.

https://aws.amazon.com/iam/faqs/#login_anchor

Консоль управления AWS является единственным приложением [+ Mobile Apps], которое принимает имя пользователя & комбинация паролей для доступа к ресурсам AWS. Все остальные маршруты включают роль IAM или пользователя IAM или STS для проверки подлинности для доступа к ресурсам AWS. вы не можете использовать AWS или полагаться на аутентификацию для своих пользовательских веб-приложений.

С учетом сказанного я могу придумать пару альтернатив, конечно же, не решение, которое вы или обходной путь.

  1. Войдите с помощью API Amazon.com http://login.amazon.com/manageApps

  2. Использование аутентификации Amazon Cognito с использованием разных провайдеров http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/

  3. Используйте Amazon Directory Services — управляемый Active Directory. Это больше похоже на Microsoft Active Directory как сервис, который вы можете использовать для обеспечения аутентификации для своего пользовательского веб-приложения, в то время как AWS заботится о работоспособности и исправности

5

Другие решения

Вы должны иметь возможность запускать IE или другой браузерный симулятор, например, selenium, для программного входа в систему. Пример сценария powershell для этого:

$account = "aws account name"$username = "username";
$password = "somepassword";
$Url = "https://$account"+ ".signin.aws.amazon.com/console";$ie = New-Object -com internetexplorer.application;
$ie.visible = $false;
$ie.navigate($loginUrl);
while ($ie.Busy -eq $true) { Start-Sleep -Seconds 3; }

#login
($ie.document.getElementsByName("account") | select -First 1).value = $account;
($ie.document.getElementsByName("username") |select -first 1).value = $username;
($ie.document.getElementsByName("password") |select -first 1).value = $password;
($ie.document.getElementsByClassName("css3button") |select -first 1).click();
while ($ie.Busy -eq $true) { Start-Sleep -Seconds 3; }

Пока этот код не будет сообщать нам, был ли вход успешным или нет, но вы можете создать проверку и пересмотреть страницу, чтобы получить информацию. Вы можете сделать то же самое с JS или C #

0