本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用客戶受管金鑰進行加密
您可以選擇性地為環境中的資料加密提供客戶受管金鑰。您必須在與 Amazon MWAA環境執行個體和 Amazon S3 儲存貯體相同的區域中建立客戶受管KMS金鑰,以便存放工作流程的資源。如果您指定的客戶受管KMS金鑰與您用於設定環境的金鑰位於不同的帳戶中,您必須使用 來指定金鑰ARN以進行跨帳戶存取。如需建立金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南 中的建立金鑰。
支援的內容
AWS KMS 功能 | 支援 |
---|---|
是 |
|
否 |
|
否 |
使用Grant for Encryption
本主題說明 授予 Amazon 代表您MWAA連接到客戶受管KMS金鑰,以加密和解密您的資料。
運作方式
AWS KMS 客戶受管KMS金鑰支援兩種資源型存取控制機制:金鑰政策和授予 。
當許可大部分為靜態,並用於同步服務模式時,會使用金鑰政策。當需要更動態和精細的許可時,例如服務需要為自己或其他帳戶定義不同的存取權限時,就會使用授予。
Amazon MWAA使用 並將四個授予政策連接至您的客戶受管KMS金鑰。這是因為環境從 CloudWatch Logs、Amazon SQS佇列、Aurora PostgreSQL 資料庫、Secrets Manager 秘密、Amazon S3 儲存貯體和 DynamoDB 資料表加密靜態資料所需的精細許可。
當您建立 Amazon MWAA環境並指定客戶受管KMS金鑰時,Amazon 會將授予政策MWAA連接至客戶受管KMS金鑰。這些政策允許 Amazon MWAA 使用airflow.
客戶受管KMS金鑰,代表您加密 Amazon 擁有的資源MWAA。region
}.amazonaws.com
Amazon 會代表您MWAA建立並附加其他授予至指定的KMS金鑰。這包括刪除環境時淘汰授予的政策、使用客戶受管KMS金鑰進行用戶端加密 (CSE),以及需要存取 Secrets Manager 中受客戶受管金鑰保護之秘密的 AWS Fargate 執行角色。
授予政策
Amazon 會代表您MWAA將下列資源型政策授予新增至客戶受管KMS金鑰。這些政策允許承授者和委託人 (AmazonMWAA) 執行政策中定義的動作。
授予 1:用於建立資料平面資源
{ "Name": "mwaa-grant-for-env-mgmt-role-
environment name
", "GranteePrincipal": "airflow.region
.amazonaws.com", "RetiringPrincipal": "airflow.region
.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ] }
授予 2:用於ControllerLambdaExecutionRole
存取
{ "Name": "mwaa-grant-for-lambda-exec-
environment name
", "GranteePrincipal": "airflow.region
.amazonaws.com", "RetiringPrincipal": "airflow.region
.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }
授予 3:用於CfnManagementLambdaExecutionRole
存取
{ "Name": " mwaa-grant-for-cfn-mgmt-
environment name
", "GranteePrincipal": "airflow.region
.amazonaws.com", "RetiringPrincipal": "airflow.region
.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ] }
授予 4:用於 Fargate 執行角色以存取後端秘密
{ "Name": "mwaa-fargate-access-for-
environment name
", "GranteePrincipal": "airflow.region
.amazonaws.com", "RetiringPrincipal": "airflow.region
.amazonaws.com", "Operations": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:RetireGrant" ] }
將金鑰政策連接至客戶受管金鑰
如果您選擇將自己的客戶受管KMS金鑰與 Amazon 搭配使用MWAA,則必須將下列政策連接至金鑰,讓 Amazon MWAA使用它來加密您的資料。
如果您用於 Amazon MWAA環境的客戶受管KMS金鑰尚未設定為使用 CloudWatch,您必須更新金鑰政策以允許加密 CloudWatch 日誌。如需詳細資訊,請參閱 CloudWatch 使用 AWS Key Management Service 服務 中的加密日誌資料。
下列範例代表 CloudWatch Logs 的金鑰政策。取代為 區域提供的範例值。
{ "Effect": "Allow", "Principal": { "Service": "logs.
us-west-2
.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": { "kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:us-west-2
:*:*" } } }