AWS FIS 실험을 위한 IAM 역할 - AWS Fault Injection Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS FIS 실험을 위한 IAM 역할

AWS Identity and Access Management (IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있도록 지원하는 AWS 서비스입니다. AWS FIS를 사용하려면 AWS FIS가 사용자를 대신하여 실험을 실행할 수 있도록 필요한 권한을 AWS FIS에 부여하는 IAM 역할을 생성해야 합니다. 실험 템플릿을 생성할 때 이 실험 역할을 지정합니다. 단일 계정 실험의 경우 실험 역할에 대한 IAM 정책은 실험 템플릿에서 대상으로 지정한 리소스를 수정할 수 있는 권한을 부여해야 합니다. 다중 계정 실험의 경우 실험 역할은 오케스트레이터 역할에 각 대상 계정에 대한 IAM 역할을 맡을 수 있는 권한을 부여해야 합니다. 자세한 내용은 다중 계정 실험에 대한 권한 단원을 참조하십시오.

최소 권한 부여 표준 보안 관행을 따르는 것이 좋습니다. 정책에 특정 리소스 ARN 또는 태그를 지정하여 이 작업을 수행할 수 있습니다.

AWS FIS를 빠르게 시작할 수 있도록 실험 역할을 생성할 때 지정할 수 있는 AWS 관리형 정책을 제공합니다. 또는 자체 인라인 정책 문서를 만들 때 이러한 정책을 모델로 사용할 수도 있습니다.

사전 조건

시작하기 전에 AWS CLI 를 설치하고 필요한 신뢰 정책을 생성합니다.

설치 AWS CLI

시작하기 전에 AWS CLI을(를) 설치하고 구성합니다. 를 구성할 때 AWS 자격 증명을 입력 AWS CLI하라는 메시지가 표시됩니다. 이 절차의 예제에서는 기본 리전도 구성했다고 가정합니다. 그렇지 않을 경우 각 명령에 --region 옵션을 적용합니다. 자세한 내용은 AWS CLI설치 또는 업데이트AWS CLI구성을 참조하세요.

신뢰 관계 정책 만들기

실험 역할에는 AWS FIS 서비스가 역할을 수임할 수 있도록 허용하는 신뢰 관계가 있어야 합니다. fis-role-trust-policy.json라는 텍스트 파일을 만들어 다음 신뢰 관계 정책을 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

혼동된 대리자 문제로부터 자신을 보호하기 위하여 aws:SourceAccountaws:SourceArn 조건 키를 사용할 것을 권장합니다. 소스 계정은 실험의 소유자이고 소스 ARN은 실험의 ARN입니다. 예를 들어 신뢰 정책에 다음 조건 블록을 추가해야 합니다.

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:fis:region:account_id:experiment/*" } }
대상 계정 역할을 맡을 수 있는 권한 추가(다중 계정 실험만 해당)

다중 계정 실험의 경우 오케스트레이터 계정이 대상 계정 역할을 맡을 수 있는 권한이 필요합니다. 다음 예제를 수정하여 인라인 정책 문서로 추가하여 대상 계정 역할을 가정할 수 있습니다.

{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":[ "arn:aws:iam::target_account_id:role/role_name" ] }

옵션 1: 실험 역할 생성 및 AWS 관리형 정책 연결

AWS FIS의 AWS 관리형 정책 중 하나를 사용하여 빠르게 시작합니다.

실험 역할을 생성하고 AWS 관리형 정책을 연결하려면
  1. 실험에 AWS FIS 작업에 대한 관리형 정책이 있는지 확인합니다. 그렇지 않으면 자체 인라인 정책 문서를 만들어야 합니다. 자세한 내용은 AWSAWS Fault Injection Service에 대한 관리형 정책 단원을 참조하십시오.

  2. 다음 create-role 명령을 사용하여 역할을 만들고 사전 조건에 따라 만든 신뢰 정책을 추가합니다.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  3. 다음 attach-role-policy 명령을 사용하여 AWS 관리형 정책을 연결합니다.

    aws iam attach-role-policy --role-name my-fis-role --policy-arn fis-policy-arn

    여기서 fis-policy-arn은 다음 중 하나입니다.

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess

옵션 2: 실험 역할 생성 및 인라인 정책 문서 추가

관리형 정책이 없는 작업이나 특정 실험에 필요한 권한만 포함하는 작업에 이 옵션을 사용하세요.

실험을 만들고 인라인 정책 문서를 추가하려면
  1. 다음 create-role 명령을 사용하여 역할을 만들고 사전 조건에 따라 만든 신뢰 정책을 추가합니다.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  2. fis-role-permissions-policy.json라는 텍스트 파일을 만들고 권한 정책을 추가합니다. 시작점으로 사용할 수 있는 예제를 보려면 다음을 참조하세요.

    • 오류 주입 작업 - 다음 정책에서 시작합니다.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentRoleFaultInjectionActions", "Effect": "Allow", "Action": [ "fis:InjectApiInternalError", "fis:InjectApiThrottleError", "fis:InjectApiUnavailableError" ], "Resource": "arn:*:fis:*:*:experiment/*" } ] }
    • Amazon EBS 작업 - 다음 정책에서 시작합니다.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" } ] }
    • Amazon EC2 작업 - AWSFaultInjectionSimulatorEC2Access 정책에서 시작합니다.

    • Amazon ECS 작업 - AWSFaultInjectionSimulatorECSAccess 정책에서 시작합니다.

    • Amazon EKS 작업AWSFaultInjectionSimulatorEKSAccess 정책에서 시작합니다.

    • 네트워크 작업AWSFaultInjectionSimulatorNetworkAccess 정책에서 시작합니다.

    • Amazon RDS 작업AWSFaultInjectionSimulatorRDSAccess 정책에서 시작합니다.

    • Systems Manager 작업AWSFaultInjectionSimulatorSSMAccess 정책에서 시작합니다.

  3. 다음 put-role-policy 명령을 사용하여 이전 단계에서 생성한 권한 정책을 추가합니다.

    aws iam put-role-policy --role-name my-fis-role --policy-name my-fis-policy --policy-document file://fis-role-permissions-policy.json