本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 IAM 角色與可直接呼叫 AWS 服務的應用程式搭配使用
在叢集 EC2 執行個體上執行的應用程式可以在呼叫 AWS 服務時使用 EC2 執行個體設定檔取得臨時安全登入資料。
可與 Amazon EMR 2.3.0 版及更新版本搭配使用的 Hadoop 版本已更新為可使用 IAM 角色。如果您的應用程式嚴格執行在 Hadoop 架構之上,而且未直接呼叫中的任何服務 AWS,則應與 IAM 角色搭配使用,而不需要修改。
如果您的應用程式 AWS 直接呼叫服務,您需要更新它以利用 IAM 角色。這表示,與其在叢集中 EC2 執行個體上透過 /etc/hadoop/conf/core-site.xml
取得帳戶憑證,應用程式現在會使用 SDK 來使用 IAM 角色存取資源,或是呼叫 EC2 執行個體中繼資料,以取得暫時憑證。
使用 SDK 存取 AWS IAM 角色的資源
-
下列主題說明如何使用多個 AWS SDK 使用 IAM 角色存取臨時登入資料。每個主題以應用程式的版本開始 (該應用程式不會使用 IAM 角色),然後逐步引導您將該應用程式轉換為使用 IAM 角色的程序。
-
《AWS SDK for Java 開發人員指南》中的將 Amazon EC2 執行個體的 IAM 角色 與適用於 Java 的 SDK 搭配使用
-
《AWS SDK for .NET 開發人員指南》中的將 Amazon EC2 執行個體的 IAM 角色 與適用於 .NET 的 SDK 搭配使用
-
《AWS SDK for PHP 開發人員指南》中的將 Amazon EC2 執行個體的 IAM 角色 與適用於 PHP 的 SDK 搭配使用
-
《AWS SDK for Ruby 開發人員指南》中的將 Amazon EC2 執行個體的 IAM 角色 與適用於 PHP 的 SDK 搭配使用
-
若要從 EC2 執行個體中繼資料取得臨時登入資料
-
從使用指定 IAM 角色執行的 EC2 執行個體呼叫下列 URL,該角色會傳回關聯的臨時安全登入資料 (AccessKeyId SecretAccessKey SessionToken、、和到期)。下列範例使用 Amazon EMR 的預設執行個體設定檔
EMR_EC2_DefaultRole
。GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
如需撰寫使用 IAM 角色之應用程式的詳細資訊,請參閱授與在 Amazon EC2 執行個體上執行的應用程式存取 AWS 資源。
如需有關暫時安全憑證的詳細資訊,請參閱《使用暫時安全憑證》指南中的使用暫時安全憑證。