5

Đây là kiểm tra an toàn hơn bởi vì tôi đã giải quyết được vấn đề nhưng tôi không thuyết phục tôi đã thực hiện nó một cách thông minh.AWS - Giả sử IAM sử dụng PowerShell trên một cá thể

Vấn đề

Tôi có một số trường hợp đã được giao một vai trò IAM cho phép họ truy cập vào một xô S3. Sau đó, tôi cần chạy một số tập lệnh PowerShell sẽ truy cập vào thùng S3 để tải xuống một số đối tượng.

Giải pháp

Để có được/thiết lập các thông tin quan trọng để sử dụng tôi đã viết chức năng PowerShell này:

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 
} 

Sau đó, khi tôi cần phải chạy một lệnh PowerShell từ các module AWS Tôi chỉ gọi hàm này trước.

Tuy nhiên tôi không thể lắc cảm giác rằng tôi đã bỏ lỡ một thứ gì đó từ mô-đun AWS PowerShell đã và đang xử lý việc này cho tôi.

Trả lời

3

Tuy nhiên tôi không thể lắc cảm giác rằng tôi đã bỏ lỡ điều gì đó từ mô-đun AWS PowerShell đã và đang xử lý vấn đề này cho tôi.

:) - bạn sẽ rất vui mừng khi biết rằng đây chỉ đơn giản là làm việc ra khỏi hộp thực sự, tức là AWS Tools for Windows PowerShell được xây dựng dựa trên các AWS SDK for .NET, đó là xử lý này sẽ tự động, xem thêm Credentials Search Order:

Khi bạn chạy lệnh, Công cụ PowerShell tìm kiếm thông tin đăng nhập theo thứ tự sau và sử dụng tập hợp có sẵn đầu tiên.

[...]

6) Nếu bạn đang sử dụng chạy lệnh trên một thể hiện Amazon EC2 được cấu hình cho một vai trò quan IAM, sử dụng EC2 thông tin dụ lưu trữ trong một hồ sơ cá nhân chẳng hạn.

Để biết thêm thông tin về cách sử dụng vai trò IAM cho Amazon EC2 Instances, hãy truy cập AWS Developer Guide for .NET.

Các vấn đề liên quan