2016-01-05 159 views
2

有任何AWS IAM命令可以通過它,我們可以通過傳遞他/她的用戶名&密碼組合進行身份驗證或驗證用戶?Aws iam命令,使用用戶名和密碼驗證/驗證用戶?

如:使用此命令

aws iam get-user --user-name [email protected] 

返回

{ 
    "User": { 
     "UserId": "AIDAJR3****VOYB2***NE", 
     "Path": "/", 
     "UserName": "[email protected]", 
     "Arn": "arn:aws:iam::349578444322:user/[email protected]", 
     "CreateDate": "2015-12-07T15:46:20Z" 
    } 
} 

我想要什麼,我創建了一個Web應用程序,其中用戶的登錄進入他/她的AWS用戶名&密碼的APP,那麼,是否有任何命令或API可用於驗證/驗證用戶?

回答

5

目前,我認爲這是不可能的。

問:是否有認證API來驗證用戶登錄?

號有驗證用戶登錄任何編程方法。

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

AWS管理控制檯是唯一的應用[+移動應用],其接受用戶名&密碼組合,以提供到AWS資源的訪問。所有其他路由都涉及IAM角色或IAM用戶或STS,以便通過身份驗證來訪問AWS資源 - 您無法利用AWS的或AWS依靠您的自定義Web應用程序的身份驗證。

就這樣說,我可以想到幾種替代方案,當然不是您或解決方案的解決方案。

  1. 登錄在使用Amazon.com API http://login.amazon.com/manageApps

  2. 使用Amazon Cognito身份驗證使用不同的供應商http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/

  3. 。利用亞馬遜的目錄服務 - 管理Active Directory中。它更像是一個Microsoft Active Directory作爲一個服務,你可以利用爲您定製的Web應用程序提供身份驗證,而正常運行時間和運行狀況由AWS

    照顧
+0

我已經添加了一個鏈接到文檔,確認你的答案,這是不可能的。一段時間的反思表明,這樣的API,如果存在的話,將是一個可怕的想法,無論如何,因爲請求驗證的系統將以明文形式擁有密碼。 –

+1

@ Michael-sqlbot:的確,我當然同意這將是一個可怕的想法。謝謝你提高答案 –

+0

NaveenVijay&Michael謝謝你的回答。 – Qazi

0

你應該能夠運行IE或其他瀏覽器模擬器硒等以編程方式登錄的樣本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#