AWS FIS 실험을 위한 IAM 역할 - AWS 장애 주입 서비스

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

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 CLI를 구성하면 AWS 보안 인증 정보를 입력하라는 메시지가 표시됩니다. 이 절차의 예제에서는 기본 리전도 구성했다고 가정합니다. 그렇지 않을 경우 각 명령에 --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 작업에 대한 관리형 정책이 있는지 확인하세요. 그렇지 않으면 자체 인라인 정책 문서를 만들어야 합니다. 자세한 설명은 AWS 에 대한 관리형 정책 AWS 장애 인젝션 서비스 섹션을 참조하세요.

  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