का उपयोग कर एडब्ल्यूएस प्रबंधन कंसोल में साइन इन करने के लिए अस्थायी प्रमाण-पत्र जारी करना मैं मौजूदा उपयोगकर्ताओं को अस्थायी प्रमाण-पत्र जारी करना चाहता हूं, ताकि उन्हें इन अस्थायी रूप से बनाए गए यूआरएल प्रदान करके एडब्ल्यूएस प्रबंधन कंसोल तक पहुंचने की अनुमति मिल सके। साख।AssumeRole, मौजूदा नीतियों और अद्वितीय यूआरएल
मैं एडब्ल्यूएस प्रलेखन के माध्यम से दिया एक प्रश्न के लिखित उदाहरण के साथ अनुसरण कर रही हूं: Example Code Using IAM Query APIs
मैं निम्नलिखित कोड है, जब क्रियान्वित जो यह नहीं है कि किसी भी त्रुटि दे लिखा है, और जो की अनुमति चाहिए, एक सत्र टोकन वापस जाने के लिए प्रतीत होता है मुझे तो ठीक से प्रवेश करने के लिए एक यूआरएल के रूप में
यहाँ सत्र टोकन और बाद में यूआरएल वापस जाने के लिए कोड है:।
$accessKeyId = 'accesskeyId'
$secretAccessKey = 'secretaccessKey'
$region = 'us-east-1'
Set-AWSCredentials -AccessKey $accessKeyId -SecretKey $secretAccessKey
$role = Use-STSRole -RoleSessionName "testSTS" -RoleArn "arn:aws:iam::1234567890:role/adminAccess" -DurationInSeconds 900
$jsonSession = @"
{
"sessionId": $([string]::Format("{0}", $role.Credentials.AccessKeyId)),
"sessionKey": $([string]::Format("{0}", $role.Credentials.SecretAccessKey)),
"sessionToken": $([string]::Format("{0}", $role.Credentials.SessionToken))
}
"@
Add-Type -AssemblyName System.Web
$Encode = [System.Web.HttpUtility]::UrlEncode($jsonSession)
$url = $([string]::Format("https://signin.aws.amazon.com/federation?Action=getSigninToken&Session={0}", $Encode))
$payload = Invoke-WebRequest -Uri $url | ConvertFrom-Json
$issuer = [System.Web.HttpUtility]::UrlEncode("https://1234567890.signin.aws.amazon.com")
$destination = [System.Web.HttpUtility]::UrlEncode("https://console.aws.amazon.com")
$signintoken = [System.Web.HttpUtility]::UrlEncode($payload.SigninToken)
$signInUrl = $([string]::Format("https://signin.aws.amazon.com/federation?Action=login&Issuer={0}&Destination={1}&SigninToken={2}", $issuer, $destination, $signintoken))
write-host $signInUrl
दुर्भाग्य से जब मैं वेब ब्राउज़र में यूआरऍल मैं followi मिल एनजी त्रुटि "अमेज़ॅन वेब सेवा साइन इन: आपके लॉगिन लिंक में प्रमाण-पत्र अमान्य थे। अपने व्यवस्थापक से संपर्क करें "
यह वही यूआरएल मेरे लिए लौट आए, की तरह दिखता है स्पष्ट रूप से मैं ACCOUNTID और सुरक्षा कारणों के लिए वास्तविक सत्र टोकन बदल गया है है:।
इसके अतिरिक्त मुझे नीचे दिए गए कोड में दिखाए गए एपीआई कमांड को जारी करने के लिए उनका उपयोग करते समय क्रेडेंशियल्स और सत्रटोकन का उपयोग करना प्रतीत होता है:
$accessKeyId = 'accesskeyId'
$secretAccessKey = 'secretAccessKey'
$region = 'us-east-1'
Set-AWSCredentials -AccessKey $accessKeyId -SecretKey $secretAccessKey
$role = Use-STSRole -RoleSessionName "testSTS" -RoleArn "arn:aws:iam::1234567890:role/adminAccess" -DurationInSeconds 900
$newAccessKeyId = $role.Credentials.AccessKeyId
$newSecretKey = $role.Credentials.SecretAccessKey
$newSessionToken = $role.Credentials.SessionToken
Set-AWSCredentials -AccessKey $newAccessKeyId -SecretKey $newSecretKey -SessionToken $newSessionToken
$secgroups = Get-EC2SecurityGroup
अपडेटेडः मैंने "जारीकर्ता" पैरामीटर को हटाने का प्रयास किया जैसा कि नीचे सूचीबद्ध आलेख को वैकल्पिक के रूप में सूचीबद्ध किया गया है। मैंने sessiontoken का अनुरोध करने के लिए मूल यूआरएल में "सत्र टाइप" जोड़ने का भी प्रयास किया, और साइनइन यूआरएल अभी भी एक ही त्रुटि के साथ विफल रहता है।
आप इस एडब्ल्यूएस मंच पोस्ट पर एक नज़र लेने के लिए चाहते हो सकता है: https://forums.aws.amazon.com/thread.jspa?messageID=475106 –
प्रतिक्रिया के लिए धन्यवाद .. यही कारण है कि लेख फ़ेडरेटेड टोकन है , और मैं AssumeRole का उपयोग करने के लिए देख रहा हूँ। हालांकि, इसने उल्लेख किया कि "जारीकर्ता" पैरामीटर वैकल्पिक है, और मूल सत्र टोकन अनुरोध के लिए इसमें "सत्र प्रकार" पैरामीटर भी था। मैंने इन दोनों की कोशिश की और यह अभी भी एक ही त्रुटि के साथ विफल रहा। = / –