名詞解釋
介紹
aws s3
的資料加密分為伺服器端加密和客戶端加密兩大類:
客戶端加密:可以在客戶端加密資料並將加密的資料上傳到amazon s3
。在這種情況下,您需要管理加密過程、加密金鑰和相關的工具。
伺服器端加密不會修改現有的s3
訪問方式,客戶端加密則需要配合各種語言的aws
開發工具包來完成訪問。
s3
的伺服器端加密分為以下3種具體的方式:
s3
的客戶端加密分為以下2種具體的方式:
ss3-kms
(使用kms
託管金鑰的伺服器端加密)
ss3-kms
是利用aws-kms
服務託管的cmk
來對資料機密,使用這種加密方式的控制台操作步驟如下:
建立乙個資料夾,或者對乙個資料夾單擊右鍵,選擇更改加密;
選擇aws-kms
,在下拉框中選擇需要使用的kms
金鑰;
此時資料夾中所有物件都已經啟用了資料加密,進入iam
面板,選擇左側最下方的加密金鑰標籤可以對kms
金鑰進行管理;
第2步中,如果你之前建立過kms
金鑰,可以在這裡看到所有的金鑰列表,如果之前從來沒建立,也可以看到乙個aws/s3
的選項,它是s3
建立的預設kms
金鑰,使用它可以免去手動建立的過程,但該金鑰的靈活性較差。
需要說明的是,這樣操作只是對目前資料夾中的所有物件進行了加密,之後再寫入的物件並不會自動進行資料加密,針對這種情況,可以使用儲存桶策略進行控制,如果寫入的物件未使用指定的資料加密,則拒絕其行為,詳情參考使用具有aws kms託管金鑰的伺服器端加密(sse-kms)保護資料。
sse-s3
(使用s3
託管金鑰的伺服器端加密)
sse-s3
使用唯一的資料加密金鑰來加密資料,再使用定期輪換的主金鑰來加密資料加密金鑰,但整個過程都是由s3
託管的,使用者無法感知,無法接觸到金鑰,有點像黑箱。使用這種加密的方式基本與sse-kms
一樣,只是在選擇加密方式的時候選擇aes-256
即可,並且加密後也無法像第3步中那樣列出相關金鑰;
sse-c
(使用客戶託管金鑰的伺服器端加密)
sse-c
是使用者將金鑰和物件一起提供給s3
,s3
使用金鑰對物件進行加密後再儲存,檢索物件時也需要提供該金鑰,s3
則是幫助使用者完成加密和解密的過程。該加密方式無法在控制台中完成,只能通過sdk
或者api
的方式完成(支援控制台操作的sse-kms
和sse-s3
同樣也支援sdk
和api
)。
使用kms
託管客戶主金鑰
這種加密方式看著有點複雜,並且需要sdk
來完成,其步驟簡單總結如下:
使用者請求kms
,kms
返回資料加密金鑰純文字及資料加密金鑰的密碼blob
;(what is key blob?)
用資料加密金鑰加密物件,然後將物件和blob
上傳到s3
,blob
儲存在物件的元資料中;
使用客戶端主金鑰
這種加密方式同樣需要sdk
,步驟如下:
sdk
(或者叫amazon s3
加密客戶端)在本地對每個物件生成資料加密金鑰,並對物件加密;
使用客戶自己生成的金鑰(須符合一定的加密要求)對每個資料加密金鑰進行加密;
加密後的資料加密金鑰儲存在物件的元資料中;
使用主金鑰解密資料加密金鑰,使用資料加密金鑰解密物件;
AWS實戰 利用IAM對S3做訪問控制
要對s3的訪問許可權做控制,既可以使用基於身份的策略 iam使用者策略 也可以使用基於資源的策略 acl和儲存桶策略 訪問乙個儲存桶的許可權控制流程如圖所示 訪問儲存桶中的物件的許可權控制流程如圖所示 當 amazon s3 收到物件操作請求時,它會將基於資源的所有相關許可權 物件訪問控制列表 ac...
hive操作s3資料
1 hive配置s3訪問許可權 2 建立表 例如create external table table create time bigint comment 獲取時的時間 event name string comment 事件名 timestamp bigint comment 事件發生時間 is...
b s資料統計 S3記錄到統計報告
b s資料統計 雲是技術中的新流行語。儘管雲在許多設計圖或架構圖中主要表示網際網路,但雲計算已緩慢但肯定地演變為三種定義明確的服務,即iaas,paas和saas。當我們談論iaas時 該服務空間的領先者是亞馬遜,其服務縮寫為aws amazon web services 提供的服務之一,被廣泛接受...