本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IAMAmazon 的角色 EC2
應用程式必須使用 AWS 認證簽署其API要求。因此,如果您是應用程式開發人員,則需要針對在執行個EC2體上執行的應用程式管理認證的策略。例如,您可安全將 AWS 登入資料分配給執行個體,讓在這些執行個體上運作的應用程式能夠使用此登入資料來簽署請求,同時避免其他使用者取得您的登入資料。但是,要將憑證安全地分配到每個執行個體,尤其是代表您 AWS 建立的執行個體 (例如 Spot 執行個體或 Auto Scaling 群組中的執行個體) 是一件困難的事。輪換認證時,您也必須能夠更新每個執行個體上的 AWS 認證。
我們設計了IAM角色,讓您的應用程式可以安全地向執行個體發出要API求,而不需要您管理應用程式使用的安全登入資料。您可以使用IAM角色委派API要求的權限,而不是建立和散佈 AWS 認證,如下所示:
-
建立 IAM 角色。
-
定義哪些帳戶或 AWS 服務可以擔任該角色。
-
定義應用程式在擔任該角色之後可以使用的API動作和資源。
-
啟動執行個體時指定該角色,或將該角色連接至現有執行個體。
-
讓應用程式擷取一組暫時登入資料並加以使用。
例如,您可以使用IAM角色向需要在 Amazon S3 中使用儲存貯體的執行個體上執行的應用程式授予許可。您可以透過以JSON格式建立策略來指定IAM角色的權限。這些政策類似於您為使用者建立的政策。若您變更角色,此變更會傳播至所有執行個體。
注意
Amazon EC2 IAM 角色登入資料不受該角色中設定的最長工作階段持續時間限制。如需詳細資訊,請參閱《使用指南》中的IAM〈使用IAM角色〉。
建立IAM角色時,請關聯限制存取應用程式所需之特定API呼叫的最低權限IAM原則。對於 Windows 至 Windows 通訊,請使用妥善定義且妥善記載的 Windows 群組和角色,授與 Windows 執行個體之間的應用程式層級存取權。群組和角色可讓客戶定義最低權限的應用程式和NTFS資料夾層級權限,以限制對應用程式特定需求的存取。
您只能將一個IAM角色附加至執行個體,但您可以將相同的角色附加至多個執行個體。如需有關建立和使用IAM角色的詳細資訊,請參閱《使IAM用指南》中的〈角色〉。
您可以將資源層級權限套用至IAM政策,以控制使用者為執行個體附加、取代或卸離IAM角色的能力。如需詳細資訊,請參閱 支援 Amazon 動作的資源層級許可 EC2 API及下列範例:範例:使用 IAM 角色。
執行個體描述檔
Amazon EC2 使用執行個體設定檔做為IAM角色的容器。使用主控台建立IAM角色時,IAM主控台會自動建立執行個體設定檔,並提供與其對應角色相同的名稱。如果您使用 Amazon EC2 主控台啟動具有角色的執行個體或將IAM角IAM色附加到執行個體,則可以根據執行個體設定檔名稱清單選擇角色。
如果您使用 AWS CLI API、或建立角色,您可以 AWS SDK將角色和執行個體設定檔建立為個別動作,名稱可能不同。如果您接著使用 AWS CLI API、或 AWS SDK來啟動具有角色的執行個體,或將IAM角色附加至執行個IAM體,請指定執行個體設定檔名稱。
執行個體設定檔只能包含一個IAM角色。此限制無法提高。
如需詳細資訊,請參閱IAM使用指南中的執行個體設定檔。
您使用案例的權限
當您第一次為應用程式建立IAM角色時,有時可能會授與超出所需權限的權限。在生產環境中啟動應用程式之前,您可以根據IAM角色的存取活動產生IAM原則。IAMAccess Analyzer 會檢閱您的 AWS CloudTrail 記錄檔,並產生原則範本,其中包含指定日期範圍內角色所使用的權限。您可以使用範本建立具有精細權限的受管理原則,然後將其附加至IAM角色。如此一來,您只會針對特定使用案例授與角色與 AWS 資源互動所需的權限。這有助於您符合授予最低權限的最佳實務。如需詳細資訊,請參閱IAM使IAM用者指南中的存取分析器原則產生。
Amazon EC2 執行個體的執行個體身分角
您啟動的每個 Amazon EC2 執行個體都有一個代表其身分識別的執行個體身分角色。執行個體識別角色是一種IAM角色類型。 AWS 整合以使用執行個體身分識別角色的服務和功能可以使用它來識別服務的執行個體。
執行個體識別角色認證可從執行個體中繼資料服務 (IMDS) 存取,位於/identity-credentials/ec2/security-credentials/ec2-instance
。憑據由 AWS 臨時訪問 key pair 和會話令牌組成。它們是用來簽 AWS 署 Sigv4 要求,以使用執行個體身分識別角色的 AWS 服務。無論執行個體上是否已啟用使用執行個體身分角色的服務或功能,憑證都會顯示在執行個體中繼資料中。
執行個體身分角色在執行個體啟動時自動建立,沒有角色信任政策文件,且不受任何身分或資源政策的約束。
支援的服務
下列 AWS 服務使用執行個體識別角色:
-
Amazon EC2 — EC2執行個體 Connect 使用執行個體身分角色更新 Linux 執行個體的主機金鑰。
-
Amazon GuardDuty — 執行階段監控使用執行個體身分角色,允許執行階段代理程式將安全性遙測傳送到 GuardDuty VPC端點。
-
AWS Security Token Service (AWS STS) — 執行個體身分識別角色認證可與 AWS STS
GetCallerIdentity
動作搭配使用。 -
AWS Systems Manager— 使用預設主機管理組態時, AWS Systems Manager 會使用執行個體識別角色提供的識別來註冊EC2執行個體。在識別執行個體之後,Systems Manager 可以將您的
AWSSystemsManagerDefaultEC2InstanceManagementRole
IAM角色傳遞給執行個體。
執行個體身分識別角色無法與其他 AWS 服務或功能搭配使用,因為這些角色未與執行個體身分識別角色整合。
執行個體識別角 ARN
執行個體識別角色ARN的格式如下:
arn:
aws-partition
:iam::account-number
:assumed-role/aws:ec2-instance/instance-id
例如:
arn:
aws
:iam::0123456789012
:assumed-role/aws:ec2-instance/i-0123456789example
如需有關的詳細資訊ARNs,請參閱IAM使用者指南中的 Amazon 資源名稱 (ARNs)。