यह एक स्वच्छता जांच है क्योंकि मैंने समस्या हल कर ली है, लेकिन मुझे विश्वास नहीं है कि मैंने इसे स्मार्ट तरीके से किया है।एडब्ल्यूएस - उदाहरण के लिए पावरशेल का उपयोग कर आईएएम मानें
समस्या
मैं कुछ उदाहरणों कि एक IAM भूमिकाओं है कि उन्हें एक S3 बाल्टी का उपयोग करने की अनुमति देते हैं सौंपा गया है है। इसके बाद मुझे कुछ पावरशेल स्क्रिप्ट चलाने की ज़रूरत है जो कुछ ऑब्जेक्ट्स डाउनलोड करने के लिए उस एस 3 बाल्टी तक पहुंच जाएंगी।
समाधान
प्राप्त करने के लिए/साख सेट का उपयोग करने के लिए इस PowerShell समारोह मैं लिखा है:
function Set-MyInstanceProfileCredentials {
param(
[parameter()]
[string]
$StoredCredentialsName = "MyInstanceProfileCredentials"
)
$Uri = "http://169.254.169.254/latest/meta-data/iam/security-credentials/"
Write-Verbose "Retrieving instance profile from $($Uri)"
$Uri = "$Uri$(Invoke-RestMethod -Uri $Uri)"
Write-Verbose "Retrieving security credentials from $($Uri)"
$Response = Invoke-RestMethod -Uri $Uri
Set-AWSCredentials -AccessKey $Response.AccessKey -SecretKey $Response.SecretAccessKey -StoreAs $StoredCredentialsName
Get-AWSCredentials -StoredCredentials $StoredCredentialsName
}
फिर जब मैं एडब्ल्यूएस मॉड्यूल मैं बस से एक PowerShell cmdlet चलाने की आवश्यकता पहले इस समारोह को बुलाओ।
हालांकि मैं इस भावना को हिला नहीं सकता कि मुझे एडब्ल्यूएस पावरशेल मॉड्यूल से कुछ याद आया है जो पहले से ही मेरे लिए इसका ख्याल रख रहा है।