CodeCatalyst 신뢰 모델 이해
Amazon CodeCatalyst 트러스트 모델을 사용하면 CodeCatalyst가 연결된 AWS 계정에서 서비스 역할을 맡을 수 있습니다. 이 모델은 IAM 역할, CodeCatalyst 서비스 위탁자, CodeCatalyst 스페이스를 연결합니다. 신뢰 정책은 aws:SourceArn
조건 키를 사용하여 조건 키에 지정된 CodeCatalyst 스페이스에 권한을 부여합니다. 이 조건 키에 대한 자세한 내용은 IAM 사용 설명서의 aws:SourceArn을 참조하세요.
신뢰 정책은 신뢰하는 위탁자가 역할을 맡도록 정의하는 JSON 정책 문서입니다. 역할 신뢰 정책은 IAM의 역할에 연결된 필수 리소스 기반 정책입니다. 자세한 내용은 IAM 사용 설명서의 용어 및 개념을 참조하세요. CodeCatalyst의 서비스 위탁자에 대한 자세한 내용은 CodeCatalyst의 서비스 위탁자 섹션을 참조하세요.
다음 신뢰 정책에서 Principal
요소에 나열된 서비스 위탁자는 리소스 기반 정책에서 권한을 부여받으며, Condition
블록은 범위가 지정된 리소스에 대한 액세스를 제한하는 데 사용됩니다.
"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
조건 키에서 와일드카드(*)를 사용하여project/*
를 사용하여 스페이스의 모든 프로젝트를 지정할 수 있습니다. -
project/
를 사용하여 스페이스의 특정 프로젝트에 대한projectId
aws:SourceArn
조건 키에 리소스 수준 권한을 지정할 수 있습니다.
CodeCatalyst의 서비스 위탁자
리소스 기반 JSON 정책의 Principal
요소를 사용하여 리소스에 대한 액세스가 허용되거나 거부되는 위탁자를 지정합니다. 신뢰 정책에서 지정할 수 있는 위탁자에는 사용자, 역할, 계정 및 서비스가 포함됩니다. ID 기반 정책에서는 Principal
요소를 사용할 수 없으며, 마찬가지로 그룹은 인증이 아니라 권한과 관련이 있고 위탁자는 인증된 IAM 엔터티이므로 정책(예: 리소스 기반 정책)에서 사용자 그룹을 위탁자로 식별할 수 없습니다.
신뢰 정책에서 리소스 기반 정책의 Principal
요소 또는 위탁자를 지원하는 조건 키에 AWS 서비스를 지정할 수 있습니다. 서비스 위탁자는 서비스가 정의합니다. 다음은 CodeCatalyst 에 정의된 서비스 위탁자입니다.
-
codecatalyst.amazonaws.com - 이 서비스 위탁자는 CodeCatalyst에 AWS에 대한 액세스 권한을 부여하는 역할에 사용됩니다.
-
codecatalyst-runner.amazonaws.com - 이 서비스 위탁자는 CodeCatalyst 워크플로를 위한 배포의 AWS 리소스에 대한 CodeCatalyst 액세스 권한을 부여하는 역할에 사용됩니다.
자세한 내용은 IAM 사용 설명서의 AWS JSON 정책 요소: 위탁자를 참조하세요.