Amazon EMR 受管政策 - Amazon EMR

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

Amazon EMR 受管政策

如果想針對必要的 Amazon EMR 動作,授予完整的存取或唯讀存取權限,最簡單的方法就是使用 Amazon EMR 的 IAM 受管政策。受管政策提供的好處是,許可需求變更時會自動更新。若您使用內嵌政策,可能會發生服務變更,並造成許可錯誤出現。

Amazon EMR 將棄用現有的受管政策 (v1 政策),轉而採用新的受管政策 (v2 政策)。新的受管理政策已縮減,以符合 AWS 最佳實務。棄用現有 v1 受管政策後,您將無法將這些政策附接至任何新的 IAM 角色或使用者。使用已棄用政策的現有角色和使用者可以繼續使用它們。v2 受管政策使用標籤來限制存取權。它們僅允許指定的 Amazon EMR 動作,並且需要使用以 EMR 特定金鑰標記的叢集資源。建議您在使用新的 v2 政策之前仔細檢閱文件。

在 IAM 主控台的政策清單中,v1 政策將標記為已棄用,並在其旁邊顯示警告圖示。棄用政策將具有下列特性:

  • 它們將繼續適用於所有目前附接的使用者、群組和角色。沒有任何破壞。

  • 它們無法附接至新的使用者、群組或角色。如果您從目前實體分離其中一個政策,則無法重新附接。

  • 從所有目前實體分離 v1 政策之後,該政策將不會再顯示,而且無法再使用。

下表彙總了目前政策 (v1) 與 v2 政策之間的變更。

Amazon EMR 受管政策變更
Policy type (政策類型) 政策名稱 政策用途 v2 政策的變更

預設 EMR 服務角色和附接的受管政策

角色名稱:EMR _ DefaultRole

V1 原則 (將停用):AmazonElasticMapReduceRole(EMR 服務角色)

V2 (範圍縮小) 政策名稱:AmazonEMRServicePolicy_v2

在佈建資源和執行 AWS 服務層級動作時,允許 Amazon EMR 代表您呼叫其他服務。所有叢集皆需要這個角色。

原則會新增新權限"ec2:DescribeInstanceTypeOfferings"。此 API 作業會傳回指定可用區域清單支援的執行個體類型清單。

IAM 受管政策,可依附加的使用者、角色或群組進行完整的 Amazon EMR 存取權

V2 (範圍限制) 政策名稱:AmazonEMRServicePolicy_v2

允許使用者對 EMR 動作具有完整許可。包括 iam:資源的PassRole 許可。

政策新增了一個先決條件,即使用者必須先向資源新增使用者標籤,然後才能使用此政策。請參閱標記資源以使用受管政策

iam:PassRole 行動需要 iam:PassedToService 條件設置為指定的服務。依預設不允許存取 Amazon EC2、Amazon S3 及其他服務。請參閱完整存取的 IAM 受管政策 (v2 受管預設政策)

IAM 受管政策,可依附接的使用者、角色或群組進行唯讀存取

V1 政策 (將棄用):AmazonElasticMapReduceReadOnlyAccess

V2 (範圍限制) 政策名稱:AmazonEMRReadOnlyAccessPolicy_v2

允許使用者對 Amazon EMR 動作具有唯讀許可。

許可僅允許指定的 elasticmapreduce 唯讀動作。依預設不允許存取 Amazon S3。請參閱唯讀存取的 IAM 受管政策 (v2 受管預設政策)

預設 EMR 服務角色和附接的受管政策

角色名稱:EMR _ DefaultRole

V1 原則 (將停用):AmazonElasticMapReduceRole(EMR 服務角色)

V2 (範圍縮小) 政策名稱:AmazonEMRServicePolicy_v2

在佈建資源和執行 AWS 服務層級動作時,允許 Amazon EMR 代表您呼叫其他服務。所有叢集皆需要這個角色。

v2 服務角色和 v2 預設政策會取代已停用的角色和政策。政策新增了一個先決條件,即使用者必須先向資源新增使用者標籤,然後才能使用此政策。請參閱標記資源以使用受管政策。請參閱Amazon EMR 的服務角色 (EMR 角色)

叢集 EC2 執行個體的服務角色 (EC2 執行個體設定檔)

V1 政策 (已停用):EMR_EC2_ DefaultRole (執行個體設定檔)

已取代的策略名稱:AmazonElasticMapReduceforEC2 角

允許在 EMR 叢集上執行的應用程式存取其他 AWS 資源,例如 Amazon S3。例如,如果您執行 Apache Spark 作業以處理來自 Amazon S3 的資料,則該政策需要允許存取此類資源。

預設角色和預設政策都即將棄用。沒有取代的 AWS 預設受管理角色或原則。您需要提供資源型或身分型政策。這表示,依預設,在 EMR 叢集上執行的應用程式無法存取 Amazon S3 或其他資源,除非您手動將這些資源新增至政策。請參閱預設角色和受管政策

其他 EC2 服務角色政策

目前的策略名稱:AmazonElasticMapReduceforAutoScalingRole, AmazonElasticMapReduceEditorsRole, 亞馬遜 CleanupPolicy

提供 Amazon EMR 在使用 auto 動擴展、筆記本電腦或清理 EC2 AWS 資源時存取其他資源和執行動作所需的許可。

v2 沒有變更。

保護 IAM:PassRole

Amazon EMR 完整許可預設受管政策包含 iam:PassRole 安全組態,包括下列項目:

  • 僅適用於特定預設 Amazon EMR 角色的 iam:PassRole 許可。

  • iam:PassedToService允許您僅將政策與指定 AWS 服務一起使用的條件,例如elasticmapreduce.amazonaws.comec2.amazonaws.com

您可以在 IAM 主控台中檢視 JSON 版本的亞馬遜電子產品 FullAccessPolicy _v2亞馬遜電子報 _v2 政ServicePolicy策。建議您建立具有 v2 受管政策的新叢集。

若要建立自訂政策,我們建議您從受管政策開始,並根據需求編輯這些政策。

如需有關如何將政策附接至使用者 (主體) 的資訊,請參閱《IAM 使用者指南》中的透過 AWS Management Console使用受管政策

標記資源以使用受管政策

Amazon 電子產品 ServicePolicy_v2 和亞馬遜 EMR FullAccessPolicy _v2 取決於對亞馬遜 EMR 佈建或使用的資源的速度下降訪問。範圍縮小是透過限制僅存取那些具有與其關聯的預先定義使用者標籤的資源來實現的。當您使用這兩個政策中的任何一個時,您必須在佈建叢集時傳遞預先定義的使用者標籤 for-use-with-amazon-emr-managed-policies = true。然後,Amazon EMR 將自動傳播該標籤。此外,您還必須將使用者標籤新增至下一節中列出的資源。如果您使用 Amazon EMR 主控台啟動叢集,請參閱 使用 Amazon EMR 主控台啟動具有 v2 受管政策的叢集的考量

若要使用受管政策,請在使用 CLI、SDK 或其他方法佈建叢集時傳遞使用者標籤 for-use-with-amazon-emr-managed-policies = true

當您傳遞標籤時,Amazon EMR 會將標籤傳播至其建立的私有子網路 ENI、EC2 執行個體和 EBS 磁碟區。Amazon EMR 也會自動標記其建立的安全群組。但是,如果您希望 Amazon EMR 與特定安全群組一起啟動,則必須進行標記。對於不是由 Amazon EMR 建立的資源,您必須向這些資源新增標籤。例如,您必須標記 Amazon EC2 子網路、EC2 安全群組 (如果不是由 Amazon EMR 建立) 和 VPC (如果您希望 Amazon EMR 建立安全群組)。若要在 VPC 中啟動具有 v2 受管政策的叢集,您必須使用預先定義的使用者標籤來標記這些 VPC。請參閱 使用 Amazon EMR 主控台啟動具有 v2 受管政策的叢集的考量

傳播的使用者指定的標記

Amazon EMR 會使用您在建立叢集時指定的 Amazon EMR 標籤,來標記所建立的資源。Amazon EMR 會將標籤套用至在叢集生命週期內建立的資源。

Amazon EMR 會對下列資源傳播使用者標籤:

  • 私有子網路 ENI (服務存取彈性網路介面)

  • EC2 執行個體

  • EBS 磁碟區

  • EC2 啟動範本

自動標記安全群組

Amazon EMR 使用 Amazon EMR v2 受管政策 (for-use-with-amazon-emr-managed-policies) 所需的標籤來標記它建立的 EC2 安全群組,無論您在 create cluster 命令中指定哪些標籤。對於在引入 v2 受管政策之前建立的安全群組,Amazon EMR 不會自動標記此安全群組。如果想要將 v2 受管政策與帳戶中已存在的預設安全群組搭配使用,您需要使用 for-use-with-amazon-emr-managed-policies = true 手動標記安全群組。

手動標記的叢集資源

您必須手動標記部分叢集資源,以便 Amazon EMR 預設角色可以存取這些資源。

  • 您必須使用 Amazon EMR 受管政策標籤 for-use-with-amazon-emr-managed-policies 手動標記 EC2 安全群組和 EC2 子網路。

  • 如果希望 Amazon EMR 建立預設安全群組,您必須手動標記 VPC。如果預設安全群組尚未存在,EMR 將嘗試使用特定標籤建立安全群組。

Amazon EMR 會自動標記下列資源:

  • EMR 建立的 EC2 安全群組

您必須手動標記下列資源:

  • EC2 子網路

  • EC2 安全群組

您可以選擇性地手動標記下列資源:

  • VPC – 僅當您希望 Amazon EMR 建立安全群組時

使用 Amazon EMR 主控台啟動具有 v2 受管政策的叢集的考量

您可以使用 Amazon EMR 主控台佈建具有 v2 受管政策的叢集。以下是使用主控台啟動 Amazon EMR 叢集時的一些考量。

注意

我們重新設計了 Amazon EMR 主控台。新主控台尚未提供自動標記功能,而且新主控台也不會顯示需要標記的資源 (VPC/子網路)。請參閱 Amazon EMR 控制台,進一步了解新舊主控台體驗之間的差異。

  • 您無需傳遞預先定義的標籤。Amazon EMR 會自動新增標籤並將其傳播至適當的元件。

  • 對於需要手動標記的元件,如果您擁有標記資源的所需許可,舊的 Amazon EMR 主控台會嘗試自動標記這些元件。如果您沒有標記資源的許可,或者想要使用新的主控台,請要求管理員標記這些資源。

  • 除非符合所有先決條件,否則您無法啟動具有 v2 受管政策的叢集。

  • 舊的 Amazon EMR 主控台會顯示需要標記的資源 (VPC/子網路)。

AWS Amazon EMR 的受管政策

受 AWS 管理的策略是由建立和管理的獨立策略 AWS。 AWS 受管理的策略旨在為許多常見使用案例提供權限,以便您可以開始將權限指派給使用者、群組和角色。

請記住, AWS 受管理的政策可能不會為您的特定使用案例授與最低權限權限,因為這些權限可供所有 AWS 客戶使用。我們建議您定義使用案例專屬的客戶管理政策,以便進一步減少許可。

您無法變更受 AWS 管理策略中定義的權限。如果 AWS 更新 AWS 受管理原則中定義的權限,則此更新會影響附加原則的所有主體識別 (使用者、群組和角色)。 AWS 當新的啟動或新 AWS 服務 的 API 操作可用於現有服務時,最有可能更新 AWS 受管理策略。

如需詳細資訊,請參閱《IAM 使用者指南》中的 AWS 受管政策