

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

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

# Amazon CodeCatalyst의 ID 및 액세스 관리
<a name="security-iam"></a>

Amazon CodeCatalyst에서는 AWS Builder ID를 생성하고 사용하여 스페이스와 프로젝트에 로그인하고 액세스합니다. AWS Builder ID는 AWS Identity and Access Management (IAM)의 자격 증명이 아니며에 존재하지 않습니다 AWS 계정. 그러나 CodeCatalyst는 결제 목적으로 공간을 확인할 때, 그리고 AWS 계정 에 연결되어 해당에서 리소스를 생성하고 사용할 때 IAM과 통합됩니다 AWS 계정.

AWS Identity and Access Management (IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움이 AWS 서비스 되는 입니다. IAM 관리자는 누가 리소스를 사용하도록 *인증*되고(로그인됨) *권한이 부여*되는지(권한 있음)를 제어합니다. IAM은 추가 비용 없이 사용할 수 AWS 서비스 있는 입니다.

Amazon CodeCatalyst에서 스페이스를 생성할 때 AWS 계정 를 청구 계정으로 연결해야 합니다. CodeCatalyst 스페이스를 확인하기 위한 AWS 계정 의 관리자 권한이나, 해당 권한이 있어야 합니다. 또한 CodeCatalyst가 연결된 AWS 계정에서 리소스를 생성하고 액세스하는 데 사용할 수 있는 스페이스에 IAM 역할을 추가할 수 있습니다. 이를 [서비스 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)이라고 합니다. 둘 이상의에 대한 연결을 AWS 계정 생성하고 각 계정에서 CodeCatalyst에 대한 서비스 역할을 생성하도록 선택할 수 있습니다.

**참고**  
CodeCatalyst에 대한 결제는 결제 계정으로 AWS 계정 지정된에서 이루어집니다. 그러나 해당 AWS 계정 또는 연결된 다른에서 CodeCatalyst 서비스 역할을 생성하는 경우 CodeCatalyst 서비스 역할에서 생성 및 사용하는 AWS 계정리소스는 연결된에서 청구됩니다 AWS 계정. 자세한 내용은 Amazon CodeCatalyst 관리자 안내서의 [Managing billing](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-billing.html)을 참조하세요.

**Topics**
+ [IAM의 ID 기반 정책](#id-based-policies)
+ [IAM의 정책 작업](#id-based-policies-actions)
+ [IAM의 정책 리소스](#id-based-policies-resources)
+ [IAM의 정책 조건 키](#id-based-policies-conditionkeys)
+ [CodeCatalyst의 ID 기반 정책 예시](#id-based-policy-examples)
+ [태그를 사용하여 계정 연결 리소스에 대한 액세스 제어](id-based-policy-examples-tags.md)
+ [CodeCatalyst 권한 참조](#permissions-reference)
+ [CodeCatalyst에 서비스 연계 역할 사용](using-service-linked-roles.md)
+ [AWS Amazon CodeCatalyst에 대한 관리형 정책](security-iam-awsmanpol.md)
+ [IAM 역할을 사용하여 프로젝트 AWS 리소스에 대한 액세스 권한 부여](ipa-iam-roles.md)

## IAM의 ID 기반 정책
<a name="id-based-policies"></a>

ID 기반 정책은 ID에 연결할 수 있는 JSON 권한 정책 문서입니다. 해당 ID는 사용자, 사용자 그룹 또는 역할일 수 있습니다. 이러한 정책은 사용자와 역할이 어떤 리소스와 어떤 조건에서 어떤 작업을 수행할 수 있는지를 제어합니다. ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*의 [IAM 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)을 참조하세요.

IAM ID 기반 정책을 사용하면 허용되거나 거부되는 작업과 리소스뿐 아니라 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. ID 기반 정책에서는 위탁자가 연결된 사용자 또는 역할에 적용되므로 위탁자를 지정할 수 없습니다. JSON 정책에서 사용하는 모든 요소에 대해 알아보려면 *IAM 사용 설명서*의 [IAM JSON 정책 요소 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)를 참조하세요.

### CodeCatalyst의 ID 기반 정책 예시
<a name="id-based-policies-examples"></a>



CodeCatalyst ID 기반 정책 예시를 보려면 [CodeCatalyst의 ID 기반 정책 예시](#id-based-policy-examples) 섹션을 참조하세요.

## IAM의 정책 작업
<a name="id-based-policies-actions"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **위탁자**가 어떤 **리소스**와 어떤 **조건**에서 어떤 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

JSON 정책의 `Action`요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 정책 작업은 일반적으로 연결된 AWS API 작업과 이름이 동일합니다. 일치하는 API 작업이 없는 권한 *전용 작업* 같은 몇 가지 예외도 있습니다. 정책에서 여러 작업이 필요한 몇 가지 작업도 있습니다. 이러한 추가 작업을 일컬어 *종속 작업*이라고 합니다.

단일 문에서 여러 작업을 지정하려면 쉼표로 구분합니다.

```
"Action": [
      "prefix:action1",
      "prefix:action2"
         ]
```

## IAM의 정책 리소스
<a name="id-based-policies-resources"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **위탁자**가 어떤 **리소스**와 어떤 **조건**에서 어떤 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Resource` JSON 정책 요소는 작업이 적용되는 하나 이상의 객체를 지정합니다. 문에는 `Resource`또는 `NotResource`요소가 반드시 추가되어야 합니다. 모범 사례에 따라 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)을 사용하여 리소스를 지정합니다. *리소스 수준 권한*이라고 하는 특정 리소스 유형을 지원하는 작업에 대해 이를 수행할 수 있습니다.

작업 나열과 같이 리소스 수준 권한을 지원하지 않는 작업의 경우, 와일드카드(\$1)를 사용하여 해당 문이 모든 리소스에 적용됨을 나타냅니다.

```
"Resource": "*"
```

## IAM의 정책 조건 키
<a name="id-based-policies-conditionkeys"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **위탁자**가 어떤 **리소스**와 어떤 **조건**에서 어떤 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Condition` 요소(또는 `Condition` *블록*)를 사용하면 정책이 발효되는 조건을 지정할 수 있습니다. `Condition` 요소는 옵션입니다. 같거나 작음과 같은 [조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다.

한 문에서 여러 `Condition` 요소를 지정하거나 단일 `Condition` 요소에서 여러 키를 지정하는 경우, AWS 는 논리적 `AND` 작업을 사용하여 평가합니다. 단일 조건 키의 여러 값을 지정하는 경우, AWS 는 논리적 `OR` 작업을 사용하여 조건을 평가합니다. 문의 권한을 부여하기 전에 모든 조건을 충족해야 합니다.

 조건을 지정할 때 자리 표시자 변수를 사용할 수도 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 요소: 변수 및 태그](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)를 참조하세요.

AWS 는 전역 조건 키와 서비스별 조건 키를 지원합니다. 모든 AWS 전역 조건 키를 보려면 *IAM 사용 설명서*의 [AWS 전역 조건 컨텍스트 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)를 참조하세요.

## CodeCatalyst의 ID 기반 정책 예시
<a name="id-based-policy-examples"></a>

CodeCatalyst에서 AWS 계정 는 스페이스에 대한 결제를 관리하고 프로젝트 워크플로의 리소스에 액세스하는 데 필요합니다. 계정 연결은 스페이스에 AWS 계정 의 추가를 승인하는 데 사용됩니다. ID 기반 정책은 연결된 AWS 계정에서 사용됩니다.

기본적으로 사용자 및 역할은 CodeCatalyst 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console, AWS Command Line Interface (AWS CLI) 또는 AWS API를 사용하여 작업을 수행할 수 없습니다. IAM 관리자는 리소스에서 작업을 수행할 수 있는 권한을 사용자와 역할에게 부여하는 IAM 정책을 생성해야 합니다. 그런 다음 관리자는 해당 권한이 필요한 사용자에 이러한 정책을 연결해야 합니다.

다음 예시 IAM 정책은 계정 연결과 관련된 작업에 대한 권한을 부여합니다. 이를 사용하여 계정을 CodeCatalyst에 연결하는 액세스를 제한합니다.

### 예제 1: 사용자가 단일에서 연결 요청을 수락하도록 허용 AWS 리전
<a name="id-based-policy-examples-accept-only"></a>

다음 권한 정책은 사용자가 CodeCatalyst와 AWS 계정간의 연결 요청을 보고 수락하는 것만 할 수 있도록 허용합니다. 또한 정책은 조건을 사용하여 us-west-2 리전의 작업만 허용하고 다른 리전의 작업은 허용하지 않습니다 AWS 리전. 요청을 보고 승인하기 위해 사용자는 요청에 지정된 계정과 동일한 계정으로 AWS Management Console 에 로그인합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecatalyst:AcceptConnection",
        "codecatalyst:GetPendingConnection"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": "us-west-2"
        }
      }
    }
  ]
}
```

------

### 예제 2: 콘솔에서 단일에 대한 연결 관리 허용 AWS 리전
<a name="id-based-policy-examples-allow"></a>

다음 권한 정책은 사용자가 단일 리전 AWS 계정 에서 CodeCatalyst와 간의 연결을 관리할 수 있도록 허용합니다. 이 정책은 조건을 사용하여 us-west-2 리전의 작업만 허용하고 다른 리전에서는 허용하지 않습니다 AWS 리전. 연결을 생성한 후 AWS Management Console에서 옵션을 선택하여 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할을 생성할 수 있습니다. 예시 정책에서 `iam:PassRole` 작업의 조건에는 CodeCatalyst에 대한 서비스 위탁자가 포함됩니다. 해당 액세스 권한이 있는 역할만 AWS Management Console에 생성됩니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecatalyst:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-west-2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "codecatalyst.amazonaws.com",
                        "codecatalyst-runner.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### 예시 3: 연결 관리 거부
<a name="id-based-policy-examples-deny"></a>

다음 권한 정책은 사용자가 CodeCatalyst와 간의 연결을 관리하는 기능을 거부합니다 AWS 계정.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "codecatalyst:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# 태그를 사용하여 계정 연결 리소스에 대한 액세스 제어
<a name="id-based-policy-examples-tags"></a>

리소스에 태그가 연결되거나 태그 지정을 지원하는 서비스에 대한 요청에서 전달될 수 있습니다. 정책의 리소스에 태그가 있을 수 있고 정책의 일부 작업에 태그가 포함될 수 있습니다. 태깅 조건 키에는 `aws:RequestTag` 및 `aws:ResourceTag` 조건 키가 포함됩니다. IAM 정책을 생성하면 태그 조건 키를 사용하여 다음을 통제할 수 있습니다.
+ 연결 리소스에 이미 있는 태그를 기반으로 해당 리소스에 대해 작업을 수행할 수 있는 사용자
+ 작업의 요청에서 전달될 수 있는 태그
+ 요청에서 특정 키를 사용할 수 있는지 여부를 통제합니다.

다음 예에서는 CodeCatalyst 계정 사용자에게 정책의 태그 조건을 지정하는 방법을 설명합니다. 조건 키에 대한 자세한 내용은 [IAM의 정책 조건 키](security-iam.md#id-based-policies-conditionkeys) 섹션을 참조하세요.

## 예시 1: 요청의 태그 기반 작업 허용
<a name="id-based-policy-examples-tags-request"></a>

다음 정책은 사용자에게 계정 연결을 허용할 수 있는 권한을 부여합니다.

이와 관련하여 정책은 요청이 `ProjectA` 값이 포함된 `Project` 태그를 지정하는 경우 `AcceptConnection` 및 `TagResource` 작업을 허용합니다. `aws:RequestTag` 조건 키는 IAM 요청에서 전달할 수 있는 태그를 제어하는 데 사용됩니다. `aws:TagKeys` 조건은 태그 키의 대/소문자를 구분합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecatalyst:AcceptConnection",
        "codecatalyst:TagResource"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/Project": "ProjectA"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["Project"]
        }
      }
    }
  ]
}
```

------

## 예 2: 리소스 태그 기반 작업 허용
<a name="id-based-policy-examples-tags-resource"></a>

다음 정책은 사용자에게 계정 연결 리소스에 대해 작업을 수행하고 관련 정보를 가져올 수 있는 권한을 부여합니다.

이와 관련하여 정책은 연결에 `ProjectA` 값이 포함된 `Project` 태그가 있으면 특정 작업을 허용합니다. `aws:ResourceTag` 조건 키는 IAM 요청에서 전달할 수 있는 태그를 제어하는 데 사용됩니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codecatalyst:GetConnection",
        "codecatalyst:DeleteConnection",
        "codecatalyst:AssociateIamRoleToConnection",
        "codecatalyst:DisassociateIamRoleFromConnection",
        "codecatalyst:ListIamRolesForConnection",
        "codecatalyst:PutBillingAuthorization"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "ProjectA"
        }
      }
    }
  ]
}
```

------

## CodeCatalyst 권한 참조
<a name="permissions-reference"></a>

이 섹션에서는 CodeCatalyst에 AWS 계정 연결된의 계정 연결 리소스에 사용되는 작업에 대한 권한 참조를 제공합니다. 다음 섹션에서는 계정 연결과 관련된 권한이 필요한 작업에 대해 설명합니다.

### 계정 연결에 필요한 권한
<a name="permissions-reference-connections"></a>

 계정 연결을 사용하려면 다음 권한이 필요합니다.


****  

| 계정 연결에 대한 CodeCatalyst 권한 | 필수 권한 | 리소스 | 
| --- | --- | --- | 
| AcceptConnection | 이 계정을 CodeCatalyst 스페이스에 연결하기 위한 요청을 수락할 때 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. |  정책 `Resource` 요소에는 와일드카드(\$1)만 지원됩니다.  | 
| AssociateIamRoleToConnection | IAM 역할을 계정 연결에 연결하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| DeleteConnection | 계정 연결을 삭제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| DisassociateIamRoleFromConnection | 계정 연결에서 IAM 역할을 연결 해제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetBillingAuthorization | 계정 연결에 대한 청구 권한을 설명하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetConnection | 계정 연결을 얻는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| GetPendingConnection | 이 계정을 CodeCatalyst 스페이스에 연결하기 위한 보류 상태의 요청을 수락할 때 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. |  정책 `Resource` 요소에는 와일드카드(\$1)만 지원됩니다.  | 
| ListConnections | 보류 중이 아닌 계정 연결을 나열하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. |  정책 `Resource` 요소에는 와일드카드(\$1)만 지원됩니다.  | 
| ListIamRolesForConnection | 계정 연결과 연결된 IAM 역할을 나열하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| ListTagsForResource | 계정 연결과 연결된 태그를 나열하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| PutBillingAuthorization | 계정 연결에 대한 청구 권한을 생성하거나 업데이트하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| RejectConnection | 이 계정을 CodeCatalyst 스페이스에 연결하기 위한 요청을 거절할 때 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. |  정책 `Resource` 요소에는 와일드카드(\$1)만 지원됩니다.  | 
| TagResource | 계정 연결과 연결된 태그를 생성하거나 편집하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 
| UntagResource | 계정 연결과 연결된 태그를 제거하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/connections/connection\$1ID | 

### IAM Identity Center 애플리케이션에 필요한 권한
<a name="permissions-reference-applications"></a>

 IAM Identity Center 애플리케이션을 사용하려면 다음 권한이 필요합니다.


****  

| IAM Identity Center 애플리케이션에 대한 CodeCatalyst 권한 | 필수 권한 | 리소스 | 
| --- | --- | --- | 
| AssociateIdentityCenterApplicationToSpace | IAM Identity Center 애플리케이션을 CodeCatalyst 스페이스와 연결하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| AssociateIdentityToIdentityCenterApplication | CodeCatalyst 스페이스에 대한 IAM Identity Center 애플리케이션과 ID를 연결하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| BatchAssociateIdentitiesToIdentityCenterApplication | CodeCatalyst 스페이스에 대한 IAM Identity Center 애플리케이션과 여러 ID를 연결하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| BatchDisassociateIdentitiesFromIdentityCenterApplication | CodeCatalyst 스페이스에 대한 IAM Identity Center 애플리케이션에서 여러 ID의 연결 해제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| CreateIdentityCenterApplication | IAM Identity Center 애플리케이션을 생성하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| CreateSpaceAdminRoleAssignment | 주어진 CodeCatalyst 스페이스 및 IAM Identity Center 애플리케이션에 대한 관리자 역할 할당을 생성하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| DeleteIdentityCenterApplication | IAM Identity Center 애플리케이션을 삭제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| DisassociateIdentityCenterApplicationFromSpace | CodeCatalyst 스페이스에서 IAM Identity Center 애플리케이션을 연결 해제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| DisassociateIdentityFromIdentityCenterApplication | CodeCatalyst 스페이스에 대한 IAM Identity Center 애플리케이션과 ID를 연결 해제하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| GetIdentityCenterApplication | IAM Identity Center 애플리케이션에 대한 정보를 가져오는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| ListIdentityCenterApplications | 계정의 모든 IAM Identity Center 애플리케이션에 대한 목록을 보는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. |  정책 `Resource` 요소에는 와일드카드(\$1)만 지원됩니다.  | 
| ListIdentityCenterApplicationsForSpace | CodeCatalyst 스페이스별로 IAM Identity Center 애플리케이션의 목록을 보는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| ListSpacesForIdentityCenterApplication | IAM Identity Center 애플리케이션별로 CodeCatalyst 스페이스의 목록을 보는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| SynchronizeIdentityCenterApplication | IAM Identity Center 애플리케이션을 지원 Identity Store와 동기화하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 
| UpdateIdentityCenterApplication | IAM Identity Center 애플리케이션을 업데이트하는 데 필요합니다. IAM 정책 권한일 뿐, API 작업이 아닙니다. | arn:aws:codecatalyst:region:account\$1ID:/identity-center-applications/identity-center-application\$1ID | 

# CodeCatalyst에 서비스 연계 역할 사용
<a name="using-service-linked-roles"></a>

Amazon CodeCatalyst는 AWS Identity and Access Management (IAM) [서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 CodeCatalyst에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 CodeCatalyst에서 사전 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

필요한 권한을 수동으로 추가할 필요가 없으므로 서비스 연결 역할은 CodeCatalyst를 더 쉽게 설정할 수 있습니다. CodeCatalyst에서 서비스 연결 역할의 권한을 정의하므로 다르게 정의되지 않은 한, CodeCatalyst만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 CodeCatalyst 리소스에 대한 액세스 권한을 부주의로 삭제할 수 없기 때문에 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 다른 서비스에 대한 자세한 내용은 [AWS IAM으로 작업하는 서비스를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) 참조하고 **서비스 연결 역할** 열에서 **예**인 서비스를 찾습니다. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예** 링크를 선택합니다.

## CodeCatalyst에 대한 서비스 연결 역할 권한
<a name="slr-permissions"></a>

CodeCatalyst는 **AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization**이라는 서비스 연결 역할을 사용하여 사용자를 대신하여 애플리케이션 인스턴스 프로파일 및 관련 디렉터리 사용자 및 그룹에 대한 Amazon CodeCatalyst 읽기 전용 액세스를 허용합니다.

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `codecatalyst.amazonaws.com`

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy이라는 역할 권한 정책은 지정된 리소스에서 CodeCatalyst가 다음 작업을 완료하도록 허용합니다.
+ 작업: `CodeCatalyst spaces that support identity federation and SSO users and groups`에 대한 `View application instance profiles and associated directory users and groups`

사용자, 그룹 또는 역할이 서비스 연결 역할을 생성, 편집 또는 삭제할 수 있도록 사용 권한을 구성해야 합니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)을 참조하세요.

## CodeCatalyst에 대한 서비스 연결 역할 생성
<a name="create-slr"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS CLI, 또는 AWS API에서 스페이스 AWS Management Console를 생성하면 CodeCatalyst가 서비스 연결 역할을 생성합니다.

**중요**  
이러한 서비스 연결 역할은 해당 역할이 지원하는 기능을 사용하는 다른 서비스에서 작업을 완료했을 경우 계정에 나타날 수 있습니다. 또한 CodeCatalyst 서비스가 서비스 연결 역할을 지원하기 시작한 2023년 11월 17일 이전에 이 서비스를 사용 중이었다면 CodeCatalyst에서 사용자 계정에 AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 역할을 이미 생성했습니다. 자세한 내용은 [내에 표시되는 새 역할을 참조하세요 AWS 계정](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared).

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. 스페이스를 생성하면 CodeCatalyst가 서비스 연결 역할을 다시 생성합니다.

또한 IAM 콘솔을 사용하여 **애플리케이션 인스턴스 프로파일 보기 및 연결된 디렉터리 사용자 및 그룹** 사용 사례를 통해 서비스 연결 역할을 만들 수도 있습니다. AWS CLI 또는 AWS API에서 서비스 이름을 사용하여 `codecatalyst.amazonaws.com` 서비스 연결 역할을 생성합니다. 자세한 내용은 *IAM 사용자 설명서*의 [서비스 연결 역할 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) 섹션을 참조하세요. 이 서비스 연결 역할을 삭제하면 동일한 프로세스를 사용하여 역할을 다시 생성할 수 있습니다.

## CodeCatalyst에 대한 서비스 연결 역할 편집
<a name="edit-slr"></a>

CodeCatalyst에서는 AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## CodeCatalyst에 대한 서비스 연결 역할 삭제
<a name="delete-slr"></a>

AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 역할은 수동으로 삭제할 필요가 없습니다. AWS CLI, 또는 AWS API에서 스페이스 AWS Management Console를 삭제하면 CodeCatalyst가 리소스를 정리하고 서비스 연결 역할을 삭제합니다.

IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 서비스 연결 역할을 수동으로 삭제할 수도 있습니다. 단, 서비스 연결 역할에 대한 리소스를 먼저 정리해야 수동으로 삭제할 수 있습니다.

**참고**  
리소스를 삭제하려 할 때 CodeCatalyst 서비스가 역할을 사용 중이면 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

**AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization에서 사용하는 CodeCatalyst 리소스 삭제**
+ [스페이스를 삭제](https://docs.aws.amazon.com/codecatalyst/latest/userguide/spaces-delete.htm)합니다.

**IAM을 사용하여 수동으로 서비스 연결 역할을 삭제하려면 다음을 수행하세요.**

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 서비스 연결 역할을 삭제합니다. 자세한 내용은 IAM 사용 설명서의 [서비스 연결 역할 삭제](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)**를 참조하십시오.

## CodeCatalyst 서비스 연결 역할에 대해 지원되는 리전
<a name="slr-regions"></a>

CodeCatalyst에서는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html) 섹션을 참조하세요.

CodeCatalyst에서는 서비스가 제공되는 모든 리전에서 서비스 연결 역할을 사용하도록 지원하지 않습니다. 다음 리전에서 AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronization 역할을 사용할 수 있습니다.


****  

| 리전 이름 | 리전 자격 증명 | CodeCatalyst에서 지원 | 
| --- | --- | --- | 
| 미국 동부(버지니아 북부) | us-east-1 | 아니요 | 
| 미국 동부(오하이오) | us-east-2 | 아니요 | 
| 미국 서부(캘리포니아 북부) | us-west-1 | 아니요 | 
| 미국 서부(오리건) | us-west-2 | 예 | 
| 아프리카(케이프타운) | af-south-1 | 아니요 | 
| Asia Pacific (Hong Kong) | ap-east-1 | 아니요 | 
| 아시아 태평양(자카르타) | ap-southeast-3 | 아니요 | 
| 아시아 태평양(뭄바이) | ap-south-1 | 아니요 | 
| 아시아 태평양(오사카) | ap-northeast-3 | 아니요 | 
| 아시아 태평양(서울) | ap-northeast-2 | 아니요 | 
| 아시아 태평양(싱가포르) | ap-southeast-1 | 아니요 | 
| 아시아 태평양(시드니) | ap-southeast-2 | 아니요 | 
| 아시아 태평양(도쿄) | ap-northeast-1 | 아니요 | 
| 캐나다(중부) | ca-central-1 | 아니요 | 
| 유럽(프랑크푸르트) | eu-central-1 | 아니요 | 
| 유럽(아일랜드) | eu-west-1 | 예 | 
| 유럽(런던) | eu-west-2 | 아니요 | 
| 유럽(밀라노) | eu-south-1 | 아니요 | 
| 유럽(파리) | eu-west-3 | 아니요 | 
| 유럽(스톡홀름) | eu-north-1 | 아니요 | 
| 중동(바레인) | me-south-1 | 아니요 | 
| 중동(UAE) | me-central-1 | 아니요 | 
| 남아메리카(상파울루) | sa-east-1 | 아니요 | 
| AWS GovCloud(미국 동부) | us-gov-east-1 | 아니요 | 
| AWS GovCloud(미국 서부) | us-gov-west-1 | 아니요 | 

# AWS Amazon CodeCatalyst에 대한 관리형 정책
<a name="security-iam-awsmanpol"></a>





 AWS 관리형 정책은에서 생성하고 관리하는 독립 실행형 정책입니다 AWS. AWS 관리형 정책은 사용자, 그룹 및 역할에 권한 할당을 시작할 수 있도록 많은 일반적인 사용 사례에 대한 권한을 제공하도록 설계되었습니다.

 AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있으므로 특정 사용 사례에 대해 최소 권한 권한을 부여하지 않을 수 있습니다. 사용 사례에 고유한 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)을 정의하여 권한을 줄이는 것이 좋습니다.

 AWS 관리형 정책에 정의된 권한은 변경할 수 없습니다. 가 관리형 정책에 정의된 권한을 AWS 업데이트하는 AWS 경우 업데이트는 정책이 연결된 모든 보안 주체 자격 증명(사용자, 그룹 및 역할)에 영향을 미칩니다. AWS AWS 서비스 는 새가 시작되거나 기존 서비스에 새 API 작업을 사용할 수 있게 되면 AWS 관리형 정책을 업데이트할 가능성이 높습니다.

자세한 내용은 *IAM 사용자 가이드*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.













## AWS 관리형 정책: AmazonCodeCatalystSupportAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystSupportAccess"></a>





이는 모든 스페이스 관리자와 스페이스 멤버가 스페이스 청구 계정과 연결된 비즈니스 또는 엔터프라이즈 프리미엄 지원 플랜을 사용할 수 있는 권한을 부여하는 정책입니다. 이러한 권한을 통해 스페이스 관리자와 멤버는 CodeCatalyst 권한 정책 내에서 권한이 있는 리소스에 대한 프리미엄 지원 플랜을 활용할 수 있습니다.



**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.




+ `support` - 사용자가 AWS 지원 사례를 검색, 생성 및 해결할 수 있는 권한을 부여합니다. 또한 커뮤니케이션, 심각도 수준, 첨부 파일 및 관련 지원 사례 세부 정보를 설명할 수 있는 권한을 부여합니다.



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "support:DescribeAttachment",
        "support:DescribeCaseAttributes",
        "support:DescribeCases",
        "support:DescribeCommunications",
        "support:DescribeIssueTypes",
        "support:DescribeServices",
        "support:DescribeSeverityLevels",
        "support:DescribeSupportLevel",
        "support:SearchForCases",
        "support:AddAttachmentsToSet",
        "support:AddCommunicationToCase",
        "support:CreateCase",
        "support:InitiateCallForCase",
        "support:InitiateChatForCase",
        "support:PutCaseAttributes",
        "support:RateCaseCommunication",
        "support:ResolveCase"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS 관리형 정책: AmazonCodeCatalystFullAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystFullAccess"></a>





이는 AWS Management Console의 Amazon CodeCatalyst 스페이스 페이지에서 CodeCatalyst 스페이스 및 연결된 계정을 관리할 수 있는 권한을 부여하는 정책입니다. 이 애플리케이션은 CodeCatalyst의 스페이스에 AWS 계정 연결된를 구성하는 데 사용됩니다.



**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.




+ `codecatalyst` – AWS Management Console의 Amazon CodeCatalyst 스페이스 페이지에 전체 권한을 부여합니다.



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeCatalystResourceAccess",
            "Effect": "Allow",
            "Action": [
                "codecatalyst:*",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CodeCatalystAssociateIAMRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "codecatalyst.amazonaws.com",
                        "codecatalyst-runner.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## AWS 관리형 정책: AmazonCodeCatalystReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonCodeCatalystReadOnlyAccess"></a>





이는 AWS Management Console의 Amazon CodeCatalyst 스페이스 페이지에서 스페이스 및 연결된 계정에 대한 정보를 보고 나열할 수 있는 권한을 부여하는 정책입니다. 이 애플리케이션은 CodeCatalyst의 스페이스에 AWS 계정 연결된를 구성하는 데 사용됩니다.



**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.




+ `codecatalyst` – AWS Management Console의 Amazon CodeCatalyst 스페이스 페이지에 읽기 전용 권한을 부여합니다.



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codecatalyst:Get*",
                "codecatalyst:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS 관리형 정책: AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy
<a name="security-iam-awsmanpol-AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy"></a>



AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy를 IAM 엔터티에 연결할 수 없습니다. 이 정책은 CodeCatalyst에서 사용자를 대신하여 작업을 수행할 수 있도록 서비스 연결 역할에 연결됩니다. 자세한 내용은 [CodeCatalyst에 서비스 연계 역할 사용](using-service-linked-roles.md) 단원을 참조하십시오.



이 정책을 통해 고객은 CodeCatalyst에서 스페이스를 관리할 때 애플리케이션 인스턴스 프로파일 및 관련 디렉터리 사용자 및 그룹을 볼 수 있습니다. 고객은 ID 페더레이션 및 SSO 사용자 및 그룹을 지원하는 스페이스를 관리할 때 이러한 리소스를 볼 수 있습니다.



**권한 세부 정보**

이 정책에는 다음 권한이 포함되어 있습니다.




+ `sso` - 사용자가 CodeCatalyst의 관련 스페이스에 대해 IAM Identity Center에서 관리되는 애플리케이션 인스턴스 프로파일을 볼 수 있는 권한을 부여합니다.



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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy",
			"Effect": "Allow",
			"Action": [
				"sso:ListInstances",
				"sso:ListApplications",
				"sso:ListApplicationAssignments",
				"sso:DescribeInstance",
				"sso:DescribeApplication"
			],
			"Resource": "*"
		}
	]
}
```

------

## AWS 관리형 정책에 대한 CodeCatalyst 업데이트
<a name="security-iam-awsmanpol-updates"></a>



이 서비스가 이러한 변경 사항을 추적하기 시작한 이후부터 CodeCatalyst의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 CodeCatalyst [문서 기록](doc-history.md) 페이지에서 RSS 피드를 구독하세요.




| 변경 | 설명 | Date | 
| --- | --- | --- | 
|  [AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy](#security-iam-awsmanpol-AmazonCodeCatalystServiceRoleForIdentityCenterApplicationSynchronizationPolicy) - 새 정책  |  CodeCatalyst가 정책을 추가했습니다. CodeCatalyst 사용자가 애플리케이션 인스턴스 프로파일 및 연결된 디렉터리 사용자 및 그룹을 볼 수 있는 권한을 부여합니다.  | 2023년 11월 17일 | 
|  [AmazonCodeCatalystSupportAccess](#security-iam-awsmanpol-AmazonCodeCatalystSupportAccess) - 새 정책  |  CodeCatalyst가 정책을 추가했습니다. CodeCatalyst 사용자가 지원 사례를 검색, 생성 및 해결하고 관련 커뮤니케이션 및 세부 정보를 볼 수 있는 권한을 부여합니다.  | 2023년 4월 20일 | 
|  [AmazonCodeCatalystFullAccess](#security-iam-awsmanpol-AmazonCodeCatalystFullAccess) - 새 정책  |  CodeCatalyst가 정책을 추가했습니다. CodeCatalyst에 대한 전체 액세스 권한을 부여합니다.  | 2023년 4월 20일 | 
|  [AmazonCodeCatalystReadOnlyAccess](#security-iam-awsmanpol-AmazonCodeCatalystReadOnlyAccess) - 새 정책  |  CodeCatalyst가 정책을 추가했습니다. CodeCatalyst에 대한 읽기 전용 액세스 권한을 부여합니다.  | 2023년 4월 20일 | 
|  CodeCatalyst가 변경 내용 추적 시작  |  CodeCatalyst가 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  | 2023년 4월 20일 | 



# IAM 역할을 사용하여 프로젝트 AWS 리소스에 대한 액세스 권한 부여
<a name="ipa-iam-roles"></a>

CodeCatalyst는를 CodeCatalyst 스페이스에 연결하여 AWS 리소스 AWS 계정 에 액세스할 수 있습니다. 그런 다음 계정을 연결할 때 다음 서비스 역할을 생성하고 연결할 수 있습니다.

JSON 정책에서 사용하는 요소에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM JSON 정책 요소 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)를 참조하세요.
+ CodeCatalyst 프로젝트 및 워크플로에 AWS 계정 대한의 리소스에 액세스하려면 먼저 CodeCatalyst가 사용자를 대신하여 해당 리소스에 액세스할 수 있는 권한을 부여해야 합니다. 이렇게 하려면 연결된에서 CodeCatalyst가 스페이스의 사용자 및 프로젝트를 대신하여 수임할 수 AWS 계정 있는 서비스 역할을 생성해야 합니다. **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 생성 및 사용하도록 선택하거나 사용자 지정 서비스 역할을 생성하고 이러한 IAM 정책 및 역할을 수동으로 구성할 수 있습니다. 가장 좋은 방법은 이러한 역할에 필요한 최소한의 권한을 할당하는 것입니다.
**참고**  
사용자 지정 서비스 역할의 경우 CodeCatalyst 서비스 위탁자가 필요합니다. CodeCatalyst 서비스 위탁자 및 신뢰 모델에 대한 자세한 내용은 [CodeCatalyst 신뢰 모델 이해](trust-model.md) 섹션을 참조하세요.
+ 연결된를 통해 스페이스에 대한 지원을 관리하려면 CodeCatalyst 사용자가 지원에 액세스할 AWS 계정수 있도록 허용하는 **AWSRoleForCodeCatalystSupport** 서비스 역할을 생성하고 사용하도록 선택할 수 있습니다. CodeCatalyst 스페이스 지원에 대한 자세한 내용은 [Amazon CodeCatalyst의 지원](support.md) 섹션을 참조하세요.



## **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할 이해
<a name="ipa-iam-roles-service-role"></a>

CodeCatalyst가 연결된 AWS 계정에서 리소스를 생성하고 액세스하는 데 사용할 수 있는 스페이스의 IAM 역할을 추가할 수 있습니다. 이를 [서비스 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)이라고 합니다. 서비스 역할을 생성하는 가장 간단한 방법은 스페이스를 생성할 때 하나를 추가하고 해당 역할에 대한 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 옵션을 선택하는 것입니다. 이렇게 하면 `AdministratorAccess`가 연결된 서비스 역할이 생성될 뿐만 아니라 CodeCatalyst가 스페이스 내 프로젝트의 사용자를 대신하여 역할을 맡을 수 있도록 허용하는 신뢰 정책도 생성됩니다. 서비스 역할은 개별 프로젝트가 아닌 스페이스에 따라 범위가 지정됩니다. 이 역할을 생성하려면 [계정 및 스페이스의 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할 생성](#ipa-iam-roles-service-create) 섹션을 참조하세요. 각 계정의 각 스페이스에 대해 하나의 역할만 생성할 수 있습니다.

**참고**  
이 역할은 개발 계정에서만 사용하는 것이 권장되며 `AdministratorAccess` AWS 관리형 정책을 사용하여 여기에 새 정책 및 리소스를 생성할 수 있는 전체 액세스 권한을 부여합니다 AWS 계정.

**CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할에 연결된 정책은 스페이스에 블루프린트로 생성된 프로젝트와 함께 작동하도록 설계되었습니다. 이를 통해 해당 프로젝트의 사용자는 연결된 AWS 계정의 리소스를 사용하여 코드를 개발, 빌드, 테스트 및 배포할 수 있습니다. 자세한 내용은 [AWS 서비스에 대한 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

**CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할에 연결된 정책은의 `AdministratorAccess` 관리형 정책입니다 AWS. 이는 모든 AWS 작업 및 리소스에 대한 전체 액세스 권한을 부여하는 정책입니다. IAM 콘솔에서 JSON 정책 문서를 보려면 [AdministratorAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AdministratorAccess)를 참조하세요.

다음 신뢰 정책은 CodeCatalyst가 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할을 수임하도록 허용합니다. CodeCatalyst 신뢰 모델에 대한 자세한 내용은 [CodeCatalyst 신뢰 모델 이해](trust-model.md) 섹션을 참조하세요.

```
"Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
             "Principal": { 
                "Service": [ 
                    "codecatalyst-runner.amazonaws.com",
                    "codecatalyst.amazonaws.com" 
                ] 
            }, 
            "Action": "sts:AssumeRole",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:codecatalyst:::space/spaceId/project/*"
                }
            }
        }
    ]
```

## 계정 및 스페이스의 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할 생성
<a name="ipa-iam-roles-service-create"></a>

다음 단계에 따라 스페이스의 워크플로에 사용할 `CodeCatalystWorkflowDevelopmentRole-spaceName` 역할을 생성합니다. 프로젝트에 사용할 IAM 역할을 보유하려는 각 계정의 스페이스에 개발자 역할과 같은 역할을 추가해야 합니다.

시작하기 전에에 대한 관리 권한이 AWS 계정 있거나 관리자와 협력할 수 있어야 합니다. CodeCatalyst에서 AWS 계정 및 IAM 역할을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md).

**CodeCatalyst **CodeCatalystWorkflowDevelopmentRole-*spaceName***을 생성하고 추가하려면**

1. CodeCatalyst 콘솔에서 시작하기 전에를 열고 스페이스 AWS 계정 에 대해 동일한 로 로그인했는지 AWS Management Console확인합니다.

1. [https://codecatalyst.aws/](https://codecatalyst.aws/)에서 CodeCatalyst 콘솔을 엽니다.

1. CodeCatalyst 스페이스로 이동합니다. **설정**을 선택한 다음 **AWS 계정**를 선택합니다.

1. 역할을 생성하려는 AWS 계정 의 링크를 선택합니다. **AWS 계정 세부 정보** 페이지가 표시됩니다.

1. **역할 관리를 AWS Management Console** 선택합니다.

    AWS Management Console에서 **Amazon CodeCatalyst 스페이스에 IAM 역할 추가** 페이지가 열립니다. **Amazon CodeCatalyst 스페이스** 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.

1. **IAM에서 CodeCatalyst 개발 관리자 역할 생성**을 선택합니다. 이 옵션은 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는 `CodeCatalystWorkflowDevelopmentRole-spaceName` 이름이 있습니다. 역할 및 역할 정책에 대한 자세한 내용은 [**CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할 이해](#ipa-iam-roles-service-role) 섹션을 참조하세요.
**참고**  
이 역할은 개발자 계정에서만 사용하는 것이 권장되며 `AdministratorAccess` AWS 관리형 정책을 사용하여 여기에 새 정책 및 리소스를 생성할 수 있는 전체 액세스 권한을 부여합니다 AWS 계정.

1. **개발 역할 생성**을 선택합니다.

1. 연결 페이지에 있는 **CodeCatalyst에서 사용할 수 있는 IAM 역할**에서 계정에 추가된 IAM 역할 목록의 `CodeCatalystWorkflowDevelopmentRole-spaceName` 역할을 봅니다.

1. 스페이스로 돌아가려면 **Amazon CodeCatalyst로 이동**을 선택합니다.

## **AWSRoleForCodeCatalystSupport** 서비스 역할 이해
<a name="ipa-iam-roles-support-role"></a>

스페이스의 CodeCatalyst 사용자가 지원 사례를 생성하고 액세스하는 데 사용할 수 있는 스페이스의 IAM 역할을 추가할 수 있습니다. 이를 지원을 위한 [서비스 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)이라고 합니다.지원을 위한 서비스 역할을 생성하는 가장 간단한 방법은 스페이스를 생성할 때 하나를 추가하고 해당 역할에 대한 `AWSRoleForCodeCatalystSupport` 옵션을 선택하는 것입니다. 이렇게 하면 정책 및 역할이 생성될 뿐만 아니라 CodeCatalyst가 스페이스의 프로젝트에서 사용자를 대신하여 역할을 맡을 수 있도록 허용하는 신뢰 정책도 생성됩니다. 서비스 역할은 개별 프로젝트가 아닌 스페이스에 따라 범위가 지정됩니다. 이 역할을 생성하려면 [계정 및 스페이스의 **AWSRoleForCodeCatalystSupport** 역할 생성](#ipa-iam-roles-support-create) 섹션을 참조하세요.

`AWSRoleForCodeCatalystSupport` 역할에 연결된 정책은 지원 권한에 대한 액세스를 제공하는 관리형 정책입니다. 자세한 내용은 [AWS 관리형 정책: AmazonCodeCatalystSupportAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonCodeCatalystSupportAccess) 섹션을 참조하세요.

정책에 대한 이 신뢰 역할은 CodeCatalyst가 역할을 맡도록 허용합니다.

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

****  

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

------

## 계정 및 스페이스의 **AWSRoleForCodeCatalystSupport** 역할 생성
<a name="ipa-iam-roles-support-create"></a>

다음 단계에 따라 스페이스의 지원 사례에 사용할 `AWSRoleForCodeCatalystSupport` 역할을 생성합니다. 이 역할은 스페이스의 지정된 청구 계정에 추가해야 합니다.

시작하기 전에에 대한 관리 권한이 AWS 계정 있거나 관리자와 협력할 수 있어야 합니다. CodeCatalyst에서 AWS 계정 및 IAM 역할을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[연결된를 사용하여 AWS 리소스에 대한 액세스 허용 AWS 계정](ipa-connect-account.md).

**CodeCatalyst **AWSRoleForCodeCatalystSupport**을 생성하고 추가하려면**

1. CodeCatalyst 콘솔에서 시작하기 전에를 열고 스페이스 AWS 계정 에 대해 동일한 로 로그인했는지 AWS Management Console확인합니다.

1. CodeCatalyst 스페이스로 이동합니다. **설정**을 선택한 다음 **AWS 계정**를 선택합니다.

1. 역할을 생성하려는 AWS 계정 의 링크를 선택합니다. **AWS 계정 세부 정보** 페이지가 표시됩니다.

1. **역할 관리를 AWS Management Console** 선택합니다.

    AWS Management Console에서 **Amazon CodeCatalyst 스페이스에 IAM 역할 추가** 페이지가 열립니다. **Amazon CodeCatalyst 스페이스** 페이지입니다. 페이지에 액세스하려면 로그인해야 할 수 있습니다.

1. **CodeCatalyst 스페이스 세부 정보**에서 **CodeCatalyst 지원 역할 추가**를 선택합니다. 이 옵션은 미리 보기 개발 역할에 대한 권한 정책 및 신뢰 정책을 포함하는 서비스 역할을 생성합니다. 역할에는 고유한 식별자가 추가된 **AWSRoleForCodeCatalystSupport** 이름이 있습니다. 역할 및 역할 정책에 대한 자세한 내용은 [**AWSRoleForCodeCatalystSupport** 서비스 역할 이해](#ipa-iam-roles-support-role) 섹션을 참조하세요.

1. **CodeCatalyst 지원에 역할 추가** 페이지에서 기본값을 선택한 상태로 두고 **역할 생성**을 선택합니다.

1. **CodeCatalyst에서 사용할 수 있는 IAM 역할**에서 계정에 추가된 IAM 역할 목록의 `CodeCatalystWorkflowDevelopmentRole-spaceName` 역할을 봅니다.

1. 스페이스로 돌아가려면 **Amazon CodeCatalyst로 이동**을 선택합니다.

## CodeCatalyst의 워크플로 작업에 대한 IAM 역할 구성
<a name="ipa-iam-roles-policies"></a>

이 섹션에서는 CodeCatalyst 계정과 함께 사용할 수 있도록 생성할 수 있는 IAM 역할 및 정책을 자세히 설명합니다. 예시 역할을 생성하는 방법에 대한 지침은 [워크플로 작업에 대한 역할 수동 생성](#ipa-iam-roles-actions)을 참조하세요. IAM 역할을 생성한 후 역할 ARN을 복사하여 계정 연결에 IAM 역할을 추가하고 프로젝트 환경과 연결합니다. 자세한 내용은 [계정 연결에 IAM 역할 추가](ipa-connect-account-addroles.md)을 참조하세요.

### Amazon S3 액세스를 위한 CodeCatalyst 빌드 역할
<a name="ipa-iam-rolepolicy-BuildRoleS3"></a>

CodeCatalyst 워크플로 빌드 작업의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 **CodeCatalystBuildRoleforS3Access**라는 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 CloudFormation 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ Amazon S3 버킷에 작성합니다.
+ 를 사용한 리소스 구축을 지원합니다 CloudFormation. 이렇게 하려면 Amazon S3 액세스 권한이 필요합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### 에 대한 CodeCatalyst 빌드 역할 CloudFormation
<a name="ipa-iam-rolepolicy-BuildRoleCloudFormation"></a>

CodeCatalyst 워크플로 빌드 작업의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 CloudFormation 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ 를 사용한 리소스 구축을 지원합니다 CloudFormation. 이는 Amazon S3 액세스에 대한 CodeCatalyst 빌드 역할 및 CloudFormation에 대한 CodeCatalyst 배포 역할과 함께 필요합니다.

다음 AWS 관리형 정책을이 역할에 연결해야 합니다.
+ **AWSCloudFormationFullAccess**
+ **IAMFullAccess**
+ **AmazonS3FullAccess**
+ **AmazonAPIGatewayAdministrator**
+ **AWSLambdaFullAccess**

### CDK에 대한 CodeCatalyst 빌드 역할
<a name="ipa-iam-rolepolicy-BuildRoleCDK"></a>

최신 3계층 웹 애플리케이션과 같은 CDK 빌드 작업을 실행하는 CodeCatalyst 워크플로의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 CloudFormation 리소스에 대해 CDK 빌드 명령을 부트스트랩하고 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ Amazon S3 버킷에 작성합니다.
+ CDK 구문 및 CloudFormation 리소스 스택 구축을 지원합니다. 이를 위해서는 아티팩트 스토리지용 Amazon S3, 이미지 리포지토리 지원용 Amazon ECR, 가상 인스턴스에 대한 시스템 거버넌스 및 모니터링을 위한 SSM에 대한 액세스 권한이 필요합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### 에 대한 CodeCatalyst 배포 역할 CloudFormation
<a name="ipa-iam-rolepolicy-DeployCloudFormation"></a>

에서 사용하는 CodeCatalyst 워크플로 배포 작업의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 CloudFormation사용하거나 CodeCatalyst가의 CloudFormation 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용할 수 있습니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ CodeCatalyst가 CloudFormation을 통해 블루/그린 배포를 수행하기 위해 Λ 함수를 간접 호출하도록 허용합니다.
+ CodeCatalyst가에서 스택 및 변경 세트를 생성하고 업데이트하도록 허용합니다 CloudFormation.

이 역할은 다음과 같은 정책을 사용합니다.

```
{"Action": [
        "cloudformation:CreateStack",
        "cloudformation:DeleteStack",
        "cloudformation:Describe*",
        "cloudformation:UpdateStack",
        "cloudformation:CreateChangeSet",
        "cloudformation:DeleteChangeSet",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:SetStackPolicy",
        "cloudformation:ValidateTemplate",
        "cloudformation:List*",
        "iam:PassRole"
    ],
    "Resource": "resource_ARN",
    "Effect": "Allow"
}
```

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Amazon EC2에 대한 CodeCatalyst 배포 역할
<a name="ipa-iam-rolepolicy-DeployEC2"></a>

CodeCatalyst 워크플로 배포 작업은 필요한 권한이 있는 IAM 역할을 사용합니다. 이 역할은 CodeCatalyst가의 Amazon EC2 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정. **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 역할에 대한 기본 정책에는 Amazon EC2 또는 Amazon EC2 Auto Scaling에 대한 권한이 포함되지 않습니다.

이 역할은 다음에 대한 권한을 부여합니다.
+ Amazon EC2 배포를 생성합니다.
+ Auto Scaling 그룹 이름으로 인스턴스의 태그를 읽거나 Amazon EC2 인스턴스를 식별합니다.
+ Amazon EC2 Auto Scaling 그룹, 수명 주기 후크 및 규모 조정 정책을 읽고, 생성하고, 업데이트하고, 삭제합니다.
+ Amazon SNS 주제로 정보를 게시합니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.
+ Elastic Load Balancing을 읽고 업데이트합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Amazon ECS에 대한 CodeCatalyst 배포 역할
<a name="ipa-iam-rolepolicy-DeployECS"></a>

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 Lambda 배포에 사용할 CodeCatalyst 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Amazon ECS 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ CodeCatalyst 연결에 지정된 계정에서 CodeCatalyst 사용자를 대신하여 롤링 Amazon ECS 배포를 시작합니다.
+ Amazon ECS 작업 세트를 읽고, 업데이트하고, 삭제합니다.
+ Elastic Load Balancing 대상그룹, 리스너 및 규칙을 업데이트합니다.
+ Lambda 함수 간접 호출
+ Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.
+ Amazon SNS 주제로 정보를 게시합니다.

이 역할은 다음과 같은 정책을 사용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
    "Action":[
      "ecs:DescribeServices",
      "ecs:CreateTaskSet",
      "ecs:DeleteTaskSet",
      "ecs:ListClusters",
      "ecs:RegisterTaskDefinition",
      "ecs:UpdateServicePrimaryTaskSet",
      "ecs:UpdateService",
      "elasticloadbalancing:DescribeTargetGroups",
      "elasticloadbalancing:DescribeListeners",
      "elasticloadbalancing:ModifyListener",
      "elasticloadbalancing:DescribeRules",
      "elasticloadbalancing:ModifyRule",
      "lambda:InvokeFunction",
      "lambda:ListFunctions",
      "cloudwatch:DescribeAlarms",
      "sns:Publish",
      "sns:ListTopics", 
      "s3:GetObject",
      "s3:GetObjectVersion",
      "codedeploy:CreateApplication", 
      "codedeploy:CreateDeployment", 
      "codedeploy:CreateDeploymentGroup", 
      "codedeploy:GetApplication", 
      "codedeploy:GetDeployment", 
      "codedeploy:GetDeploymentGroup", 
      "codedeploy:ListApplications", 
      "codedeploy:ListDeploymentGroups", 
      "codedeploy:ListDeployments", 
      "codedeploy:StopDeployment", 
      "codedeploy:GetDeploymentTarget", 
      "codedeploy:ListDeploymentTargets", 
      "codedeploy:GetDeploymentConfig", 
      "codedeploy:GetApplicationRevision", 
      "codedeploy:RegisterApplicationRevision", 
      "codedeploy:BatchGetApplicationRevisions", 
      "codedeploy:BatchGetDeploymentGroups", 
      "codedeploy:BatchGetDeployments", 
      "codedeploy:BatchGetApplications", 
      "codedeploy:ListApplicationRevisions", 
      "codedeploy:ListDeploymentConfigs", 
      "codedeploy:ContinueDeployment"           
   ],
   "Resource":"*",
   "Effect":"Allow"
},{"Action":[
      "iam:PassRole"
   ],
   "Effect":"Allow",
   "Resource":"*",
   "Condition":{"StringLike":{"iam:PassedToService":[
            "ecs-tasks.amazonaws.com",
            "codedeploy.amazonaws.com"
         ]
      }
   }
}]
}
```

------

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Lambda에 대한 CodeCatalyst 배포 역할
<a name="ipa-iam-rolepolicy-DeployLambda"></a>

 CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 Lambda 배포에 사용할 CodeCatalyst 배포 작업에 대한 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Lambda 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ Lambda 함수 및 별칭을 읽고 업데이트하고 간접 호출합니다.
+ Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+ CloudWatch 이벤트 경보에 관한 정보를 검색합니다.
+ Amazon SNS 주제로 정보를 게시합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Lambda에 대한 CodeCatalyst 배포 역할
<a name="ipa-iam-rolepolicy-DeployLambda"></a>

CodeCatalyst 워크플로 작업의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Lambda 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ Lambda 함수 및 별칭을 읽고 업데이트하고 간접 호출합니다.
+ Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.
+ Amazon SNS 주제로 정보를 게시합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### 에 대한 CodeCatalyst 배포 역할 AWS SAM
<a name="ipa-iam-rolepolicy-DeploySAM"></a>

CodeCatalyst 워크플로 작업의 경우 기본 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할을 사용하거나 필요한 권한으로 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 AWS SAM 및 CloudFormation 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ CodeCatalyst가 서버리스 및 AWS SAM CLI 애플리케이션의 배포를 수행하기 위해 Lambda 함수를 간접 호출하도록 허용합니다.
+ CodeCatalyst가에서 스택 및 변경 세트를 생성하고 업데이트하도록 허용합니다 CloudFormation.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Amazon EC2에 대한 CodeCatalyst 읽기 전용 역할
<a name="ipa-iam-rolepolicy-ReadOnlyEC2"></a>

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Amazon EC2 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정. **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 서비스 역할에는 Amazon EC2에 대한 권한 또는 Amazon CloudWatch에 대해 설명된 작업이 포함되지 않습니다.

이 역할은 다음에 대한 권한을 부여합니다.
+ Amazon EC2 인스턴스 상태 가져오기
+ Amazon EC2 인스턴스에 대한 CloudWatch 지표를 가져옵니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Amazon ECS에 대한 CodeCatalyst 읽기 전용 역할
<a name="ipa-iam-rolepolicy-ReadOnlyECS"></a>

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Amazon ECS 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+ Amazon ECS 작업 태스크 세트를 읽습니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

### Lambda에 대한 CodeCatalyst 읽기 전용 역할
<a name="ipa-iam-rolepolicy-ReadOnlyLambda"></a>

CodeCatalyst 워크플로 작업의 경우 필요한 권한을 가진 IAM 역할을 생성할 수 있습니다. 이 역할은 CodeCatalyst가의 Lambda 리소스에서 작업을 실행하는 데 필요한 범위가 지정된 권한이 있는 정책을 사용합니다 AWS 계정.

이 역할은 다음에 대한 권한을 부여합니다.
+  Lambda 함수 및 별칭을 읽습니다.
+ Amazon S3 버킷에 있는 개정 파일에 액세스합니다.
+ CloudWatch 경보에 관한 정보를 검색합니다.

이 역할은 다음과 같은 정책을 사용합니다.

**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

```
"Resource": "*"
```

## 워크플로 작업에 대한 역할 수동 생성
<a name="ipa-iam-roles-actions"></a>

CodeCatalyst 워크플로 작업은 **빌드 역할**, **배포 역할** 및 **스택 역할**이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.

IAM에서 역할을 생성하려면 이 단계를 따릅니다.

**배포 역할을 생성하려면**

1. 역할에 대한 정책을 다음과 같이 생성합니다.

   1. 에 로그인합니다 AWS.

   1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

   1. **정책 생성**을 선택합니다.

   1. **JSON** 탭을 선택합니다.

   1. 기존 코드를 삭제합니다.

   1. 다음 코드를 붙여넣습니다.
**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

      ```
      "Resource": "*"
      ```

   1. **다음: 태그**를 선택합니다.

   1. **다음: 검토**를 선택합니다.

   1. **이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-deploy-policy
      ```

   1. **정책 생성**을 선택합니다.

      이제 권한 정책을 생성했습니다.

1. 다음과 같이 배포 역할을 생성합니다.

   1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

   1. **사용자 지정 신뢰 정책**을 선택합니다.

   1. 기존 사용자 지정 신뢰 정책을 삭제합니다.

   1. 다음 사용자 지정 신뢰 정책을 추가합니다.

   1. **다음**을 선택합니다.

   1. **권한 정책**에서 `codecatalyst-deploy-policy`를 검색하고 해당 확인란을 선택합니다.

   1. **다음**을 선택합니다.

   1. **역할 이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-deploy-role
      ```

   1. **역할 설명**에 다음과 같이 입력합니다.

      ```
      CodeCatalyst deploy role
      ```

   1. **역할 생성**을 선택합니다.

   이제 신뢰 정책 및 권한 정책으로 배포 역할을 생성했습니다.

1. 다음과 같이 배포 역할 ARN을 가져옵니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-deploy-role`).

   1. 목록에서 역할을 선택합니다.

      역할의 **요약** 페이지가 나타납니다.

   1. 상단에서 **ARN** 값을 복사합니다.

   이제 적절한 권한으로 배포 역할을 생성하고 ARN을 획득했습니다.

**빌드 역할을 생성하려면**

1. 역할에 대한 정책을 다음과 같이 생성합니다.

   1. 에 로그인합니다 AWS.

   1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

   1. **정책 생성**을 선택합니다.

   1. **JSON** 탭을 선택합니다.

   1. 기존 코드를 삭제합니다.

   1. 다음 코드를 붙여넣습니다.
**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

      ```
      "Resource": "*"
      ```

   1. **다음: 태그**를 선택합니다.

   1. **다음: 검토**를 선택합니다.

   1. **이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-build-policy
      ```

   1. **정책 생성**을 선택합니다.

      이제 권한 정책을 생성했습니다.

1. 다음과 같이 빌드 역할을 생성합니다.

   1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

   1. **사용자 지정 신뢰 정책**을 선택합니다.

   1. 기존 사용자 지정 신뢰 정책을 삭제합니다.

   1. 다음 사용자 지정 신뢰 정책을 추가합니다.

   1. **다음**을 선택합니다.

   1. **권한 정책**에서 `codecatalyst-build-policy`를 검색하고 해당 확인란을 선택합니다.

   1. **다음**을 선택합니다.

   1. **역할 이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-build-role
      ```

   1. **역할 설명**에 다음과 같이 입력합니다.

      ```
      CodeCatalyst build role
      ```

   1. **역할 생성**을 선택합니다.

   이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.

1. 다음과 같이 빌드 역할 ARN을 가져옵니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-build-role`).

   1. 목록에서 역할을 선택합니다.

      역할의 **요약** 페이지가 나타납니다.

   1. 상단에서 **ARN** 값을 복사합니다.

   이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.

**스택 역할을 생성하려면**
**참고**  
스택 역할을 생성할 필요는 없지만 보안상의 이유로 그렇게 하는 것이 좋습니다. 스택 역할을 생성하지 않는 경우 이 절차에서 자세히 설명한 권한 정책을 배포 역할에 추가해야 합니다.

1. 스택을 배포하려는 계정을 AWS 사용하여에 로그인합니다.

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

1. 상단에서 **AWS 서비스**를 선택합니다.

1. 서비스 목록에서 **CloudFormation**을 선택합니다.

1. **다음: 권한**을 선택합니다.

1. 검색 상자에 스택의 리소스에 액세스하는 데 필요한 정책을 추가합니다. 예를 들어 스택에 AWS Lambda 함수가 포함된 경우 Lambda에 대한 액세스 권한을 부여하는 정책을 추가해야 합니다.
**작은 정보**  
추가할 정책이 확실하지 않은 경우 지금은 생략할 수 있습니다. 작업을 테스트할 때 올바른 권한이 없는 경우는 추가해야 하는 권한을 표시하는 오류를 CloudFormation 생성합니다.

1. **다음: 태그**를 선택합니다.

1. **다음: 검토**를 선택합니다.

1. **역할 이름**에 다음과 같이 입력합니다.

   ```
   codecatalyst-stack-role
   ```

1. **역할 생성**을 선택합니다.

1. 스택 역할의 ARN을 가져오려면 다음을 수행합니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-stack-role`).

   1. 목록에서 역할을 선택합니다.

   1. **요약** 페이지에서 **역할 ARN** 값을 복사합니다.

## AWS CloudFormation 를 사용하여 IAM에서 정책 및 역할 생성
<a name="ipa-iam-roles-cfn"></a>

 AWS CloudFormation 템플릿을 생성하고 사용하여 CodeCatalyst 프로젝트 및 워크플로의에서 리소스 AWS 계정 에 액세스하는 데 필요한 정책 및 역할을 생성할 수 있습니다. CloudFormation 는 AWS 리소스를 모델링하고 설정하여 해당 리소스를 관리하는 데 소요되는 시간을 줄이고에서 실행되는 애플리케이션에 더 많은 시간을 할애할 수 있도록 지원하는 서비스입니다 AWS. 여러에서 역할을 생성하려는 경우 템플릿을 AWS 계정생성하면이 작업을 더 빠르게 수행하는 데 도움이 될 수 있습니다.

다음 예시 템플릿은 배포 작업 역할 및 정책을 생성합니다.

```
Parameters:
  CodeCatalystAccountId:
    Type: String
    Description: Account ID from the connections page
  ExternalId:
    Type: String
    Description: External ID from the connections page
Resources:
  CrossAccountRole:
    Type: 'AWS::IAM::Role'
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              AWS:
                - !Ref CodeCatalystAccountId
            Action:
              - 'sts:AssumeRole'
            Condition:
              StringEquals:
                sts:ExternalId: !Ref ExternalId
      Path: /
      Policies:
        - PolicyName: CodeCatalyst-CloudFormation-action-policy
          PolicyDocument:
            Version: "2012-10-17"		 	 	 
            Statement:
              - Effect: Allow
                Action:
                  - 'cloudformation:CreateStack'
                  - 'cloudformation:DeleteStack'
                  - 'cloudformation:Describe*'
                  - 'cloudformation:UpdateStack'
                  - 'cloudformation:CreateChangeSet'
                  - 'cloudformation:DeleteChangeSet'
                  - 'cloudformation:ExecuteChangeSet'
                  - 'cloudformation:SetStackPolicy'
                  - 'cloudformation:ValidateTemplate'
                  - 'cloudformation:List*'
                  - 'iam:PassRole'
                Resource: '*'
```

## 웹 애플리케이션 블루프린트에 대한 역할 수동 생성
<a name="ipa-iam-roles-webapp-blueprint"></a>

CodeCatalyst 웹 애플리케이션 블루프린트는 CDK 의 **빌드 역할**, **배포 역할** 및 **스택 역할**이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.

IAM에서 역할을 생성하려면 이 단계를 따릅니다.

**빌드 역할을 생성하려면**

1. 역할에 대한 정책을 다음과 같이 생성합니다.

   1. 에 로그인합니다 AWS.

   1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

   1. **정책 생성**을 선택하세요.

   1. **JSON** 탭을 선택합니다.

   1. 기존 코드를 삭제합니다.

   1. 다음 코드를 붙여넣습니다.
**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

      ```
      "Resource": "*"
      ```

   1. **다음: 태그**를 선택합니다.

   1. **다음: 검토**를 선택합니다.

   1. **이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-webapp-build-policy
      ```

   1. **정책 생성**을 선택합니다.

      이제 권한 정책을 생성했습니다.

1. 다음과 같이 빌드 역할을 생성합니다.

   1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

   1. **사용자 지정 신뢰 정책**을 선택합니다.

   1. 기존 사용자 지정 신뢰 정책을 삭제합니다.

   1. 다음 사용자 지정 신뢰 정책을 추가합니다.

   1. **다음**을 선택합니다.

   1. 빌드 역할에 권한 정책을 연결합니다. **권한 추가** 페이지의 **권한 정책** 섹션에서 `codecatalyst-webapp-build-policy`를 검색하고 해당 확인란을 선택합니다.

   1. **다음**을 선택합니다.

   1. **역할 이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-webapp-build-role
      ```

   1. **역할 설명**에 다음과 같이 입력합니다.

      ```
      CodeCatalyst Web app build role
      ```

   1. **역할 생성**을 선택합니다.

   이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.

1. 빌드 역할에 다음과 같이 권한 정책을 연결합니다.

   1. 탐색 창에서 **역할**을 선택한 후 `codecatalyst-webapp-build-role`을 검색합니다.``

   1. 세부 정보를 표시하려면 `codecatalyst-webapp-build-role`을 선택합니다.``

   1. **권한** 탭에서 **권한 추가**, **정책 연결**을 차례로 선택합니다.

   1. `codecatalyst-webapp-build-policy`을 검색하고 해당 확인란을 선택한 다음, **정책 연결**을 선택합니다.

      이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.

1. 다음과 같이 빌드 역할 ARN을 가져옵니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-webapp-build-role`).

   1. 목록에서 역할을 선택합니다.

      역할의 **요약** 페이지가 나타납니다.

   1. 상단에서 **ARN** 값을 복사합니다.

   이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.

## SAM 블루프린트에 대한 역할 수동 생성
<a name="ipa-iam-roles-SAM-blueprint"></a>

CodeCatalyst SAM 블루프린트는 **CloudFormation 빌드 역할** 및 **SAM 배포 역할**이라고 하는 사용자가 생성한 IAM 역할을 사용합니다.

IAM에서 역할을 생성하려면 이 단계를 따릅니다.

**CloudFormation에 대한 빌드 역할을 생성하려면**

1. 역할에 대한 정책을 다음과 같이 생성합니다.

   1. 에 로그인합니다 AWS.

   1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

   1. **정책 생성**을 선택하세요.

   1. **JSON** 탭을 선택합니다.

   1. 기존 코드를 삭제합니다.

   1. 다음 코드를 붙여넣습니다.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "s3:*",
                      "cloudformation:*"
                  ],
                  "Resource": "*"
              }
          ]
      }
      ```

------
**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

      ```
      "Resource": "*"
      ```

   1. **다음: 태그**를 선택합니다.

   1. **다음: 검토**를 선택합니다.

   1. **이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-SAM-build-policy
      ```

   1. **정책 생성**을 선택합니다.

      이제 권한 정책을 생성했습니다.

1. 다음과 같이 빌드 역할을 생성합니다.

   1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

   1. **사용자 지정 신뢰 정책**을 선택합니다.

   1. 기존 사용자 지정 신뢰 정책을 삭제합니다.

   1. 다음 사용자 지정 신뢰 정책을 추가합니다.

   1. **다음**을 선택합니다.

   1. 빌드 역할에 권한 정책을 연결합니다. **권한 추가** 페이지의 **권한 정책** 섹션에서 `codecatalyst-SAM-build-policy`를 검색하고 해당 확인란을 선택합니다.

   1. **다음**을 선택합니다.

   1. **역할 이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-SAM-build-role
      ```

   1. **역할 설명**에 다음과 같이 입력합니다.

      ```
      CodeCatalyst SAM build role
      ```

   1. **역할 생성**을 선택합니다.

   이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.

1. 빌드 역할에 다음과 같이 권한 정책을 연결합니다.

   1. 탐색 창에서 **역할**을 선택한 후 `codecatalyst-SAM-build-role`을 검색합니다.``

   1. 세부 정보를 표시하려면 `codecatalyst-SAM-build-role`을 선택합니다.``

   1. **권한** 탭에서 **권한 추가**, **정책 연결**을 차례로 선택합니다.

   1. `codecatalyst-SAM-build-policy`을 검색하고 해당 확인란을 선택한 다음, **정책 연결**을 선택합니다.

      이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.

1. 다음과 같이 빌드 역할 ARN을 가져옵니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-SAM-build-role`).

   1. 목록에서 역할을 선택합니다.

      역할의 **요약** 페이지가 나타납니다.

   1. 상단에서 **ARN** 값을 복사합니다.

   이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.

**SAM에 대한 배포 역할을 생성하려면**

1. 역할에 대한 정책을 다음과 같이 생성합니다.

   1. 에 로그인합니다 AWS.

   1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

   1. 탐색 창에서 **Policies**를 선택합니다.

   1. **정책 생성**을 선택하세요.

   1. **JSON** 탭을 선택합니다.

   1. 기존 코드를 삭제합니다.

   1. 다음 코드를 붙여넣습니다.
**참고**  
역할을 처음 사용하여 워크플로 작업을 실행할 때 리소스 정책 문에서 와일드카드를 사용한 다음, 사용 가능한 리소스 이름으로 정책 범위를 좁힙니다.  

      ```
      "Resource": "*"
      ```

   1. **다음: 태그**를 선택합니다.

   1. **다음: 검토**를 선택합니다.

   1. **이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-SAM-deploy-policy
      ```

   1. **정책 생성**을 선택합니다.

      이제 권한 정책을 생성했습니다.

1. 다음과 같이 빌드 역할을 생성합니다.

   1. 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

   1. **사용자 지정 신뢰 정책**을 선택합니다.

   1. 기존 사용자 지정 신뢰 정책을 삭제합니다.

   1. 다음 사용자 지정 신뢰 정책을 추가합니다.

   1. **다음**을 선택합니다.

   1. 빌드 역할에 권한 정책을 연결합니다. **권한 추가** 페이지의 **권한 정책** 섹션에서 `codecatalyst-SAM-deploy-policy`를 검색하고 해당 확인란을 선택합니다.

   1. **다음**을 선택합니다.

   1. **역할 이름**에 다음과 같이 입력합니다.

      ```
      codecatalyst-SAM-deploy-role
      ```

   1. **역할 설명**에 다음과 같이 입력합니다.

      ```
      CodeCatalyst SAM deploy role
      ```

   1. **역할 생성**을 선택합니다.

   이제 신뢰 정책 및 권한 정책으로 빌드 역할을 생성했습니다.

1. 빌드 역할에 다음과 같이 권한 정책을 연결합니다.

   1. 탐색 창에서 **역할**을 선택한 후 `codecatalyst-SAM-deploy-role`을 검색합니다.``

   1. 세부 정보를 표시하려면 `codecatalyst-SAM-deploy-role`을 선택합니다.``

   1. **권한** 탭에서 **권한 추가**, **정책 연결**을 차례로 선택합니다.

   1. `codecatalyst-SAM-deploy-policy`을 검색하고 해당 확인란을 선택한 다음, **정책 연결**을 선택합니다.

      이제 빌드 역할에 권한 정책을 연결했습니다. 빌드 역할에는 권한 정책과 신뢰 정책이라는 2가지 정책이 있습니다.

1. 다음과 같이 빌드 역할 ARN을 가져옵니다.

   1. 탐색 창에서 **역할**을 선택합니다.

   1. 검색 상자에 방금 생성한 역할의 이름을 입력합니다(`codecatalyst-SAM-deploy-role`).

   1. 목록에서 역할을 선택합니다.

      역할의 **요약** 페이지가 나타납니다.

   1. 상단에서 **ARN** 값을 복사합니다.

   이제 적절한 권한으로 빌드 역할을 생성하고 ARN을 획득했습니다.