

지원 종료 알림: 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
<a name="security_iam_policy-examples"></a>

다음 섹션에서 AWS Proton IAM 정책 예제를 찾습니다.

**Topics**
+ [에 대한 자격 증명 기반 정책 예제 AWS Proton](security_iam_id-based-policy-examples.md)
+ [AWS Proton IAM 서비스 역할 정책 예제](security_iam_service-role-policy-examples.md)
+ [에 대한 조건 키 기반 정책 예제 AWS Proton](security_iam_condition-key-based-policy-examples.md)

# 에 대한 자격 증명 기반 정책 예제 AWS Proton
<a name="security_iam_id-based-policy-examples"></a>

기본적으로 사용자 및 역할에는 AWS Proton 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 사용자에게 사용자가 필요한 리소스에서 작업을 수행할 권한을 부여하려면 IAM 관리자가 IAM 정책을 생성하면 됩니다.

이러한 예제 JSON 정책 문서를 사용하여 IAM ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*의 [IAM 정책 생성(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)을 참조하세요.

각 리소스 유형에 대한 ARNs 형식을 포함하여 AWS Proton에서 정의한 작업 및 리소스 유형에 대한 자세한 내용은 *서비스 권한* 부여 참조의 [에 대한 작업, 리소스 및 조건 키를 AWS Proton](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsproton.html) 참조하세요.

**Topics**
+ [정책 모범 사례](#security_iam_service-with-iam-policy-best-practices)
+ [에 대한 자격 증명 기반 정책 예제 링크 AWS Proton](#security_iam-example-links)

## 정책 모범 사례
<a name="security_iam_service-with-iam-policy-best-practices"></a>

자격 증명 기반 정책에 따라 계정에서 사용자가 AWS Proton 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부가 결정됩니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. ID 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따르세요.
+ ** AWS 관리형 정책을 시작하고 최소 권한으로 전환 -** 사용자 및 워크로드에 권한 부여를 시작하려면 많은 일반적인 사용 사례에 대한 권한을 부여하는 *AWS 관리형 정책을* 사용합니다. 에서 사용할 수 있습니다 AWS 계정. 사용 사례에 맞는 AWS 고객 관리형 정책을 정의하여 권한을 추가로 줄이는 것이 좋습니다. 자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) 또는 [AWS 직무에 대한 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)을 참조하세요.
+ **최소 권한 적용** – IAM 정책을 사용하여 권한을 설정하는 경우, 작업을 수행하는 데 필요한 권한만 부여합니다. 이렇게 하려면 *최소 권한*으로 알려진 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의합니다. IAM을 사용하여 권한을 적용하는 방법에 대한 자세한 정보는 *IAM 사용 설명서*에 있는 [IAM의 정책 및 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)을 참조하세요.
+ **IAM 정책의 조건을 사용하여 액세스 추가 제한** – 정책에 조건을 추가하여 작업 및 리소스에 대한 액세스를 제한할 수 있습니다. 예를 들어, SSL을 사용하여 모든 요청을 전송해야 한다고 지정하는 정책 조건을 작성할 수 있습니다. AWS 서비스와 같은 특정를 통해 사용되는 경우 조건을 사용하여 서비스 작업에 대한 액세스 권한을 부여할 수도 있습니다 CloudFormation. 자세한 내용은 *IAM 사용 설명서*의 [IAM JSON 정책 요소: 조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)을 참조하세요.
+ **IAM Access Analyzer를 통해 IAM 정책을 확인하여 안전하고 기능적인 권한 보장** - IAM Access Analyzer에서는 IAM 정책 언어(JSON)와 모범 사례가 정책에서 준수되도록 새로운 및 기존 정책을 확인합니다. IAM Access Analyzer는 100개 이상의 정책 확인 항목과 실행 가능한 추천을 제공하여 안전하고 기능적인 정책을 작성하도록 돕습니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM Access Analyzer에서 정책 검증](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)을 참조하세요.
+ **다중 인증(MFA) 필요 -**에서 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 경우 추가 보안을 위해 MFA를 AWS 계정켭니다. API 작업을 직접적으로 호출할 때 MFA가 필요하면 정책에 MFA 조건을 추가합니다. 자세한 내용은 *IAM 사용 설명서*의 [MFA를 통한 보안 API 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)를 참조하세요.

IAM의 모범 사례에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

## 에 대한 자격 증명 기반 정책 예제 링크 AWS Proton
<a name="security_iam-example-links"></a>

**에 대한 자격 증명 기반 정책 예제 예제 링크 AWS Proton**
+ [AWS 에 대한 관리형 정책 AWS Proton](security-iam-awsmanpol.md)
+ [AWS Proton IAM 서비스 역할 정책 예제](security_iam_service-role-policy-examples.md)
+ [에 대한 조건 키 기반 정책 예제 AWS Proton](security_iam_condition-key-based-policy-examples.md)

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

------

# 에 대한 조건 키 기반 정책 예제 AWS Proton
<a name="security_iam_condition-key-based-policy-examples"></a>

다음 예제 IAM 정책은 `Condition` 블록에 지정된 템플릿과 일치하는 AWS Proton 작업에 대한 액세스를 거부합니다. 이러한 조건 키는 [작업, 리소스 및 조건 키 AWS Proton](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsproton.html)에 나열된 작업에서만 지원됩니다. `DeleteEnvironmentTemplate` 등의 다른 작업에 대한 권한을 관리하려면 리소스 수준 액세스 제어를 사용해야 합니다.

**특정 AWS Proton 템플릿에 대한 템플릿 작업을 거부하는 정책의 예:**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": ["proton:*"],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "proton:EnvironmentTemplate": ["arn:aws:proton:region_id:123456789012:environment-template/my-environment-template"]
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": ["proton:*"],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "proton:ServiceTemplate": ["arn:aws:proton:region_id:123456789012:service-template/my-service-template"]
                }
            }
        }
    ]
}
```

------

다음 예제 정책에서 첫 번째 리소스 수준 문은 `Resource` 블록에 나열된 서비스 AWS Proton 템플릿과 `ListServiceTemplates`일치하는 이외의 템플릿 작업에 대한 액세스를 거부합니다. 두 번째 문은 `Condition` 블록에 나열된 템플릿과 일치하는 AWS Proton 작업에 대한 액세스를 거부합니다.

**특정 템플릿과 일치하는 AWS Proton 작업을 거부하는 정책의 예:**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "proton:*"
            ],
            "Resource": "arn:aws:proton:us-east-1:123456789012:service-template/my-service-template"
        },
        {
            "Effect": "Deny",
            "Action": [
                "proton:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "proton:ServiceTemplate": [
                        "arn:aws:proton:us-east-1:123456789012:service-template/my-service-template"
                    ]
                }
            }
        }
    ]
}
```

------

최종 정책 예제에서는 `Condition` 블록에 나열된 특정 서비스 템플릿과 일치하는 개발자 AWS Proton 작업을 허용합니다.

**특정 템플릿과 일치하는 AWS Proton 개발자 작업을 허용하는 정책 예제:**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "proton:ListServiceTemplates",
                "proton:ListServiceTemplateVersions",
                "proton:ListServices",
                "proton:ListServiceInstances",
                "proton:ListEnvironments",
                "proton:GetServiceTemplate",
                "proton:GetServiceTemplateVersion",
                "proton:GetService",
                "proton:GetServiceInstance",
                "proton:GetEnvironment",
                "proton:CreateService",
                "proton:UpdateService",
                "proton:UpdateServiceInstance",
                "proton:UpdateServicePipeline",
                "proton:DeleteService",
                "codestar-connections:ListConnections"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "proton:ServiceTemplate": "arn:aws:proton:region_id:123456789012:service-template/my-service-template"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "codestar-connections:PassConnection"
            ],
            "Resource": "arn:aws:codestar-connections:*:*:connection/*",
            "Condition": {
                "StringEquals": {
                    "codestar-connections:PassedToService": "proton.amazonaws.com"
                }
            }
        }

    ]
}
```

------