IoT Greengrass のインストール時に IAM ロールやロールエイリアスを指定する方法について教えてください

2022.12.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

IoT Greengrass のインストールを実施していますが、事前に作成した IAM ロールやロールエイリアスを使用したいと考えています。
しかし、デフォルトではインストール時に GreengrassV2TokenExchangeRole というロールや GreengrassV2TokenExchangeRoleAlias というエイリアスが作成されてしまうので、IAM ロールやロールエイリアスを指定する方法について教えてください。

どう対応すればいいの?

IAM ロールについてはインストーラ引数の -trn, --tes-role-name にてロールを指定することができます。
ロールエイリアスについてはインストーラ引数の -tra, --tes-role-alias-name にてエイリアスを指定することができます。

-trn, --tes-role-name
(オプション) コアデバイスが AWS サービスとやり取りするための AWS 認証情報を取得するために使用する IAM ロールの名前。この名前のロールが AWS アカウント に存在しない場合、AWS IoT Greengrass Core ソフトウェアが GreengrassV2TokenExchangeRoleAccess ポリシーを使ってロールを作成します。このロールは、コンポーネントのアーティファクトをホストする S3 バケットにはアクセスできません。そのため、コンポーネントを作成するときに、アーティファクトの S3 バケットとオブジェクトへのアクセス許可を追加する必要があります。詳細については、「コアデバイスが AWS サービスを操作できるように認証する」を参照してください。

この引数を適用するには、--provision true を指定する必要があります。

デフォルト: GreengrassV2TokenExchangeRole

-tra, --tes-role-alias-name
(オプション) このコアデバイスの AWS 認証情報を提供する IAM ロールを指している AWS IoT ロールエイリアスの名前。この名前のロールエイリアスが AWS アカウント に存在しない場合、AWS IoT Greengrass Core ソフトウェアはそれを作成し、指定されている IAM ロールを指すように設定します。

この引数を適用するには、--provision true を指定する必要があります。

デフォルト: GreengrassV2TokenExchangeRoleAlias

参考資料