AWS Security Token Service

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn

【 Domain 2-新解決方案設計】——-AWS Security Token Service

Hello大家好,歡迎來到《AWS解決方案架構師認證 Professional(SAP)中文視頻培訓課程》,我們今天的視頻課程內容是AWS STS。

STS是IAM角色、聯合身份驗證的基礎,在AWS SAP考試中也會經常遇到AWS STS場景的題目。

我們開始今天的視頻課程:

在這裏插入圖片描述
我們在之前的課程已經討論了IAM角色是如何工作的,我們來複習下。

當前有一個EC2實例和一個S3存儲桶,這個S3存儲桶代表衆多AWS資源之一。EC2想要訪問這個AWS資源,有兩種方式可以做到。

第一種方式是在EC2中通過aws configure命令配置AWS訪問密鑰和私有訪問密鑰後訪問資源;

第二種方式是附加IAM角色到EC2實例,然後附加IAM角色策略讓我們的EC2能夠訪問AWS資源。

本節課後面的內容我們主要討論第二種—通過IAM角色的方式。

通過附加IAM角色訪問AWS資源

我們已經創建一個IAM角色,並在這個IAM角色附加了1個策略—S3 ReadOlny,當爲IAM角色附加策略後, 我們已將IAM角色附加到EC2實例,這樣EC2實例就可以只讀訪問S3存儲桶了。

接下來我們在更深入討論前,先對上述部分做個演示。

在這裏插入圖片描述
我們登陸aws管理控制檯,在首爾區域運行着一臺ec2實例iloveawscn,這臺實例已經附加了一個iam角色,角色名爲S3ReadOnly,我們進入到IAM,看一下這個角色附加的策略,目前有一個策略附加到了該角色,爲AmazonS3ReadOnlyAccess策略。

因爲目前該IAM角色已經附加到了EC2實例,所以這臺EC2實例可以繼承該IAM角色的S3 ReadOnly策略。
在這裏插入圖片描述

讓我們快速登錄到該EC2實例,切換到root,然後執行aws s3 ls命令,可以看到我們有列出S3存儲桶的權限,因爲該實例附加了角色,而這個角色有S3ReadOnly權限,所以我們可以直接通過EC2只讀訪問S3存儲桶。

以上我們複習了IAM角色的工作方式。

通過metadata檢索IAM角色臨時安全憑證

我們繼續,大家還記得ec2 實例的metadata的知識點吧,我們在這個EC2實例上執行下:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/S3ReadOnly/

看一下命令以及返回結果。通過curl命令,獲得實例元數據條目 iam/security-credentials/S3ReadOnly ,這裏的S3ReadOnly就是我們之前附加在這個ec2的IAM角色名稱,最終命令檢索角色S3ReadOnly提供的安全證書。

我們在看下命令的返回內容,這個命令主要返回三個信息,accessKeyId、SecretAccessKey以及會話Token,還有過期時間,表明以上臨時安全憑證在過期時間之後將會失效,我們這臺EC2實例,就是使用以上臨時安全憑證獲得S3的只讀訪問權限的。

我們也可以將這些安全憑證拷貝到自己本地的電腦,然後在本地電腦通過這個臨時安全憑證也可以獲得同這個實例一樣的只讀訪問s3存儲桶權限。我們在後面的課程將演示其是如何工作的。

在這裏插入圖片描述

我們回到PPT,有一點需要注意的是,我們在這個EC2的meta data中獲取accessKeyId、SecretAccessKey以及會話Token臨時安全憑證,並不是IAM角色生成的,它們是AWS STS服務生成的,STS是負責提供上述這些臨時安全憑證的服務。IAM角色與STS服務之間會建立信任關係,通過STS服務獲得這些憑證。

在這裏插入圖片描述
我們來看下,進入到IAM-角色,S3ReadOnly角色,會看到有一個信任關係選項卡,我們點擊編輯信任關係看下策略內容:

Principal委託人指定了一個service,ec2.amazonaws.com這個service;
action是sts:assumeRole,整個策略的意思爲允許ec2.amazonaws.com服務執行sts:assumerole來獲取臨時安全憑證。

sts:assumerole這個動作非常關鍵,如果我們將這部分內容去掉,那麼將無法生成訪問密鑰等安全憑證,ec2也將無法訪問s3存儲桶。

好的,我希望通過上面的介紹,同學們已經瞭解,這些存儲在EC2角色metadata的臨時安全憑證,是由STS服務生成,IAM角色並不負責任何生成安全憑證工作。

我們繼續

在這裏插入圖片描述

臨時安全憑證知識點

接下來我們花點時間介紹下臨時安全憑證。

AWS STS 創建可控制對您的 AWS 資源的訪問的臨時安全憑證,並將這些憑證提供給受信任用戶,在前面的演示中,受信任用戶就是附加了角色的EC2實例。

臨時安全憑證是短期憑證,可將這些憑證的有效時間配置幾分鐘到幾小時,在一定時間後失效。臨時安全憑證一直會保持輪轉,過期時間後,舊的憑證將會失效。

使用臨時安全憑證,您就不必隨應用程序分配或嵌入長期 AWS 安全憑證,我們要知道嵌入長期AWS安全憑證是不安全的。

可允許用戶訪問您的 AWS 資源,而不必爲這些用戶定義 AWS 身份。臨時憑證是角色和聯合身份驗證的基礎。

一般來講,安全憑證的輪換在我們日常工作中是一個挑戰性的工作,尤其是當我們生成了一個永久訪問的憑證時, 出於安全考慮,我們要定期對憑證進行輪換,這樣的話即使安全憑證泄露或者被公開,也可以降低安全風險。而使用臨時安全憑證,我們就不需要太關注憑證的輪換。臨時安全憑證的使用期限有限,因此,在不需要這些憑證時不必輪換或顯式撤銷這些憑證。臨時安全憑證到期後無法重複使用。

好的,以上就是今天的視頻課程內容,我們今天介紹了AWS STS服務的基礎知識,並演示了通過metadata,獲取IAM角色的臨時安全憑證,以及介紹了臨時安全憑證並不是IAM角色生成的,他們是AWS STS服務提供的,STS是負責提供上述這些臨時安全憑證的服務。

在這裏插入圖片描述
希望此係列教程能爲您通過 AWS解決方案架構師認證 Professional 認證考試帶來幫助,如您有任何疑問,

關注公衆號:AWS愛好者(iloveaws)
文 | 沉默惡魔(禁止轉載,轉載請先經過作者同意)
網站:www.iloveaws.cn
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章