如何對 IAM 使用者隱藏 Lambda 函數的環境變數和未加密的文字?
1 分的閱讀內容
0
我希望阻止有權存取我的 AWS Lambda 函數的 AWS Identity and Access Management (IAM) 使用者查看環境變數和未加密的文字。我該怎麼做?
解決方法
**注意:**下列解決方案會阻止 IAM 身分僅在 Lambda 主控台和 Lambda API 中查看 Lambda 函數的環境變數。它不會阻止 IAM 身分使用函數程式碼存取解密的環境變數,或將環境變數值輸出至 Amazon CloudWatch Logs。
若要阻止 IAM 身分存取 Lambda 環境變數中的密碼、金鑰或其他敏感資訊,請執行下列操作:
使用 AWS Key Management Service (AWS KMS) 客戶受管金鑰來加密環境變數。若要設定 KMS 金鑰,請遵循保護環境變數中的指示進行操作。
**重要:**請確保編輯 KMS 金鑰的金鑰政策,以便此政策拒絕存取不需要存取權的 IAM 身分。
拒絕特定 IAM 使用者查看 Lambda 環境變數的許可的 KMS 金鑰政策範例
**注意:**將 arn:aws:iam::1234567890:User1DeniedAccess 和 arn:aws:iam::1234567890:User2DeniedAccess 取代為您要拒絕存取的 IAM 身分的 Amazon Resource Name (ARN)。您可以視需要將更多 IAM ARN 新增至金鑰政策。
{ "Id": "MyCustomKey", "Version": "2012-10-17", "Statement": [ { "Sid": "Deny IAM users permission to see Lambda environment variables", "Effect": "Deny", "Principal": { "AWS": [ "arn:aws:iam::1234567890:User1DeniedAccess", "arn:aws:iam::1234567890:User2DeniedAccess" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }
如果遭拒絕的 IAM 使用者嘗試檢視函數的環境變數,您會收到類似下列內容的錯誤訊息:
"Lambda was unable to decrypt your environment variables because the KMS access was denied. Please check your KMS permissions. KMS Exception: AccessDeniedException"
相關資訊
AWS 官方已更新 3 年前
沒有評論
相關內容
- 已提問 1 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 5 個月前
- AWS 官方已更新 3 年前