AWS實戰 - EC2權限控制的簡單總結

介紹

簡單總結EC2的文檔發現,對AWS EC2的權限進行控制,包含三層意思:第一是對使用EC2EC2相關的AWS服務的權限控制,好比建立、運行EC2或者使用EC2相關的AMI,建立VPC等相關操做的權限控制;第二EC2實例中運行的應用程序訪問AWS資源的權限控制,好比授予EC2中的應用程序相應權限以訪問S3資源;第三EC2中的操做系統的不一樣用戶對EC2的訪問控制。html


1.對EC2及相關服務的權限控制

這部分與以前的文章AWS實戰 - 利用IAM對S3作訪問控制中提到的對S3的訪問控制原理是同樣的,都是經過設定不一樣權限的IAM用戶來達到權限控制的效果。不一樣之處有兩點linux

  • S3除了可使用基於用戶的IAM策略,還可使用基於資源的ACL和儲存桶策略,而EC2則沒有基於資源的策略,只能使用IAM用戶策略;
  • EC2的權限控制更復雜,涉及到的資源更多;例如若是要授予某用戶啓動EC2實例的權限,還須要授予其使用AMI的權限,建立VPC的權限,建立密鑰對的權限等等,完整的權限策略json以下,能夠看到涉及到的resource較多:
{
   "Version": "2012-10-17",
   "Statement": [{
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:region::image/*",
        "arn:aws:ec2:region:account:instance/*",
        "arn:aws:ec2:region:account:volume/*",
        "arn:aws:ec2:region:account:key-pair/*",
        "arn:aws:ec2:region:account:security-group/*",
        "arn:aws:ec2:region:account:subnet/*",
        "arn:aws:ec2:region:account:network-interface/*"
      ]
    }
   ]
}

正是因爲EC2權限涉及較多資源,在AWS官方文檔中,列舉了十幾種不一樣狀況下的權限CASE,詳情參考使用AWS CLI或AWS SDK的策略示例用於Amazon EC2控制檯的策略示例json


2.對EC2中的應用程序的權限控制

若是EC2中的應用程序須要訪問AWS資源,咱們固然能夠將相關的用戶憑證儲存在EC2中供應用程序使用,但若是須要修改、調整用戶憑證,可能須要對每個實例、應用程序都作處理。更推薦的作法是將IAM角色附加給EC2實例,EC2中的應用程序從EC2元數據獲取該角色的臨時安全憑證,從而取得角色對應的權限。segmentfault

例如,一名開發人員在EC2實例上運行一個應用程序,該應用程序要求訪問名爲photosS3存儲桶。管理員建立Get-pics服務角色並將該角色附加到EC2實例。在該實例上運行應用程序時,應用程序可使用該角色的臨時憑證訪問photos。管理員沒必要向開發人員授予訪問照片存儲桶的權限,開發人員徹底沒必要共享或管理證書。具體步驟可參考使用IAM角色向在Amazon EC2實例上運行的應用程序授予權限安全


3.在Linux實例上管理用戶

通常來講,每一個linux EC2實例的默認用戶都是ec2-user,若是有須要也能夠增長,這部分與普通的linux系統增長用戶沒有區別,也與AWSIAM用戶沒有任何關聯,只是這裏的用戶只能經過密鑰的方式鏈接ec2,不能使用密碼,詳情參考在Linux實例上管理用戶帳戶ide

相關文章
相關標籤/搜索