ロールテンプレートの概要
ロールテンプレートとは、新しいロールの作成に使用するロールの設計図です。テンプレートはロールの信頼ポリシーとアクセス許可を設定するため、ユーザーはポリシーを自分で記述することなく、そのサービス向けのロールをすぐに取得できます。
ロールマネージャーは AWS マネージドロールテンプレートを使用しますが、ロールマネージャーなしでロールテンプレートを使用することもできます。このページでは、ロールテンプレートの仕組みを説明し、各サービス向けテンプレートを一覧表示します。
ロールテンプレートの仕組み
ロールテンプレートには、信頼ポリシーとアクセス許可が含まれ、Amazon リソースネーム (ARN) が付いています。信頼ポリシーは、どのプリンシパルがそのロールを引き受けできるかを定義します。アクセス許可は、そのロールが実行できる内容を定義します。テンプレートのバージョンは変更できません。AWS がテンプレートを更新すると、既存のバージョンを変更するのではなく、新しいバージョンのテンプレートが発行されます。
ロールテンプレートは、ロールのプロパティやアクセス許可をカスタマイズおよび範囲設定するための追加パラメータを受け入れることができます。たとえば、テンプレートは、作成するロールの RoleName や、bucketName などのリソース識別子を受け入れることができます。ロールマネージャーがコンソールでロールを作成する時には、ロールのアクセス許可と信頼ポリシーにパラメータが自動適用されます。IAM API を使用してテンプレートから直接ロールを作成する場合は、ユーザーがこれらのパラメータを指定します。
テンプレートからロールを作成するには、テンプレートの ARN で iam:AcquireRole API を使用し、テンプレートに必要なパラメータを渡します。
ロールテンプレートの定義はバージョンによって異なる場合があります。テンプレートの現在の信頼ポリシーとアクセス許可を確認するには、テンプレート ARN を使用して iam:GetRoleTemplateVersion でテンプレートを取得します。AWS では、特に広範なアクセスを許可するテンプレートについては、そのまま適用するのではなく、まずテンプレートを検査するよう推奨しています。
ロールマネージャーがテンプレートを使用する仕組み
サポートされているサービスコンソールでリソースを作成する場合、ロールマネージャーは、サービスとユースケースに一致するテンプレートからロールを提供します。ロールマネージャーはテンプレートを選択してパラメータを提供します。これにより得られる結果は、iam:AcquireRole を呼び出した場合とロールと同じになります。ロールマネージャーを有効にする方法については、「ロールマネージャーへのアクセスを管理する」を参照してください。
ロールテンプレートディレクトリ
次の表に、ロールマネージャーがサポートする各サービス向けロールテンプレートと、それぞれに対応するテンプレート ARN およびパラメータを示します。ARN を使用してテンプレートからロールを作成するか、またはそのサービスに対してロールマネージャーが付与する許可等を確認します。サービスはアルファベット順に一覧表示されます。
| サービス | Role template | テンプレート ARN | パラメータ |
|---|---|---|---|
| AWS Elastic Beanstalk | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName、RoleName |
| Amazon EventBridge | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName、RoleName |
| AWS Lambda | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName、RoleName |
| Amazon SageMaker Unified Studio | AmazonSageMakerAdminIAMPermissiveExecutionRoleTemplate | arn:aws:iam::aws:role-template/datazone.amazonaws.com/AmazonSageMakerAdminIAMPermissiveExecutionRoleTemplate:1 |
CMK_ENABLED、RoleName、accountId、keyAccountId、keyRegion、kmsKeyId |
| Amazon SageMaker Unified Studio | AmazonSageMakerUserIAMPermissiveExecutionRoleTemplate | arn:aws:iam::aws:role-template/datazone.amazonaws.com/AmazonSageMakerUserIAMPermissiveExecutionRoleTemplate:1 |
RoleName、accountId |
| AWS 秘密マネジャー | AWSSecretsManagerRotationRoleTemplate | arn:aws:iam::aws:role-template/secretsmanager.amazonaws.com/AWSSecretsManagerRotationRoleTemplate:1 |
ADMIN_RESOURCE_ENABLED、CMK_ENABLED、RoleName、accountId、adminType、kmsKeyArn、region、resourceType |
| AWS Step Functions | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName、RoleName |