Amazon EMR受管政策 - Amazon EMR

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

Amazon EMR受管政策

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

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

v1 政策會在IAM主控台的政策清單中,以警告圖示標示為已棄用。棄用政策將具有下列特性:

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

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

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

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

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

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

角色名稱:EMR_DefaultRole

V1 政策 (即將取代):AmazonElasticMapReduceRole(EMR 服務角色)

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

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

政策會新增新許可 "ec2:DescribeInstanceTypeOfferings"。API 此操作會傳回指定可用區域清單支援的執行個體類型清單。

IAM 依連接的使用者、角色或群組完整EMR存取 Amazon 的 受管政策

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

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

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

iam:PassRole action 需要將 iam:PassedToService condition 設定為指定的服務。預設不允許存取 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

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

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

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

角色名稱:EMR_EC2_DefaultRole

已棄用的政策名稱: AmazonElasticMapReduceforEC2Role

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

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

EC2 其他服務角色政策

目前政策名稱:AmazonElasticMapReduceforAutoScalingRole、 AmazonElasticMapReduceEditorsRole、mazonEMRCleanup政策

如果使用自動擴展、筆記本或清除EC2資源,則提供 Amazon 存取其他 AWS 資源和執行動作EMR所需的許可。

v2 沒有變更。

保護 iam:PassRole

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

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

  • iam:PassedToService 條件,可讓您僅將政策與指定的 AWS 服務搭配使用,例如 elasticmapreduce.amazonaws.com.rproxy.goskope.comec2.amazonaws.com

您可以在IAM主控台中檢視 A mazonEMRFullAccessPolicy_v2mazonEMRServicePolicy_v2 政策的JSON版本。建議您建立具有 v2 受管政策的新叢集。

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

如需如何將政策連接至使用者 (原則) 的詳細資訊,請參閱 IAM 使用者指南 中的使用 受管政策 AWS Management Console

標記資源以使用受管政策

mazonEMRServicePolicy_v2A mazonEMRFullAccessPolicy_v2 取決於 Amazon 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) 和 VPCs(如果您希望 Amazon EMR建立安全群組)。若要在 中使用 v2 受管政策啟動叢集VPCs,您必須VPCs使用預先定義的使用者標籤來標記叢集。請參閱 使用 Amazon EMR主控台以 v2 受管政策啟動叢集的考量

傳播的使用者指定的標記

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

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

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

  • EC2 執行個體

  • EBS 磁碟區

  • EC2 啟動範本

自動標記安全群組

無論您在建立叢集命令中指定的EMR標籤為何for-use-with-amazon-emr-managed-policies,Amazon 都會使用 Amazon EMR、 的 v2 受管政策所需的標籤來建立 Amazon 標籤EC2安全群組。對於在推出 v2 受管政策之前建立的安全群組,Amazon EMR不會自動標記安全群組。如果想要將 v2 受管政策與帳戶中已存在的預設安全群組搭配使用,您需要使用 for-use-with-amazon-emr-managed-policies = true 手動標記安全群組。

手動標記的叢集資源

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

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

  • VPC 如果您希望 Amazon EMR建立預設安全群組,則必須手動標記 。EMR 如果預設安全群組不存在, 會嘗試建立具有特定標籤的安全群組。

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

  • EMR建立EC2的安全群組

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

  • EC2 子網路

  • EC2 安全群組

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

  • VPC - 只有當您希望 Amazon EMR建立安全群組時

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

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

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

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

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

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

AWS Amazon 的 受管政策 EMR

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

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

您無法變更 AWS 受管政策中定義的許可。如果 AWS 更新受管政策中 AWS 定義的許可,則更新會影響政策連接的所有主體身分 (使用者、群組和角色)。當新的 AWS 服務 啟動或新的API操作可用於現有 服務時, AWS 很有可能更新受 AWS 管政策。

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