本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS Glue 中的加密
以下範例任務流程重點說明,您在 AWS Glue 中使用加密時應設定的選項。範例中示範特定 AWS Key Management Service (AWS KMS) 金鑰的用法,但您可能會根據自己的特殊需要選擇其他設定。此任務流程僅重點說明與設定 AWS Glue 時的加密相關的選項。
-
如果 AWS Glue 主控台的使用者未使用允許所有 AWS Glue API 操作 (例如
"glue:*"
) 的許可政策,請確認允許以下動作:"glue:GetDataCatalogEncryptionSettings"
"glue:PutDataCatalogEncryptionSettings"
"glue:CreateSecurityConfiguration"
"glue:GetSecurityConfiguration"
"glue:GetSecurityConfigurations"
"glue:DeleteSecurityConfiguration"
-
存取或寫入加密目錄的任何用戶端 - 也就是任何主控台使用者、爬蟲程式、任務或開發端點,都需要以下許可。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "
<key-arns-used-for-data-catalog>
" } } -
存取加密連線密碼的任何使用者或角色皆需要以下許可。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "
<key-arns-used-for-password-encryption>
" } } -
將加密資料寫入 Amazon S3 的任何擷取、轉換和載入 (ETL) 任務角色都需要以下許可。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "
<key-arns-used-for-s3>
" } } -
任何撰寫加密 Amazon CloudWatch Logs 的 ETL 任務或爬蟲程式都需要在金鑰和 IAM 政策中具有以下許可。
在金鑰政策 (而非 IAM 政策) 中:
{ "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "
<arn of key used for ETL/crawler cloudwatch encryption>
" }如需金鑰政策的相關詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的在 AWS KMS 中使用金鑰政策。
在 IAM 政策中連接
logs:AssociateKmsKey
許可:{ "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "
<arn of key used for ETL/crawler cloudwatch encryption>
" } -
任何使用加密任務書籤的 ETL 任務都需要以下許可。
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "
<key-arns-used-for-job-bookmark-encryption>
" } } -
在 AWS Glue 主控台上的導覽窗格中,選擇 Settings (設定)。
-
在 Data catalog settings (資料目錄設定) 頁面上,選取 Metadata encryption (中繼資料加密)。此選項會使用您選擇的 AWS KMS 金鑰將資料目錄中的所有物件加密。
-
如為 AWS KMS 金鑰,選擇 aws/glue。您也可以選擇您建立的 AWS KMS 索引鍵。
重要
AWS Glue 僅支援對稱客戶主金鑰 (CMK)。AWS KMS key (KMS 金鑰) 清單僅會顯示對稱金鑰。不過,如果您選取 Choose a AWS KMS key ARN (選擇 KMS 金鑰 ARN),主控台可讓您輸入任何金鑰類型的 ARN。請確定您僅輸入對稱金鑰的 ARN。
啟用加密時,存取資料目錄的用戶端必須具有 AWS KMS 許可。
-
-
在導覽窗格中,選擇 Security configurations (安全組態)。安全組態是一組安全屬性,可用來設定 AWS Glue 程序。然後選擇 Add security configuration (新增安全組態)。在組態中,選擇以下任一個選項:
-
選取 S3 encryption (S3 加密)。針對 Encryption mode (加密模式) 選擇 SSE-KMS。針對 AWS KMS key (金鑰),選擇 aws/s3 (確認使用者具有使用此金鑰的許可)。這樣就可讓任務寫入 Amazon S3 的資料使用 AWS 受管 AWS Glue AWS KMS 金鑰。
-
選取 CloudWatch logs encryption (CloudWatch Logs 加密),然後選擇某個 CMK。(請確認使用者具有使用此金鑰的許可)。如需詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的使用 AWS KMS 在 CloudWatch Logs 中加密日誌資料。
重要
AWS Glue 僅支援對稱客戶主金鑰 (CMK)。AWS KMS key (KMS 金鑰) 清單僅會顯示對稱金鑰。不過,如果您選取 Choose a AWS KMS key ARN (選擇 KMS 金鑰 ARN),主控台可讓您輸入任何金鑰類型的 ARN。請確定您僅輸入對稱金鑰的 ARN。
-
選擇 Advanced properties (進階屬性),並選取 Job bookmark encryption (任務書籤加密)。針對 AWS KMS key (金鑰),選擇 aws/glue (確認使用者具有使用此金鑰的許可)。這樣就可利用 AWS Glue AWS KMS 金鑰將寫入 Amazon S3 的任務書籤加密。
-
-
在導覽窗格中,選擇 Connections (連線)。
-
選擇 Add connection (新增連線) 建立與 Java Database Connectivity (JDBC) 資料存放區的連線,這是您 ETL 任務的目標。
-
若要強制使用 Secure Sockets Layer (SSL) 加密,請選取 Require SSL connection (需要 SSL 連接) 並測試連線。
-
-
在導覽窗格中,選擇 Jobs (任務)。
-
選擇 Add job (新增任務) 建立轉換資料的任務。
-
在任務定義中,選擇您建立的安全組態。
-
-
在 AWS Glue 主控台上,隨需執行您的任務。確認任務寫入的任何 Amazon S3 資料、任務寫入的 CloudWatch Logs 以及任務書籤都已全部加密。