

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

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

# 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)를 참조하세요.