2017-10-13 155 views
0

我剛剛與EC2取得聯繫,並且遇到了IAM角色概念。這個問題是爲了澄清我對限制級別概念的懷疑。瞭解EC2上IAM角色的概念

可以說我有一個EC2實例與連接IAM角色Role A其中posses一個政策AmazonS3ReadOnlyAccess,糾正我,如果我錯了,但它意味着這種特定情況下僅允許執行S3只讀操作

現在說我創建了一個UserProgrammatic accessAmazonS3FullAccess政策。

如果這個用戶SSH進入EC2實例,他能寫文件到s3嗎?

我仍然無法嘗試一下我自己,因爲我沒有一臺Linux機器和仍然盤算如何連接到Ec2使用putty

+0

如果你想連接到EC2 linux機器http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html – sailesh

回答

2

可以說我有附帶IAM角色的EC2實例角色A 擁有一個策略AmazonS3ReadOnlyAccess,糾正我,如果我錯了,但 這意味着這個特定的實例只允許執行S3只讀 操作。

現在說我創建了一個用戶利用程序訪問和 AmazonS3FullAccess政策。如果這個用戶SSH進入EC2實例,可以 他寫文件到s3嗎?

IAM用戶無法使用IAM用戶憑證對EC2實例進行SSH連接。配置EC2實例後,您需要使用常規操作系統用戶結構來SSH連接到服務器(AWS創建的默認用戶密鑰)。

此外,如果用戶通過AWS CLI,REST API或SDK使用SSH到EC2實例並使用EC2用戶的Programatic Access憑證(不必是EC2實例,它也可以是您的本地服務器),那麼如果IAM用戶具有S3寫入策略,則CLI命令或API調用或使用SDK的代碼能夠將文件寫入S3。因此,在總結

  • 使用IAM角色,如果你正在運行一個EC2實例,爲你的CLI命令,代碼SDK或REST API調用來訪問AWS資源。
  • 如果您在本地或AWS外部使用服務器,請使用IAM用戶的Programatic Access密鑰來執行相同的操作。

洞察。當您將一個IAM角色的EC2實例如何IAM角色與EC2

  • 內部工作,AWS定期用時間訪問憑據到EC2實例更新EC2實例(這是一個良好的安全實踐)。
  • 這些憑據可以通過EC2實例內部使用SDK的CLI,REST API和代碼的元數據URL訪問。

注意:使用角色時,由於它使用臨時訪問憑證,所以它非常安全,與IAM用戶相比,程序化訪問使用長期存取憑證。

+0

那麼這意味着在這個用戶通過AWS CLI訪問'EC2'後'',儘管事實上這個用戶在這個特定的EC2實例上,只有讀取權限,AWS'將會更重視用戶的策略。「 –

+0

當您說」此用戶訪問「意味着EC2或IAM用戶中的OS用戶?注意:只有OS用戶SSH到EC2實例。當OS用戶通過SSH連接到EC2實例時,如果有一個Role連接到EC2實例,則所有CLI命令都使用該角色訪問S3等資源。所以對於這個操作,IAM用戶不是必需的(只有IAM角色就足夠了)。在最後查看答案摘要。 – Ashan

+0

我的方案是,我將首先使用OS用戶SSH到EC2實例併爲我創建的用戶配置用戶配置文件。 –