

지원 종료 알림: 2026년 10월 7일에 AWS 에 대한 지원이 종료됩니다 AWS Proton. 2026년 10월 7일 이후에는 AWS Proton 콘솔 또는 AWS Proton 리소스에 더 이상 액세스할 수 없습니다. 배포된 인프라는 그대로 유지됩니다. 자세한 내용은 [AWS Proton 서비스 사용 중단 및 마이그레이션 안내서](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)를 참조하세요.

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

# AWS Proton IAM 서비스 역할 정책 예제
<a name="security_iam_service-role-policy-examples"></a>

관리자는 환경 및 서비스 템플릿에 정의된 대로가 AWS Proton 생성하는 리소스를 소유하고 관리합니다. 가 대신 리소스를 AWS Proton 생성하도록 허용하는 IAM 서비스 역할을 계정에 연결합니다. 관리자는가 애플리케이션을 AWS Proton 환경에서 AWS Proton 서비스로 AWS Proton 배포할 때 개발자가 나중에 소유하고 관리하는 리소스에 대한 IAM 역할과 AWS Key Management Service 키를 제공합니다. AWS KMS 및 데이터 암호화에 대한 자세한 내용은 섹션을 참조하세요[의 데이터 보호 AWS Proton](data-protection.md).

서비스 역할은가 사용자를 대신하여 리소스를 AWS Proton 호출하도록 허용하는 Amazon Web Services(IAM) 역할입니다. 서비스 역할을 지정한 경우 AWS Proton 에서는 역할의 자격 증명을 사용합니다. 서비스 역할을 사용하여가 수행할 AWS Proton 수 있는 작업을 명시적으로 지정합니다.

IAM 서비스를 사용하여 서비스 역할과 해당 권한 정책을 생성합니다. 서비스 역할 생성에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 서비스에 권한을 위임할 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

## AWS Proton 를 사용하여 프로비저닝하기 위한 서비스 역할 CloudFormation
<a name="proton-svc-role"></a>

플랫폼 팀의 구성원은 관리자가 AWS Proton 서비스 역할을 생성하고 환경을 환경의 CloudFormation 서비스 역할([CreateEnvironment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironment.html) API 작업의 `protonServiceRoleArn` 파라미터)로 생성할 AWS Proton 때에 제공할 수 있습니다. 이 역할을 사용하면 환경 또는 환경에서 실행되는 서비스 인스턴스가 AWS관리형 프로비저닝을 사용하고 인프라를 프로비저닝할 때가 사용자를 대신하여 다른 서비스에 AWS Proton API를 호출 AWS CloudFormation 할 수 있습니다.

 AWS Proton 서비스 역할에는 다음 IAM 역할 및 신뢰 정책을 사용하는 것이 좋습니다. AWS Proton 콘솔을 사용하여 환경을 생성하고 새 역할을 생성하도록 선택하면이 정책이 자동으로 생성하는 서비스 역할에 AWS Proton 추가됩니다. 이 정책에 대한 권한을 축소할 때는 `Access Denied` 오류가 AWS Proton 실패한다는 점에 유의하세요.

**중요**  
다음 예제에 표시된 정책은 계정에 템플릿을 등록할 수 있는 모든 사람에게 관리자 권한을 부여한다는 점에 유의합니다. AWS Proton 템플릿에서 정의할 리소스를 알 수 없으므로 이러한 정책에는 광범위한 권한이 있습니다. 환경에 배포될 특정 리소스로 권한 범위를 좁히는 것이 좋습니다.

### AWS Proton 에 대한 서비스 역할 정책 예제 CloudFormation
<a name="proton-svc-role.details"></a>

를 AWS 계정 ID`{{123456789012}}`로 바꿉니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:CancelUpdateStack",
        "cloudformation:ContinueUpdateRollback",
        "cloudformation:CreateChangeSet",
        "cloudformation:CreateStack",
        "cloudformation:DeleteChangeSet",
        "cloudformation:DeleteStack",
        "cloudformation:DescribeChangeSet",
        "cloudformation:DescribeStackDriftDetectionStatus",
        "cloudformation:DescribeStackEvents",
        "cloudformation:DescribeStackResourceDrifts",
        "cloudformation:DescribeStacks",
        "cloudformation:DetectStackResourceDrift",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:ListChangeSets",
        "cloudformation:ListStackResources",
        "cloudformation:UpdateStack"
      ],
      "Resource": "arn:aws:cloudformation:*:{{123456789012}}:stack/AWSProton-*"
    },
    {
      "Effect": "Allow",
      "NotAction": [
        "organizations:*",
        "account:*"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudformation.amazonaws.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeOrganization",
        "account:ListRegions"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudformation.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

### AWS Proton 서비스 신뢰 정책
<a name="proton-svc-role.trust.details"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ServiceTrustRelationshipWithConfusedDeputyPrevention",
    "Effect": "Allow",
    "Principal": {
      "Service": "proton.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringEquals": {
        "aws:SourceAccount": "{{123456789012}}"
      },
      "ArnLike": {
        "aws:SourceArn": "arn:aws:proton:*:{{123456789012}}:environment/*"
      }
    }
  }
}
```

------

### 범위가 지정된 다운 AWS관리형 프로비저닝 서비스 역할 정책
<a name="proton-svc-role.scoped-down.details"></a>

다음은 S3 리소스를 프로비저닝하기 위한 AWS Proton 서비스만 필요한 경우 사용할 수 있는 범위가 축소된 AWS Proton 서비스 역할 정책의 예입니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:CancelUpdateStack",
        "cloudformation:ContinueUpdateRollback",
        "cloudformation:CreateChangeSet",
        "cloudformation:CreateStack",
        "cloudformation:DeleteChangeSet",
        "cloudformation:DeleteStack",
        "cloudformation:DescribeChangeSet",
        "cloudformation:DescribeStackDriftDetectionStatus",
        "cloudformation:DescribeStackEvents",
        "cloudformation:DescribeStackResourceDrifts",
        "cloudformation:DescribeStacks",
        "cloudformation:DetectStackResourceDrift",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:ListChangeSets",
        "cloudformation:ListStackResources",
        "cloudformation:UpdateStack"
      ],
      "Resource": "arn:aws:cloudformation:*:{{123456789012}}:stack/AWSProton-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": [
            "cloudformation.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## AWS Proton CodeBuild 프로비저닝을 위한 서비스 역할
<a name="codebuild-proton-svc-role"></a>

플랫폼 팀의 구성원은 관리자가 AWS Proton 서비스 역할을 생성하고 환경을 환경의 CodeBuild 서비스 역할([CreateEnvironment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironment.html) API 작업의 `codebuildRoleArn` 파라미터)로 생성할 AWS Proton 때에 제공할 수 있습니다. 이 역할을 사용하면 환경 또는 해당 환경에서 실행되는 서비스 인스턴스가 CodeBuild 프로비저닝을 사용하여 인프라를 프로비저닝할 때가 사용자를 대신하여 다른 서비스에 AWS Proton API를 호출할 수 있습니다.

 AWS Proton 콘솔을 사용하여 환경을 생성하고 새 역할을 생성하도록 선택하면는 관리자 권한이 있는 정책을 자동으로 생성하는 서비스 역할에 AWS Proton 추가합니다. 자체 역할을 생성하고 권한을 축소할 때 `Access Denied` 오류 시가 AWS Proton 실패한다는 점에 유의하세요.

**중요**  
생성한 역할에 AWS Proton 연결하는 정책은 계정에 템플릿을 등록할 수 있는 모든 사용자에게 관리자 권한을 부여합니다. AWS Proton 템플릿에서 정의할 리소스를 알 수 없으므로 이러한 정책에는 광범위한 권한이 있습니다. 환경에 배포될 특정 리소스로 권한 범위를 좁히는 것이 좋습니다.

### AWS Proton CodeBuild에 대한 서비스 역할 정책 예제
<a name="codebuild-proton-svc-role.details"></a>

다음 예제는 CodeBuild가 AWS Cloud Development Kit (AWS CDK)를 사용하여 리소스를 프로비저닝할 수 있는 권한을 제공합니다.

를 AWS 계정 ID`{{123456789012}}`로 바꿉니다.

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

****  

```
 {
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:CreateLogStream",
        "logs:CreateLogGroup",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:/aws/codebuild/AWSProton-   Shell-*",
        "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:/aws/codebuild/AWSProton-   Shell-*:*"
      ],
      "Effect": "Allow"
    },
    {
      "Action": "proton:NotifyResourceDeploymentStatusChange",
      "Resource": "arn:aws:proton:{{us-east-1}}:{{123456789012}}:*",
      "Effect": "Allow"
    },
    {
      "Action": "sts:AssumeRole",
      "Resource": [
        "arn:aws:iam::{{123456789012}}:role/cdk-*-deploy-role-*",
        "arn:aws:iam::{{123456789012}}:role/cdk-*-file-publishing-role-*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

### AWS Proton CodeBuild 신뢰 정책
<a name="codebuild-proton-svc-role.trust.details"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "CodeBuildTrustRelationshipWithConfusedDeputyPrevention",
    "Effect": "Allow",
    "Principal": {
      "Service": "codebuild.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringEquals": {
        "aws:SourceAccount": "{{123456789012}}"
      },
      "ArnLike": {
        "aws:SourceArn": "arn:aws:proton:*:{{123456789012}}:environment/*"
      }
    }
  }
}
```

------

## AWS Proton 파이프라인 서비스 역할
<a name="codepipeline-proton-svc-role"></a>

서비스 파이프라인을 프로비저닝하려면 다른 서비스에 대한 API 호출 권한이 AWS Proton 필요합니다. 필수 서비스 역할은 환경을 만들 때 제공하는 서비스 역할과 비슷합니다. 그러나 파이프라인을 생성하기 위한 역할은 AWS 계정의 모든 서비스 간에 공유되며 콘솔에서 또는 [UpdateAccountSettings](https://docs.aws.amazon.com/proton/latest/APIReference/API_UpdateAccountSettings.html) API 작업을 통해 이러한 역할을 **계정 설정**으로 제공합니다.

 AWS Proton 콘솔을 사용하여 계정 설정을 업데이트하고 CloudFormation 또는 CodeBuild 서비스 역할에 대한 새 역할을 생성하도록 선택하면가 생성하는 서비스 역할에 AWS Proton 추가하는 정책은 이전 섹션 [AWS-관리형 프로비저닝 역할](#proton-svc-role) 및에 설명된 정책과 동일합니다[CodeBuild 프로비저닝 역할](#codebuild-proton-svc-role). 이 정책에 대한 권한을 축소할 때는 `Access Denied` 오류가 AWS Proton 실패한다는 점에 유의하세요.

**중요**  
이전 섹션의 예시 정책은 계정에 템플릿을 등록할 수 있는 모든 사람에게 관리자 권한을 부여한다는 점에 유의합니다. AWS Proton 템플릿에서 정의할 리소스를 알 수 없으므로 이러한 정책에는 광범위한 권한이 있습니다. 파이프라인에 배포될 특정 리소스로 권한 범위를 좁히는 것이 좋습니다.

## AWS Proton 구성 요소 역할
<a name="proton-custom-comp-role"></a>

플랫폼 팀의 구성원은 관리자가 AWS Proton 서비스 역할을 생성하고 환경을 환경의 CloudFormation 구성 요소 역할([CreateEnvironment](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateEnvironment.html) API 작업의 `componentRoleArn` 파라미터)로 생성할 AWS Proton 때에 제공할 수 있습니다. 이 역할은 직접 정의된 구성 요소가 프로비저닝할 수 있는 인프라의 범위를 좁힙니다. 구성 요소에 대한 자세한 내용은 [AWS Proton 구성 요소](ag-components.md)를 참조하세요.

다음 예제 정책은 Simple Storage Service(S3) 버킷 및 관련 액세스 정책을 프로비저닝하는 직접 정의된 구성 요소를 생성할 수 있도록 지원합니다.

### AWS Proton 구성 요소 역할 정책 예제
<a name="proton-custom-comp-role.details"></a>

를 AWS 계정 ID`{{123456789012}}`로 바꿉니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:CancelUpdateStack",
        "cloudformation:CreateChangeSet",
        "cloudformation:DeleteChangeSet",
        "cloudformation:DescribeStacks",
        "cloudformation:ContinueUpdateRollback",
        "cloudformation:DetectStackResourceDrift",
        "cloudformation:DescribeStackResourceDrifts",
        "cloudformation:DescribeStackEvents",
        "cloudformation:CreateStack",
        "cloudformation:DeleteStack",
        "cloudformation:UpdateStack",
        "cloudformation:DescribeChangeSet",
        "cloudformation:ExecuteChangeSet",
        "cloudformation:ListChangeSets",
        "cloudformation:ListStackResources"
      ],
      "Resource": "arn:aws:cloudformation:*:{{123456789012}}:stack/AWSProton-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:GetBucket*",
        "iam:CreatePolicy",
        "iam:DeletePolicy",
        "iam:GetPolicy",
        "iam:ListPolicyVersions",
        "iam:DeletePolicyVersion"
      ],
      "Resource": "*",
      "Condition": {
        "ForAnyValue:StringEquals": {
          "aws:CalledVia": "cloudformation.amazonaws.com"
        }
      }
    }
  ]
}
```

------

### AWS Proton 구성 요소 신뢰 정책
<a name="proton-custom-comp-role.trust.details"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ServiceTrustRelationshipWithConfusedDeputyPrevention",
    "Effect": "Allow",
    "Principal": {
      "Service": "proton.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringEquals": {
        "aws:SourceAccount": "{{123456789012}}"
      },
      "ArnLike": {
        "aws:SourceArn": "arn:aws:proton:*:{{123456789012}}:environment/*"
      }
    }
  }
}
```

------