

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Managed Service for Apache Flink 的安全最佳實務
<a name="security-best-practices"></a>

在您開發和實作自己的安全政策時，可考慮使用 Amazon Managed Service for Apache Flink 提供的多種安全功能。以下最佳實務為一般準則，並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求，因此請將其視為實用建議就好，而不要當作是指示。

## 實作最低權限存取
<a name="security-best-practices-privileges"></a>

當您授與許可時，需要決定哪些使用者會取得哪些 Apache Flink 資源的哪些許可。您還需針對這些資源啟用允許執行的動作，因此，您只應授與執行任務所需的許可。對降低錯誤或惡意意圖所引起的安全風險和影響而言，實作最低權限存取是相當重要的一環。

## 使用 IAM 角色存取其他 Amazon 服務
<a name="security-best-practices-roles"></a>

Managed Service for Apache Flink 應用程式必須具有有效的登入資料，才能存取其他服務中的資源，例如 Kinesis 資料串流、Firehose 串流或 Amazon S3 儲存貯體。您不應將 AWS 登入資料直接存放在應用程式或 Amazon S3 儲存貯體中。這些是不會自動輪換的長期憑證，如果遭到盜用，可能會對業務造成嚴重的影響。

反之，您應使用 IAM 角色來管理暫時性憑證，讓應用程式存取其他資源。使用角色時，您不必使用長期憑證來存取其他資源。

如需詳細資訊，請參閱*《IAM 使用者指南》*中的以下主題：
+ [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+ [常見的角色方案：使用者、應用程式和服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)

## 在相依資源中實作伺服器端加密
<a name="security-best-practices-sse"></a>

靜態資料和傳輸中的資料會在 Managed Service for Apache Flink 中加密，而且此加密無法停用。您應該在相依資源中實作伺服器端加密，例如 Kinesis 資料串流、Firehose 串流和 Amazon S3 儲存貯體。如需在相依資源中實作伺服器端加密的詳細資訊，請參閱 [資料保護 ](data-protection.md)。

## 使用 CloudTrail 監控 API 呼叫
<a name="security-best-practices-cloudtrail"></a>

Managed Service for Apache Flink 已與 整合 AWS CloudTrail，此服務提供使用者、角色或 Managed Service for Apache Flink 中 Amazon 服務所採取動作的記錄。

您可以利用 CloudTrail 所收集的資訊來判斷向 Managed Service for Apache Flink 發出的請求，以及發出請求的 IP 地址、人員、時間和其他詳細資訊。

如需詳細資訊，請參閱[使用 記錄 Managed Service for Apache Flink API 呼叫 AWS CloudTrail](logging-using-cloudtrail.md)。