Greengrass 服務角色 - AWS IoT Greengrass

您正在檢視AWS IoT Greengrass Version 1。AWS IoT Greengrass Version 2是最新的主要版本AWS IoT Greengrass。如需使用AWS IoT Greengrass V2,請參閱AWS IoT Greengrass Version 2開發人員指南

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

Greengrass 服務角色

Greengrass 服務角色是AWS Identity and Access Management(IAM) 服務角色 (授權)AWS IoT Greengrass來存取資源AWS代表您服務。這可讓 AWS IoT Greengrass 執行基本任務,例如擷取您的 AWS Lambda 函數及管理 AWS IoT 陰影。

若要允許AWS IoT Greengrass若要存取您的資源,Greengrass 服務角色必須與您的AWS 帳戶,並指定AWS IoT Greengrass作為受信任的實體。這個角色必須包含 AWSGreengrassResourceAccessRolePolicy 受管政策或自訂政策,為您使用的 AWS IoT Greengrass 功能定義同等的許可。此政策由AWS並定義了一組權限AWS IoT Greengrass用來存取您的AWS的費用。

您 Greengrass 在AWS 區域,但您必須將其與每個AWS 區域您使用的位置AWS IoT Greengrass。如果服務角色不存在於目前的AWS 帳戶和區域。

以下幾節將說明如何在 AWS Management Console 或 AWS CLI 中建立和管理 Greengrass 服務角色 。

注意

除了授權服務層級存取的服務角色之外,您還可以指派群組角色到AWS IoT Greengrass群組。群組角色是不同的 IAM 角色,其能夠控制群組中的 Greengrass Lambda 函數和連接器如何存取AWS服務。

管理 Greengrass 服務角色 (主控台)

您可以透過 AWS IoT 主控台,輕鬆管理 Greengrass 服務角色。例如,當您建立或部署 Greengrass 群組時,主控台會檢查您的AWS 帳戶附加至 Greengrass 服務角色AWS 區域目前在主控台中選取的內容。如果未連接,主控台可以為您建立和設定服務角色。如需更多詳細資訊,請參閱 建立 Greengrass 服務角色 (主控台)

您可以使用AWS IoT主控台,以進行下列角色管理任務:

注意

登入主控台的使用者必須擁有可檢視、建立或變更服務角色的許可。

 

尋找您的 Greengrass 服務角色 (主控台)

請使用下列步驟來尋找AWS IoT Greengrass在當前AWS 區域。

  1. AWS IoT 主控台的導覽窗格中,選擇 Settings (設定)

  2. 捲動至 Greengrass service role (Greengrass 服務角色) 區段,查看您的服務角色及其政策。

    
              顯示在 [設定] 頁面上的 Greengrass 服務角色。AWS IoT主控台。

    如果您沒有看到服務角色,您可以讓主控台為您建立或設定服務角色。如需更多詳細資訊,請參閱 建立 Greengrass 服務角色

 

建立 Greengrass 服務角色 (主控台)

主控台可以為您建立和設定預設的 Greengrass 服務角色。這個角色具有以下屬性:

屬性 Value
名稱 Greengrass_ServiceRole
信任實體 AWS service: greengrass
Policy AWSGreengrassResourceAccessRolePolicy (AWSGreengrassResourceAccessRolePolicy)
注意

如果 Greengrass 裝置安裝程式建立了服務角色,則角色名稱為 GreengrassServiceRole_random-string

當您建立或部署從AWS IoT主控台時,主控台會檢查 Greengrass 服務角色是否與您的AWS 帳戶中的AWS 區域目前在主控台中選取的內容。如果沒有,主控台會提示您允許AWS IoT Greengrass讀取和寫入AWS代表您服務。

如果您授予許可,主控台就會檢查名為的角色Greengrass_ServiceRole存在於您的AWS 帳戶。

  • 如果該角色存在,主控台就會將該服務角色連接至您的AWS 帳戶在最新的AWS 區域。

  • 如果該角色不存在,主控台會建立預設的 Greengrass 服務角色,並將其連接到您的AWS 帳戶在最新的AWS 區域。

注意

如果您想要使用自訂角色政策建立服務角色,請使用 IAM 主控台來建立或修改角色。如需詳細資訊,請參閱「」建立角色以委派許可給AWS服務修改角色中的IAM User Guide。請確定角色會授與與您所使用功能和資源之 AWSGreengrassResourceAccessRolePolicy 受管政策相同的許可。

如果您建立服務角色,請返回AWS IoT主控台並將角色連接至群組。您可以在Greengrass 服務角色在群組的設定(憑證已建立!) 頁面上的名稱有些許差異。

 

變更 Greengrass 服務角色 (主控台)

使用以下程序,選擇要連接至您的 Greengrass 服務角色。AWS 帳戶中的AWS 區域目前在主控台中選取的。

  1. AWS IoT 主控台的導覽窗格中,選擇 Settings (設定)

  2. Greengrass service role (Greengrass 服務角色) 下,選擇 Choose different role (選擇不同角色)

    IAM 角色AWS 帳戶定義AWS IoT Greengrass因為受信任的實體會顯示在選擇 Greengrass 服務角色] 對話方塊。

  3. 選擇您的 Greengrass 服務角色。

  4. 選擇 Save (儲存)。

注意

若要允許主控台為您建立預設的 Greengrass 服務角色, 請選擇 Create role for me (為我建立角色),而不要從清單中選擇角色。所以此為我建立角色如果角色名為Greengrass_ServiceRole位於您的AWS 帳戶。

 

分離 Greengrass 服務角色 (主控台)

使用下列程序將 Greengrass 服務角色從您的AWS 帳戶中的AWS 區域目前在主控台中選取的。這會撤銷AWS IoT Greengrass若要存取AWS在目前AWS 區域。

重要

分離服務角色可能會中斷作用中的操作。

  1. AWS IoT 主控台的導覽窗格中,選擇 Settings (設定)

  2. Greengrass service role (Greengrass 服務角色) 下,選擇 Detach (分離)

  3. 在確認對話方塊中,選擇 Detach role (分離角色)

注意

如果您不再需要該角色,請在 IAM 主控台中將其刪除。如需詳細資訊,請參閱「」刪除角色或執行個體描述檔中的IAM User Guide

其他角色可能會允許 AWS IoT Greengrass 存取您的資源。若要尋找所有允許AWS IoT Greengrass,以代表您在 IAM 主控台的角色頁面上,尋找包含AWS服務:Greengrass中的信任實體資料行。

管理 Greengrass 服務角色 (CLI)

在下列程序中,我們假設AWS CLI已安裝並配置為使用AWS 帳戶ID。如需詳細資訊,請參閱「」安裝AWS命令列界面設定AWS CLI中的AWS Command Line Interface使用者指南

您可以使用 AWS CLI 進行下列角色管理任務 :

 

取得 Greengrass 服務角色 (CLI)

使用下列程序,確認一個 Greengrass 服務角色是否與您的AWS 帳戶在AWS 區域。

  • 取得服務角色。Replaceregion,並附上您的AWS 區域(例如,us-west-2

    aws greengrass get-service-role-for-account --region region

    如果 Greengrass 服務角色已與您的帳戶關聯,會傳回下列的角色中繼資料。

    { "AssociatedAt": "timestamp", "RoleArn": "arn:aws:iam::account-id:role/path/role-name" }

    如果沒有傳回角色中繼資料,則您必須建立服務角色 (如果角色不存在),並將該角色與AWS 區域。

 

建立 Greengrass 服務角色 (CLI)

請使用下列步驟來建立角色,並將其與AWS 帳戶。

使用 IAM 建立服務角色

  1. 建立包含信任政策,可讓 AWS IoT Greengrass 擔任角色之角色。此範例會建立名為 Greengrass_ServiceRole 的角色,但您可以使用不同的名稱。

    Linux, macOS, or Unix
    aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "greengrass.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
    Windows command prompt
    aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}]}"
  2. 從輸出中的角色中繼資料,複製角色 ARN。您使用 ARN 將角色與您的帳戶相關聯。

  3. AWSGreengrassResourceAccessRolePolicy 政策連接到角色。

    aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy

若要將服務角色與您的AWS 帳戶

  • 將角色與您的帳戶相關聯。Replace角色 ARN具有服務角色 ARN 和region,並附上您的AWS 區域(例如,us-west-2

    aws greengrass associate-service-role-to-account --role-arn role-arn --region region

    如果成功,會傳回下列回應。

    { "AssociatedAt": "timestamp" }

 

移除 Greengrass 服務角色 (CLI)

使用下列步驟將 Greengrass 服務角色與您的AWS 帳戶。

  • 將服務角色與您的帳戶取消關聯。Replaceregion,並附上您的AWS 區域(例如,us-west-2

    aws greengrass disassociate-service-role-from-account --region region

    如果成功,會傳回下列回應。

    { "DisassociatedAt": "timestamp" }
    注意

    如果您不是在任何AWS 區域。首先,使用 delete-role-policyAWSGreengrassResourceAccessRolePolicy 受管政策從角色中分離,然後使用 delete-role 來刪除角色。如需詳細資訊,請參閱「」刪除角色或執行個體描述檔中的IAM User Guide

另請參閱