這更像是一種完整性檢查,因爲我已經解決了這個問題,但我並不確信我已經做到了這一點。AWS - 假設在實例上使用PowerShell的IAM
的問題
我已分配的IAM的角色,使他們能夠訪問的S3存儲一些實例。然後我需要運行一些PowerShell腳本來訪問S3存儲桶以下載一些對象。
解決方案
要獲得/設置信用憑證,請我寫這個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
}
然後,當我需要從AWS模塊我只是運行PowerShell命令首先調用這個函數。
但是我無法擺脫這種感覺,我錯過了已經爲我照顧的AWS PowerShell模塊。