

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

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

# Amazon CodeCatalyst의 보안
<a name="security"></a>

의 클라우드 보안 AWS 이 최우선 순위입니다. AWS 고객은 보안에 가장 민감한 공간의 요구 사항을 충족하도록 구축된 데이터 센터 및 네트워크 아키텍처의 이점을 누릴 수 있습니다.

보안은 AWS 와 사용자 간의 공동 책임입니다. [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)은 이 사항을 클라우드의 보안 및 클라우드 내 보안으로 설명합니다.
+ **클라우드 보안 **- AWS 는에서 AWS 서비스를 실행하는 인프라를 보호할 책임이 있습니다 AWS 클라우드. AWS 또한는 안전하게 사용할 수 있는 서비스를 제공합니다. 타사 감사자는 [AWS 규정 준수 프로그램](https://aws.amazon.com/compliance/programs/) 일환으로 보안의 효과를 정기적으로 테스트하고 확인합니다. CodeCatalyst에 적용되는 규정 준수 프로그램에 대한 자세한 내용은 규정 준수 프로그램 [AWS 제공 범위 내 서비스규정 준수 프로그램](https://aws.amazon.com/compliance/services-in-scope/) .
+ **클라우드의 보안** - 사용자의 책임은 사용하는 AWS 서비스에 따라 결정됩니다. 또한 여러분은 데이터의 민감도, 회사 요구 사항, 관련 법률 및 규정을 비롯한 기타 요소에 대해서도 책임이 있습니다.

이 문서는 Amazon CodeCatalyst를 사용할 때 공동 책임 모델을 적용하는 방법을 이해하는 데 도움이 됩니다. 보안 및 규정 준수 목표에 맞게 CodeCatalyst를 구성하는 방법을 보여줍니다. 또한 CodeCatalyst 리소스를 모니터링하고 보호하는 데 도움이 되는 다른 AWS 서비스를 사용하는 방법을 알아봅니다.

**Topics**
+ [데이터 개인 정보 보호](data-privacy.md)
+ [데이터 보호](data-protection.md)
+ [CodeCatalyst 및 ID 및 액세스 관리](security-iam.md)
+ [규정 준수 확인](compliance-validation.md)
+ [복원성](disaster-recovery-resiliency.md)
+ [인프라 보안](infrastructure-security.md)
+ [구성 및 취약성 분석](vulnerability-analysis-and-management.md)
+ [Amazon CodeCatalyst의 데이터 및 개인 정보 보호](your-data-privacy.md)
+ [워크플로 작업에 대한 모범 사례](security-best-practices-for-actions.md)
+ [CodeCatalyst 신뢰 모델 이해](trust-model.md)

# Amazon CodeCatalyst의 데이터 프라이버시
<a name="data-privacy"></a>

CodeCatalyst는 IAM Identity Center에서 집계 정보를 수집합니다. CodeCatalyst는이 집계 데이터를 사용하여 CodeCatalyst의 스페이스 및 프로젝트에 대한 액세스를 제공합니다. 다음과 같은 집계 정보가 수집됩니다.
+ 사용자의 전체 이름
+ 사용자의 이메일
+ 사용자의 사용자 이름

CodeCatalyst 데이터는 저장 시 자동으로 암호화됩니다. 고객의 조치는 필요하지 않습니다. 사용자, Identity Center 또는 스페이스가 삭제되면 CodeCatalyst는 24시간 이내에 고객 데이터를 삭제합니다.

CodeCatalyst는 AWS 소유 AWS KMS 키를 사용합니다. CodeCatalyst는 IAM Identity Center에서 검색된 자격 증명 속성에 대해 고객 관리형 KMS 키를 사용한 저장 시 암호화를 지원하지 않습니다.

AWS KMS 키에 대한 자세한 내용은 사용자 설명서의 [AWS KMS 키](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)를 참조하세요.

# Amazon CodeCatalyst의 데이터 보호
<a name="data-protection"></a>

보안 및 규정 준수는 워크플로에 사용되는 AWS 리소스 사용에 공동 책임 AWS [모델공동 책임](https://aws.amazon.com/compliance/shared-responsibility-model/) 모델이 적용되는 것처럼 Amazon CodeCatalyst와 고객 간의 . 이 모델에서 설명하는 것처럼 CodeCatalyst는 모든 CodeCatalyst를 실행하는 글로벌 인프라를 보호할 책임이 있습니다. 사용자는 이 인프라에 호스팅되는 콘텐츠에 대한 통제 권한을 유지할 책임이 있습니다. 이 공동 책임 모델은 CodeCatalyst의 데이터 보호에 적용됩니다.

데이터 보호를 위해 계정 자격 증명을 보호하고 로그인할 때 다중 인증을 설정하는 것이 좋습니다. 자세한 내용은 [다중 인증(MFA)으로 로그인하도록 AWS Builder ID 구성](mfa.md) 섹션을 참조하세요.

태그 또는 **이름** 필드와 같은 자유 형식 필드에 고객의 이메일 주소와 같은 기밀 또는 민감한 정보를 입력하지 마세요. 여기에는 연결된 AWS 계정외에도 CodeCatalyst에 입력한 리소스 이름 및 기타 식별자가 포함됩니다. 예를 들어 스페이스, 프로젝트 또는 배포 플릿 이름의 일부로 기밀 또는 민감한 정보를 입력하지 마세요. 이름에 사용되는 태그 또는 자유 형식 필드에 입력하는 모든 데이터는 청구 또는 진단 로그에 사용되거나 URL 경로에 포함될 수 있습니다. 이는 콘솔, API AWS CLI, CodeCatalyst 작업 개발 키트 또는 모든 AWS SDKs 사용에 적용됩니다.

외부 서버에 URL을 제공할 때 해당 서버에 대한 요청을 검증하기 위해 보안 자격 증명 정보를 URL에 포함시켜서는 안 됩니다.

CodeCatalyst 소스 리포지토리는 상주 시 자동으로 암호화됩니다. 고객의 조치는 필요하지 않습니다. CodeCatalyst는 HTTPS 프로토콜을 사용하여 전송 중인 리포지토리 데이터도 암호화합니다.

CodeCatalyst는 IAM Identity Center에서 검색된 자격 증명 속성에 대해 고객 관리형 KMS 키를 사용한 저장 시 암호화를 지원하지 않습니다.

CodeCatalyst는 MFA를 지원합니다. 자세한 내용은 [다중 인증(MFA)으로 로그인하도록 AWS Builder ID 구성](mfa.md) 섹션을 참조하세요.

## 데이터 암호화
<a name="data-encryption"></a>

CodeCatalyst는 서비스 내에 데이터를 안전하게 저장하고 전송합니다. 모든 데이터는 전송 및 저장 시 암호화됩니다. 서비스에 대한 메타데이터를 포함하여 서비스에 의해 생성되거나 저장된 모든 데이터는 기본적으로 서비스에 저장되고 암호화됩니다.

**참고**  
문제에 대한 정보는 서비스 내에 안전하게 저장되지만 미해결 문제에 대한 정보는 문제 보드, 백로그 및 개별 문제를 본 브라우저의 로컬 캐시에도 저장됩니다. 최적의 보안을 위해 브라우저 캐시를 지워 이 정보를 제거해야 합니다.

GitHub의 AWS 계정 또는 링크된 리포지토리에 대한 계정 연결과 같이 CodeCatalyst에 연결된 리소스를 사용하는 경우 CodeCatalyst에서 해당 연결된 리소스로 전송 중인 데이터는 암호화되지만 연결된 리소스의 데이터 처리는 해당 연결된 서비스에 의해 관리됩니다. 자세한 내용은 링크된 서비스 및 [Amazon CodeCatalyst의 워크플로 작업에 대한 모범 사례](security-best-practices-for-actions.md) 설명서를 참조하세요.

### 키 관리
<a name="key-management"></a>

CodeCatalyst는 AWS소유 KMS 키를 사용합니다. 즉, 키는에서 관리 AWS 하며 고객은 키를 직접 생성하거나 관리할 필요가 없습니다. 이를 통해 AWS내의 일반적인 암호화 시나리오에 대한 키 관리가 간소화됩니다.

## 인터네트워크 트래픽 개인 정보 보호
<a name="inter-network-traffic-privacy"></a>

CodeCatalyst에서 스페이스를 생성할 때 해당 스페이스에 대한 데이터 및 리소스가 저장될 AWS 리전 를 선택합니다. 프로젝트 데이터 및 메타데이터는 해당 AWS 리전를 벗어나지 않습니다. 그러나 CodeCatalyst 내에서 탐색을 지원하기 위해 [파티션](https://docs.aws.amazon.com/whitepapers/latest/aws-fault-isolation-boundaries/partitions.html)의 모든 AWS 리전 에 제한된 공간, 프로젝트 및 사용자 메타데이터 세트가 복제됩니다. 해당 파티션 AWS 리전 외부에는 복제되지 않습니다. 예를 들어 스페이스를 생성할 때 **미국 서부(오리건)**를 AWS 리전 로 선택하면 중국 리전 또는 AWS GovCloud (US)리전에 데이터가 복제되지 않습니다. 자세한 내용은 [관리 AWS 리전](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html), [AWS 글로벌 인프라](https://aws.amazon.com/about-aws/global-infrastructure) 및 [AWS 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)를 참조하세요.

파티션 AWS 리전 내에서에 복제된 데이터는 다음과 같습니다.
+ 스페이스 이름의 고유성을 보장하기 위해 스페이스 이름을 나타내는 암호화된 해시 값. 이 값은 사람이 읽을 수 없으며 실제 스페이스 이름을 노출하지 않습니다.
+ 스페이스의 고유 ID
+ 스페이스 간 탐색을 지원하는 스페이스의 메타데이터
+ 스페이스가 AWS 리전 위치한 입니다.
+ 스페이스 내 모든 프로젝트의 고유 ID
+ 스페이스 또는 프로젝트에서 사용자의 역할을 나타내는 역할 ID
+ CodeCatalyst 에 가입할 때 다음을 포함한 가입 프로세스에 대한 데이터 및 메타데이터:
  + 의 고유 ID AWS Builder ID
  + 에 있는 사용자의 표시 이름 AWS Builder ID
  + 에 있는 사용자의 별칭 AWS Builder ID
  + 사용자가에 가입할 때 사용되는 이메일 주소 AWS Builder ID
  + 가입 프로세스의 진행 상황
  + 가입 프로세스의 일부로 스페이스를 생성하는 경우 스페이스의 결제 계정으로 사용되는 AWS 계정 ID

스페이스 이름은 CodeCatalyst에서 고유합니다. 스페이스 이름에 민감한 데이터를 포함하지 않도록 하세요.

 AWS 계정 또는 GitHub 리포지토리에 대한 연결과 같은 연결된 리소스 및 연결된 계정으로 작업할 때는 각각이 지원하는 최고 수준의 보안으로 소스 및 대상 위치를 구성하는 것이 좋습니다. CodeCatalyst는 전송 계층 보안(TLS) 1.2를 사용하여 AWS 계정 AWS 리전및 가용 영역 간의 연결을 보호합니다.



# 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을 획득했습니다.

# Amazon CodeCatalyst에 대한 규정 준수 검증
<a name="compliance-validation"></a>

AWS 서비스가 특정 규정 준수 프로그램의 범위에 포함되는지 알아보려면 [규정 준수 프로그램 제공 범위 내 AWS 서비스](https://aws.amazon.com/compliance/services-in-scope/)를 참조하고 관심 있는 규정 준수 프로그램을 선택하십시오. 일반적인 정보는 [AWS 규정 준수 프로그램](https://aws.amazon.com/compliance/programs/)을 참조하세요.

AWS Artifact(을)를 사용하여 타사 감사 보고서를 다운로드할 수 있습니다. 자세한 내용은 [AWS Artifact에서 보고서 다운로드](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)를 참조하세요.

AWS 서비스 사용 시 규정 준수 책임은 데이터의 민감도, 회사의 규정 준수 목표 및 관련 법률 및 규정에 따라 결정됩니다. AWS 서비스 사용 시 규정 준수 책임에 대한 자세한 내용은 [AWS 보안 설명서](https://docs.aws.amazon.com/security/)를 참조하세요.

# Amazon CodeCatalyst의 복원력
<a name="disaster-recovery-resiliency"></a>

AWS 글로벌 인프라는 AWS 리전 및 가용 영역을 중심으로 구축됩니다. 리전은 물리적으로 분리되고 격리된 다수의 가용 영역을 제공하며, 이러한 영역은 짧은 지연 시간, 높은 처리량 및 높은 중복성을 갖춘 네트워크를 통해 연결되어 있습니다. 가용 영역을 사용하면 중단 없이 영역 간에 자동으로 장애 극복 조치가 이루어지는 애플리케이션 및 데이터베이스를 설계하고 운영할 수 있습니다. 가용 영역은 기존의 단일 또는 다중 데이터 센터 인프라보다 가용성, 내결함성, 확장성이 뛰어납니다.

AWS 리전 및 가용 영역에 대한 자세한 정보는 [AWS 글로벌 인프라](https://aws.amazon.com/about-aws/global-infrastructure/)를 참조하세요. AWS 리전 전반에 복제되는 CodeCatalyst 데이터에 대한 자세한 내용은 [Amazon CodeCatalyst의 데이터 보호](data-protection.md) 섹션을 참조하세요.

# Amazon CodeCatalyst의 인프라 보안
<a name="infrastructure-security"></a>

관리형 서비스인 Amazon CodeCatalyst는 AWS 글로벌 네트워크 보안으로 보호됩니다. AWS 보안 서비스와 AWS의 인프라 보호 방법에 대한 자세한 내용은 [AWS Cloud Security](https://aws.amazon.com/security/)을 참조하세요. 인프라 보안에 대한 모범 사례를 사용하여 AWS 환경을 설계하려면 보안 원칙 AWS Well‐Architected Framework**의 [인프라 보호](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html)를 참조하세요.

AWS에서 게시한 API 직접 호출을 사용하여 네트워크를 통해 CodeCatalyst에 액세스합니다. 고객은 다음을 지원해야 합니다.
+ Transport Layer Security(TLS) TLS 1.2는 필수이며 TLS 1.3을 권장합니다.
+ DHE(Ephemeral Diffie-Hellman) 또는 ECDHE(Elliptic Curve Ephemeral Diffie-Hellman)와 같은 완전 전송 보안(PFS)이 포함된 암호 제품군 Java 7 이상의 최신 시스템은 대부분 이러한 모드를 지원합니다.

# Amazon CodeCatalyst의 구성 및 취약성 분석
<a name="vulnerability-analysis-and-management"></a>

구성 및 IT 컨트롤은 AWS와 고객 간의 공동 책임입니다. 자세한 내용은 AWS [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)을 참조하세요.

# Amazon CodeCatalyst의 데이터 및 개인 정보 보호
<a name="your-data-privacy"></a>

Amazon CodeCatalyst는 사용자의 개인 정보를 중요하게 생각하며, 사용자의 정보 보안을 최우선 과제로 삼고 있습니다. 사용자 정보를 처리하는 방법에 대한 자세한 내용은 [AWS 개인정보 취급방침](https://aws.amazon.com/privacy/)에서 확인할 수 있습니다.

데이터를 요청하고 확인하려면 AWS 일반 참조의 [데이터 요청](https://docs.aws.amazon.com/general/latest/gr/privacy-aws_builder_id.html#request-delete-aws_builder_id)을 참조하세요.

## AWS Builder ID 프로파일 삭제
<a name="id-delete-profile"></a>

프로파일 삭제는 되돌릴 수 없는 영구적인 조치입니다. 삭제 프로세스는 **삭제**를 선택한 직후 시작됩니다. Amazon CodeCatalyst가 프로파일 및 모든 관련 개인 정보를 삭제하기 시작합니다. 이 프로세스를 완료하는 데 최대 90일이 소요될 수 있습니다.

프로파일이 삭제되면 Amazon CodeCatalyst에서 데이터에 액세스하거나 복구할 수 없습니다. 여기에는 개인 액세스 토큰, 역할, 사용자 멤버십 및 귀하가 유일한 멤버인 모든 Amazon CodeCatalyst 스페이스가 포함됩니다. 더 이상 Amazon CodeCatalyst에 로그인할 수 없습니다.

AWS Builder ID 프로파일을 삭제하는 방법에 대한 자세한 내용은 AWS 일반 참조의 [AWS Builder ID 삭제](https://docs.aws.amazon.com/general/latest/gr/delete-aws_builder_id.html)를 참조하세요.

# Amazon CodeCatalyst의 워크플로 작업에 대한 모범 사례
<a name="security-best-practices-for-actions"></a>

CodeCatalyst에서 워크플로를 개발할 때 고려해야 할 여러 보안 모범 사례가 있습니다. 다음 모범 사례는 일반적인 지침이며 완벽한 보안 솔루션을 나타내지는 않습니다. 이러한 모범 사례는 환경에 적절하지 않거나 충분하지 않을 수 있으므로 참고용으로만 사용하세요.

**Topics**
+ [민감한 정보](#sensitive-info)
+ [라이선스 조건](#licensing-terms)
+ [신뢰할 수 없는 코드](#untrusted-code)
+ [GitHub Actions](#github-actions)

## 민감한 정보
<a name="sensitive-info"></a>

YAML에 민감한 정보를 포함시키지 마세요. YAML에 자격 증명, 키 또는 토큰을 임베딩하는 대신 CodeCatalyst 보안 암호를 사용하는 것이 좋습니다. 보안 암호는 YAML 내에서 민감한 정보를 쉽게 저장하고 참조할 수 있는 방법을 제공합니다.

## 라이선스 조건
<a name="licensing-terms"></a>

사용하려는 작업의 라이선스 조건에 유의해야 합니다.

## 신뢰할 수 없는 코드
<a name="untrusted-code"></a>

작업은 일반적으로 프로젝트, 스페이스 또는 더 광범위한 커뮤니티에서 공유할 수 있는 독립형 단일 목적 모듈입니다. 다른 사람의 코드를 사용하면 편리함과 효율성이 크게 향상될 수 있지만 새로운 위협 벡터도 도입됩니다. 다음 섹션을 검토하여 CI/CD 워크플로를 안전하게 유지하기 위한 모범 사례를 따르고 있는지 확인하세요.

## GitHub Actions
<a name="github-actions"></a>

GitHub Actions는 커뮤니티에서 구축하고 유지 관리하는 오픈 소스입니다. 당사는 [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)을 따르며 GitHub Actions 소스 코드를 사용자에게 책임이 있는 고객 데이터로 간주합니다. GitHub Actions에는 보안 암호, 리포지토리 토큰, 소스 코드, 계정 링크 및 컴퓨팅 시간에 대한 액세스 권한을 부여할 수 있습니다. 실행하려는 GitHub Actions의 신뢰성과 보안에 확신이 있어야 합니다.

GitHub Actions에 대한 보다 구체적인 지침 및 보안 모범 사례:
+ [보안 강화](https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions)
+ [pwn 요청 방지](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)
+ [신뢰할 수 없는 입력](https://securitylab.github.com/research/github-actions-untrusted-input/)
+ [구성 요소를 신뢰하는 방법](https://securitylab.github.com/research/github-actions-building-blocks/)

# CodeCatalyst 신뢰 모델 이해
<a name="trust-model"></a>

Amazon CodeCatalyst 트러스트 모델을 사용하면 CodeCatalyst가 연결된 AWS 계정에서 서비스 역할을 맡을 수 있습니다. 이 모델은 IAM 역할, CodeCatalyst 서비스 위탁자, CodeCatalyst 스페이스를 연결합니다. 신뢰 정책은 `aws:SourceArn` 조건 키를 사용하여 조건 키에 지정된 CodeCatalyst 스페이스에 권한을 부여합니다. 이 조건 키에 대한 자세한 내용은 *IAM 사용 설명서*의 [aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)을 참조하세요.

신뢰 정책은 신뢰하는 위탁자가 역할을 맡도록 정의하는 JSON 정책 문서입니다. 역할 신뢰 정책은 IAM의 역할에 연결된 필수 리소스 기반 정책입니다. 자세한 내용은 *IAM 사용 설명서*의 [용어 및 개념](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html)을 참조하세요. CodeCatalyst의 서비스 위탁자에 대한 자세한 내용은 [CodeCatalyst의 서비스 위탁자](#service-principals) 섹션을 참조하세요.

다음 신뢰 정책에서 `Principal` 요소에 나열된 서비스 위탁자는 리소스 기반 정책에서 권한을 부여받으며, `Condition` 블록은 범위가 지정된 리소스에 대한 액세스를 제한하는 데 사용됩니다.

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

****  

```
{
    "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/*"
                }
            }
        }
    ]
}
```

------

신뢰 정책에서 CodeCatalyst 서비스 위탁자는 `aws:SourceArn` 조건 키를 통해 액세스 권한을 부여받으며, 여기에는 CodeCatalyst 스페이스 ID에 대한 Amazon 리소스 이름(ARN)이 포함되어 있습니다. ARN은 다음 형식을 사용합니다.

```
arn:aws:codecatalyst:::space/spaceId/project/*
```

**중요**  
`aws:SourceArn`과 같은 조건 키에서만 스페이스 ID를 사용합니다. IAM 정책 문에서 스페이스 ID를 리소스 ARN으로 사용하지 마세요.

모범 사례로 정책에서 가능한 한 권한 범위를 낮추는 것이 좋습니다.
+ `aws:SourceArn` 조건 키에서 와일드카드(\$1)를 사용하여 `project/*`를 사용하여 스페이스의 모든 프로젝트를 지정할 수 있습니다.
+ `project/projectId`를 사용하여 스페이스의 특정 프로젝트에 대한 `aws:SourceArn` 조건 키에 리소스 수준 권한을 지정할 수 있습니다.

## CodeCatalyst의 서비스 위탁자
<a name="service-principals"></a>

리소스 기반 JSON 정책의 `Principal` 요소를 사용하여 리소스에 대한 액세스가 허용되거나 거부되는 위탁자를 지정합니다. 신뢰 정책에서 지정할 수 있는 위탁자에는 사용자, 역할, 계정 및 서비스가 포함됩니다. ID 기반 정책에서는 `Principal` 요소를 사용할 수 없으며, 마찬가지로 그룹은 인증이 아니라 권한과 관련이 있고 위탁자는 인증된 IAM 엔터티이므로 정책(예: 리소스 기반 정책)에서 사용자 그룹을 위탁자로 식별할 수 없습니다.

신뢰 정책에서 리소스 기반 정책의 `Principal` 요소 또는 보안 주체 AWS 서비스 를 지원하는 조건 키에를 지정할 수 있습니다. 서비스 위탁자는 서비스가 정의합니다. 다음은 CodeCatalyst 에 정의된 서비스 위탁자입니다.
+ **codecatalyst.amazonaws.com** -이 서비스 보안 주체는 CodeCatalyst 액세스 권한을 부여할 역할에 사용됩니다 AWS.
+ **codecatalyst-runner.amazonaws.com** -이 서비스 보안 주체는 CodeCatalyst 워크플로 배포의 AWS 리소스에 대한 CodeCatalyst 액세스 권한을 부여하는 역할에 사용됩니다.

자세한 내용은 *IAM 사용 설명서*의 [AWS JSON 정책 요소: 위탁자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)를 참조하세요.