역할 템플릿 개요
역할 템플릿 개요
역할 템플릿(role template)은 새 역할을 만드는 데 사용되는 역할 설계도입니다. 템플릿은 역할의 신뢰 정책과 권한을 설정해서 정책을 직접 작성하지 않아도 바로 사용할 수 있는 역할을 제공합니다.
출처: 문서
본문
역할 관리자는 AWS 관리형 역할 템플릿을 사용하지만, 역할 관리자 없이도 역할 템플릿을 사용할 수 있어요. 이 페이지는 역할 템플릿이 어떻게 작동하는지 설명하고 각 서비스의 템플릿을 나열합니다.
역할 템플릿 작동 방식
역할 템플릿은 신뢰 정책과 권한을 포함하며 Amazon Resource Name(ARN)이 있습니다. 신뢰 정책은 어떤 주체가 역할을 수임할 수 있는지 정의합니다. 권한은 역할이 무엇을 할 수 있는지 정의합니다. 템플릿 버전은 변경할 수 없습니다. AWS가 템플릿을 업데이트하면 기존 버전을 변경하는 대신 새 버전을 게시합니다.
역할 템플릿은 역할의 속성과 권한을 사용자 지정하고 범위를 좁히기 위한 추가 파라미터를 받을 수 있습니다. 예를 들어 템플릿이 만드는 역할의 RoleName이나 bucketName 같은 리소스 식별자를 받을 수 있어요. 역할 관리자가 콘솔에서 역할을 만들 때 파라미터를 역할의 권한과 신뢰 정책에 적용합니다. IAM API로 템플릿에서 직접 역할을 만들 때는 이러한 파라미터를 직접 제공합니다.
템플릿에서 역할을 만들려면 iam:AcquireRole API를 템플릿의 ARN과 함께 사용하고 템플릿이 요구하는 파라미터를 전달합니다.
역할 템플릿의 정의는 버전마다 달라질 수 있습니다. 템플릿의 현재 신뢰 정책과 권한을 보려면 템플릿 ARN으로 iam:GetRoleTemplateVersion으로 검색합니다. AWS는 템플릿에 의존하기 전에 검사할 것을 권장하며, 특히 광범위한 접근을 부여하는 템플릿의 경우 더욱 그렇습니다.
역할 관리자가 템플릿을 사용하는 방법
지원되는 서비스 콘솔에서 리소스를 만들 때 역할 관리자는 서비스와 사용 사례와 일치하는 템플릿의 역할을 제공합니다. 역할 관리자가 템플릿을 선택하고 파라미터를 대신 제공합니다. 결과는 iam:AcquireRole을 호출했을 때 얻는 것과 같은 역할입니다. 역할 관리자를 활성화하려면 역할 관리자 접근 관리 문서를 참고하세요.
역할 템플릿 디렉토리
다음 표는 역할 관리자가 지원하는 각 서비스의 역할 템플릿을 템플릿 ARN과 받는 파라미터와 함께 나열합니다. 템플릿에서 역할을 만들거나 역할 관리자가 해당 서비스에 부여하는 것을 검토하려면 ARN을 사용하세요. 서비스는 알파벳순으로 나열됩니다.
| 서비스 | 역할 템플릿 | 템플릿 ARN | 파라미터 |
|---|---|---|---|
| AWS Backup | AWSBackupDefaultServiceRoleTemplate | arn:aws:iam::aws:role-template/backup.amazonaws.com/AWSBackupDefaultServiceRoleTemplate:1 |
accountId, RoleName |
| AWS CloudFormation | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName, RoleName |
| 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 RDS | AmazonRDSDirectoryServiceIntegrationRoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSDirectoryServiceIntegrationRoleTemplate:1 |
RoleName, accountId |
| Amazon RDS | AmazonRDSExportToS3RoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSExportToS3RoleTemplate:1 |
RoleName, accountId, bucketName |
| Amazon RDS | AmazonRDSImportFromS3RoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSImportFromS3RoleTemplate:1 |
CUSTOM_KMS_KEY, RoleName, accountId, bucketName, keyAccountId, keyRegion, kmsKeyId, prefix |
| Amazon RDS | AmazonRDSMonitoringRoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSMonitoringRoleTemplate:1 |
RoleName, accountId |
| Amazon RDS | AmazonRDSProxyRoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSProxyRoleTemplate:2 |
PROXY_WITH_CUSTOM_KEY, PROXY_WITH_DB_CONNECTION, PROXY_WITH_SECRET, RoleName, accountId, dbResourceId, dbUser, keyId, region, secretId |
| Amazon RDS | AmazonRDSSecretAccessForDMSRoleTemplate | arn:aws:iam::aws:role-template/rds.amazonaws.com/AmazonRDSSecretAccessForDMSRoleTemplate:1 |
CUSTOM_KMS_KEY, RoleName, accountId, kmsKeyArn, region, resourceType, secretId |
| Amazon SageMaker Unified Studio | AmazonSageMakerAdminIAMPermissiveExecutionRoleTemplate | arn:aws:iam::aws:role-template/datazone.amazonaws.com/AmazonSageMakerAdminIAMPermissiveExecutionRoleTemplate:1 |
CMK_ENABLED, RoleName, accountId, kmsKeyId |
| Amazon SageMaker Unified Studio | AmazonSageMakerUserIAMPermissiveExecutionRoleTemplate | arn:aws:iam::aws:role-template/datazone.amazonaws.com/AmazonSageMakerUserIAMPermissiveExecutionRoleTemplate:1 |
RoleName, accountId, CMK_ENABLED, kmsKeyId |
| AWS Secrets Manager | AWSSecretsManagerRotationRoleTemplate | arn:aws:iam::aws:role-template/secretsmanager.amazonaws.com/AWSSecretsManagerRotationRoleTemplate:1 |
ADMIN_RESOURCE_ENABLED, RoleName, accountId, resourceType |
| AWS Step Functions | (역할 관리자에서 사용) | — | — |
| Amazon CloudWatch | PowerUserRoleTemplate | arn:aws:iam::aws:role-template/iam.amazonaws.com/PowerUserRoleTemplate:1 |
AWSServiceName, RoleName |
참고 전체 및 최신 역할 템플릿 디렉토리는 IAM API로
GetRoleTemplateVersion을 사용해 각 템플릿을 검색해 확인하는 것이 가장 정확합니다. 파라미터 목록과 템플릿은 AWS가 업데이트하면서 계속 변경됩니다.