

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

# AWS FIS 실험을 위한 IAM 역할
<a name="getting-started-iam-service-role"></a>

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

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

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

**Topics**
+ [사전 조건](#create-fis-role-prereqs)
+ [옵션 1: 실험 역할 생성 및 AWS 관리형 정책 연결](#fis-role-managed-policy)
+ [옵션 2: 실험 역할 생성 및 인라인 정책 문서 추가](#fis-role-inline-policy-document)

## 사전 조건
<a name="create-fis-role-prereqs"></a>

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

**설치 AWS CLI**  
시작하기 전에 AWS CLI을(를) 설치하고 구성합니다. 를 구성할 때 자격 AWS 증명을 입력 AWS CLI하라는 메시지가 표시됩니다. 이 절차의 예제에서는 기본 리전도 구성했다고 가정합니다. 그렇지 않을 경우 각 명령에 `--region` 옵션을 적용합니다. 자세한 내용은 [AWS CLI설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 및 [AWS CLI구성](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)을 참조하세요.

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

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": [
                  "fis.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```
[혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)로부터 자신을 보호하기 위하여 `aws:SourceAccount` 및 `aws: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 관리형 정책 연결
<a name="fis-role-managed-policy"></a>

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

**실험 역할을 생성하고 AWS 관리형 정책을 연결하려면**

1. 실험의 AWS FIS 작업에 대한 관리형 정책이 있는지 확인합니다. 그렇지 않으면 자체 인라인 정책 문서를 만들어야 합니다. 자세한 내용은 [AWS AWS Fault Injection Service에 대한 관리형 정책](security-iam-awsmanpol.md) 단원을 참조하십시오.

1. 다음 [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 명령을 사용하여 역할을 만들고 사전 조건에 따라 만든 신뢰 정책을 추가합니다.

   ```
   aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
   ```

1. 다음 [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) 명령을 사용하여 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: 실험 역할 생성 및 인라인 정책 문서 추가
<a name="fis-role-inline-policy-document"></a>

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

**실험을 만들고 인라인 정책 문서를 추가하려면**

1. 다음 [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 명령을 사용하여 역할을 만들고 사전 조건에 따라 만든 신뢰 정책을 추가합니다.

   ```
   aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
   ```

1. `fis-role-permissions-policy.json`라는 텍스트 파일을 만들고 권한 정책을 추가합니다. 시작점으로 사용할 수 있는 예제를 보려면 다음을 참조하세요.
   + **오류 주입 작업** - 다음 정책에서 시작합니다.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "AllowFISExperimentRoleFaultInjectionActions",
                 "Effect": "Allow",
                 "Action": [
                     "fis:InjectApiInternalError",
                     "fis:InjectApiThrottleError",
                     "fis:InjectApiUnavailableError"
                 ],
                 "Resource": "arn:*:fis:*:*:experiment/*"
             }
         ]
     }
     ```

------
   + **Amazon EBS 작업** - 다음 정책에서 시작합니다.

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:DescribeVolumes"
                 ],
                 "Resource": "*"
             },
             {
                 "Effect": "Allow",
                 "Action": [
                     "ec2:PauseVolumeIO"
                 ],
                 "Resource": "arn:aws:ec2:*:*:volume/*"
             }
         ]
     }
     ```

------
   + **Amazon EC2 작업** - [AWSFaultInjectionSimulatorEC2Access](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEC2Access.html) 정책에서 시작합니다.
   + **Amazon ECS 작업** - [AWSFaultInjectionSimulatorECSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorECSAccess.html) 정책에서 시작합니다.
   + **Amazon EKS 작업** – [AWSFaultInjectionSimulatorEKSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorEKSAccess.html) 정책에서 시작합니다.
   + **네트워크 작업** – [AWSFaultInjectionSimulatorNetworkAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorNetworkAccess.html) 정책에서 시작합니다.
   + **Amazon RDS 작업** – [AWSFaultInjectionSimulatorRDSAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorRDSAccess.html) 정책에서 시작합니다.
   + **Systems Manager 작업** – [AWSFaultInjectionSimulatorSSMAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSFaultInjectionSimulatorSSMAccess.html) 정책에서 시작합니다.

1. 다음 [put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) 명령을 사용하여 이전 단계에서 생성한 권한 정책을 추가합니다.

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