기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
IAM 실행 역할을 사용하여 AWS 리소스에 액세스
Device Farm은 테스트 실행 중에 사용자 지정 테스트 런타임 환경에서 수임할 IAM 역할 지정을 지원합니다. 이 기능을 사용하면 테스트가 Amazon S3 버킷, DynamoDB 테이블 또는 애플리케이션이 의존하는 기타 AWS 서비스와 같은 계정의 AWS 리소스에 안전하게 액세스할 수 있습니다.
개요
IAM 실행 역할을 지정하면 Device Farm은 테스트 실행 중에이 역할을 수임하여 테스트가 역할에 정의된 권한을 사용하여 AWS 서비스와 상호 작용할 수 있도록 합니다.
IAM 실행 역할의 일반적인 사용 사례는 다음과 같습니다.
-
Amazon S3 버킷에 저장된 테스트 데이터 액세스
-
Amazon S3 버킷에 테스트 아티팩트 푸시
-
AWS AppConfig에서 애플리케이션 구성 검색
-
Amazon CloudWatch에 테스트 로그 및 지표 작성
-
Amazon SQS 대기열로 테스트 결과 또는 상태 메시지 전송
-
테스트 워크플로의 일부로 AWS Lambda 함수 호출
IAM 역할 요구 사항
Device Farm에서 IAM 실행 역할을 사용하려면 역할이 다음 요구 사항을 충족해야 합니다.
-
신뢰 관계: 역할을 수임하려면 Device Farm 서비스 보안 주체를 신뢰해야 합니다. 신뢰 정책은를 신뢰할 수 있는 엔
devicefarm.amazonaws.com터티로 포함해야 합니다. -
권한: 역할에는 테스트에 필요한 AWS 리소스에 액세스하는 데 필요한 권한이 있어야 합니다.
-
세션 기간: 역할의 최대 세션 기간은 Device Farm 프로젝트의 작업 제한 시간 설정보다 길어야 합니다. 기본적으로 Device Farm 프로젝트의 작업 제한 시간은 150분이므로 역할은 최소 150분의 세션 기간을 지원해야 합니다.
-
동일한 계정 요구 사항: IAM 역할은 Device Farm을 호출하는 데 사용된 것과 동일한 AWS 계정에 있어야 합니다. 교차 계정 역할 가정은 지원되지 않습니다.
-
PassRole 권한: 호출자는 지정된 실행 역할에 대한
iam:PassRole작업을 허용하는 정책을 통해 IAM 역할을 전달할 권한이 있어야 합니다.
신뢰 정책 예제
다음 예제에서는 Device Farm이 실행 역할을 수임하도록 허용하는 신뢰 정책을 보여줍니다. 이 신뢰 정책은 Device Farm과 함께 사용하려는 특정 IAM 역할에만 연결되어야 하며 계정의 다른 역할에는 연결되지 않아야 합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "devicefarm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
권한 정책 예
다음 예제는 테스트에 사용되는 일반적인 AWS 서비스에 대한 액세스 권한을 부여하는 권한 정책을 보여줍니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-test-bucket", "arn:aws:s3:::my-test-bucket/*" ] }, { "Effect": "Allow", "Action": [ "appconfig:GetConfiguration", "appconfig:StartConfigurationSession" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/devicefarm/test-*" }, { "Effect": "Allow", "Action": [ "sqs:SendMessage", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:*:*:test-results-*" } ] }
IAM 실행 역할 구성
프로젝트 수준에서 또는 개별 테스트 실행에 대해 IAM 실행 역할을 지정할 수 있습니다. 프로젝트 수준에서 구성하면 해당 프로젝트 내의 모든 실행이 실행 역할을 상속합니다. 실행에 구성된 실행 역할은 상위 프로젝트에 구성된를 대체합니다.
실행 역할 구성에 대한 자세한 지침은 다음을 참조하세요.
-
AWS Device Farm에서 프로젝트 생성 - 프로젝트 수준에서 실행 역할 구성
-
Device Farm에서 테스트 실행 생성 - 개별 실행에 대한 실행 역할 구성
Device Farm API를 사용하여 실행 역할을 구성할 수도 있습니다. 자세한 내용은 Device Farm API 참조를 참조하세요.
모범 사례
Device Farm 테스트에 대한 IAM 실행 역할을 구성할 때 다음 모범 사례를 따르세요.
-
최소 권한 원칙: 테스트가 작동하는 데 필요한 최소 권한만 부여합니다.
*작업이나 리소스와 같이 지나치게 광범위한 권한을 사용하지 마세요. -
리소스별 권한 사용: 가능하면 유형의 모든 리소스가 아닌 특정 리소스(예: 특정 S3 버킷 또는 DynamoDB 테이블)로 권한을 제한합니다.
-
별도의 테스트 및 프로덕션 리소스: 전용 테스트 리소스와 역할을 사용하여 테스트 중에 실수로 프로덕션 시스템에 영향을 미치지 않도록 합니다.
-
정기적인 역할 검토: 실행 역할을 정기적으로 검토하고 업데이트하여 테스트 요구 사항을 여전히 충족하고 보안 모범 사례를 따르도록 합니다.
-
조건 키 사용: IAM 조건 키를 사용하여 역할을 사용할 수 있는 시기와 방법을 추가로 제한하는 것이 좋습니다.
문제 해결
IAM 실행 역할에 문제가 발생하면 다음을 확인하세요.
-
신뢰 관계: 역할의 신뢰 정책에가 신뢰할
devicefarm.amazonaws.com수 있는 서비스로 포함되어 있는지 확인합니다. -
권한: 역할에 테스트가 액세스하려는 AWS 서비스에 필요한 권한이 있는지 확인합니다.
-
테스트 로그: 테스트 실행 로그에서 AWS API 호출 또는 권한 거부와 관련된 특정 오류 메시지를 검토합니다.