本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 IAM 角色與可直接呼叫 AWS 服務的應用程式搭配使用
在叢集的 EC2 執行個體上執行的應用程式可以使用 EC2 執行個體設定檔,在呼叫 AWS 服務時取得臨時安全憑證。
可與 Amazon EMR 2.3.0 版及更新版本搭配使用的 Hadoop 版本已更新為可使用 IAM 角色。如果您的應用程式在 Hadoop 架構上嚴格執行,且沒有直接呼叫任何 服務 AWS,則應該使用 IAM 角色而不進行任何修改。
如果您的應用程式 AWS 直接呼叫 中的 服務,您需要更新它以利用 IAM 角色。這表示,與其在叢集中 EC2 執行個體上透過 /etc/hadoop/conf/core-site.xml
取得帳戶憑證,應用程式現在會使用 SDK 來使用 IAM 角色存取資源,或是呼叫 EC2 執行個體中繼資料,以取得暫時憑證。
使用 SDK 存取具有 IAM 角色 AWS 的資源
-
下列主題說明如何使用數個 AWS SDKs 來使用 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 和 Expiration)。下列範例使用 Amazon EMR 的預設執行個體設定檔
EMR_EC2_DefaultRole
。GET http://169.254.169.254/latest/meta-data/iam/security-credentials/
EMR_EC2_DefaultRole
如需編寫使用 IAM 角色的應用程式的詳細資訊,請參閱授予在 Amazon EC2 執行個體上執行的應用程式存取 AWS 資源。
如需有關暫時安全憑證的詳細資訊,請參閱《使用暫時安全憑證》指南中的使用暫時安全憑證。