安全上線

AWS Security 開發者實務

Rahul Singh

Technical Product Manager

檢查清單的用途

兩張卡片並排,上方是一條全寬的部署列。左側卡片標示 setting,含三個帶綠色勾勾的設定值,標註 one right value。右側卡片標示 question,含三個問號與虛線答案欄,標註 your answer。兩張卡片都有箭頭指向下方的部署列。

  • 6 個問題,在部署前先問
  • 不是 6 個設定要打開
AWS Security 開發者實務

六個問題,依請求順序

依序發問

  1. 誰驗證呼叫端的權杖(token)?
  2. AWS 在查哪個身分?

承租戶報表服務以垂直路徑開始繪製:租戶使用者、API Gateway、報表函式。兩個帶號記號標示問題適用之處。

AWS Security 開發者實務

六個問題,依請求順序

依序發問

  1. 誰驗證呼叫端的權杖?
  2. AWS 在查哪個身分?
  3. 什麼阻止一個租戶讀到別人的列?
  4. 資料庫密碼放在哪裡?

承租戶報表服務的垂直路徑:租戶使用者、API Gateway、報表函式與 DynamoDB,旁邊分支出 Secrets Manager。1 到 4 的編號標示問題適用之處。

AWS Security 開發者實務

六個問題,依請求順序

依序發問

  1. 誰驗證呼叫端的權杖?
  2. AWS 在查哪個身分?
  3. 什麼阻止一個租戶讀到別人的列?
  4. 資料庫密碼放在哪裡?
  5. 誰持有金鑰、誰用過它?
  6. 明天的下載會留下紀錄嗎?

承租戶報表服務的垂直路徑:租戶使用者、API Gateway、報表函式、DynamoDB、S3 報表;旁邊分支出 Secrets Manager 與一把 KMS 金鑰。六個編號標示問題適用之處。虛線邊界包住整個服務並連到下方的虛線 CloudTrail 方塊。

AWS Security 開發者實務

有勾不等於安全

此服務的三個重點

  1. 角色,不是金鑰:可讀取每個物件

報表服務的三個片段。其一,報表函式帶綠勾,橘色虛線外框橫跨桶內三個租戶前綴。其二,綠色租戶篩選在函式內,請求路徑外的橘色閘道為空。其三,儲存貯體帶綠勾,從稽核員到 AWS 管理金鑰的橘色虛線路徑在其前被阻擋。

AWS Security 開發者實務

有勾不等於安全

此服務的三個重點

  1. 角色,不是金鑰:可讀取每個物件
  2. 承租戶欄:篩選在你的程式碼裡
  3. 已啟用加密:金鑰不可共用

報表服務的三個片段。其一,報表函式帶綠勾,橘色虛線外框橫跨桶內三個租戶前綴。其二,綠色租戶篩選在函式內,請求路徑外的橘色閘道為空。其三,儲存貯體帶綠勾,從稽核員到 AWS 管理金鑰的橘色虛線路徑在其前被阻擋。

AWS Security 開發者實務

設定看不出的落差

外框標示 granted,內含兩個不重疊的方框。實心綠框標示 used,列出角色呼叫過的三個 IAM 動作。橘色虛線框標示 never called,列出從未呼叫的三個 IAM 動作。

  • 你寫下當天是正確的:服務當時有呼叫的每個動作
AWS Security 開發者實務

設定看不出的落差

外框標示 granted,內含兩個不重疊的方框。實心綠框標示 used,列出角色呼叫過的三個 IAM 動作。橘色虛線框標示 never called,列出從未呼叫的三個 IAM 動作。

  • 你寫下當天是正確的:服務當時有呼叫的每個動作
  • 現在太寬了:那一半已不再呼叫
  • 修正:只授與 CloudTrail 90 天內實際使用的動作
AWS Security 開發者實務

寫下理由,不寫設定值

一個選擇的兩個面向

  • 你的程式碼設定的值
  • 你設定它的理由

一行設定(在版本庫中有標示)位於上方;其下是一個標示 why 的空虛線框,註記 not written down。一支箭頭指向下方綠色紀錄卡,卡上有四個欄位:chose、rejected、would change if、date。

AWS Security 開發者實務

寫下理由,不寫設定值

一個選擇的兩個面向

  • 你的程式碼設定的值
  • 你設定它的理由

 

  • 寫下並獲同意:一份決策
  • 沒被紀錄:未預期的變動

一行設定(在版本庫中有標示)位於上方;其下是一個標示 why 的空虛線框,註記 not written down。一支箭頭指向下方綠色紀錄卡,卡上有四個欄位:chose、rejected、would change if、date。

AWS Security 開發者實務

同樣的問題,新呼叫端

兩列標題為 actor 與 caller 的三行配對:人員對應瀏覽器工作階段(以淡色顯示為熟悉情境)、commit 對應 pipeline、request 對應 agent。三者匯入單一藍色閘門,標註 one gate,帶三個編號標記。

  • Workload identity:非人的呼叫端身分
AWS Security 開發者實務

同樣的問題,新呼叫端

兩列標題為 actor 與 caller 的三行配對:人員對應瀏覽器工作階段(以淡色顯示為熟悉情境)、commit 對應 pipeline、request 對應 agent。三者匯入單一藍色閘門,標註 one gate,帶三個編號標記。

  • Workload identity:非人的呼叫端身分
  • 同樣三個問題:AWS 可驗的身分、範圍不超出工作、行為有紀錄
  • 改變的是:呼叫端
AWS Security 開發者實務

下一步該往哪裡

上下兩層帶狀圖。上層標示 the account,含四個等寬方塊:GuardDuty、Security Hub、AWS Config、Organizations。虛線分隔下方標示 your service,放著前文出現的六個編號標記。

  • 你的服務:那六個問題
  • 上層帳戶:GuardDuty、Security Hub、AWS Config、Organizations
AWS Security 開發者實務

一起來練習吧!

AWS Security 開發者實務

Preparing Video For Download...