

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

# AWS SAM 커넥터 참조
<a name="reference-sam-connector"></a>

이 섹션에는 AWS Serverless Application Model (AWS SAM) 커넥터 리소스 유형에 대한 참조 정보가 포함되어 있습니다. 커넥터에 대한 소개는 [AWS SAM 커넥터를 사용하여 리소스 권한 관리](managing-permissions-connectors.md) 섹션을 참조하세요.

## 커넥터에 지원되는 소스 및 대상 리소스 유형
<a name="supported-connector-resource-types"></a>

`AWS::Serverless::Connector` 리소스 유형은 소스 리소스와 대상 리소스 간에 선택한 수의 연결을 지원합니다. AWS SAM 템플릿에서 커넥터를 구성할 때 다음 표를 사용하여 지원되는 연결과 각 소스 및 대상 리소스 유형에 대해 정의해야 하는 속성을 참조합니다. 템플릿에서 커넥터를 구성하는 방법에 대한 자세한 내용은 [AWS::Serverless::Connector](sam-resource-connector.md) 섹션을 참조하세요.

소스 및 대상 리소스 모두에 대해 동일한 템플릿 내에 정의된 경우 `Id` 속성을 사용합니다. 선택적으로 `Qualifier`을 추가하여 정의된 리소스의 범위를 좁힐 수 있습니다. 리소스가 동일한 템플릿 내에 있지 않은 경우 지원되는 속성을 조합하여 사용합니다.

 새 연결을 요청하려면 *serverless-application-model AWS GitHub리포지토리*에서 [새 문제를 제출합니다](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28New%20Connector%20Profile%29).


| 소스 유형 | 대상 유형 | 권한 | 소스 속성 | 대상 속성 | 
| --- | --- | --- | --- | --- | 
| `AWS::ApiGateway::RestApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGateway::RestApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGatewayV2::Api` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGatewayV2::Api` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::DynamoDB::Table` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::DynamoDB::Table` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::SimpleTable` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::SimpleTable` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::GraphQLApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `ResourceId` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::GraphQLApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `ResourceId` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::DynamoDB::Table` | `AWS::Lambda::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::DynamoDB::Table` | `AWS::Serverless::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Serverless::StateMachine` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::SNS::Topic` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::SQS::Queue` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn`, `QueueUrl`, 및 `Type` | 
| `AWS::Events::Rule` | `AWS::StepFunctions::StateMachine` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Location::PlaceIndex` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::SQS::Queue` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::S3::Bucket` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::S3::Bucket` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Api` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Api` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::SQS::Queue` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::HttpApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::HttpApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::SimpleTable` | `AWS::Lambda::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Serverless::SimpleTable` | `AWS::Serverless::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::SQS::Queue` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::SQS::Queue` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn`, `QueueUrl`, 및 `Type` | 
| `AWS::SQS::Queue` | `AWS::Lambda::Function` | `Read`, `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::SQS::Queue` | `AWS::Serverless::Function` | `Read`, `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::SQS::Queue` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 

## 커넥터에서 생성한 IAM 정책
<a name="reference-sam-connector-policies"></a>

이 섹션에서는 커넥터를 사용할 AWS SAM 때에서 생성한 AWS Identity and Access Management (IAM) 정책을 설명합니다.

`AWS::DynamoDB::Table`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:DescribeStream",
        "dynamodb:GetRecords",
        "dynamodb:GetShardIterator",
        "dynamodb:ListStreams"
      ],
      "Resource": [
        "%{Source.Arn}/stream/*"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::SNS::Topic`에 연결된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sns:Publish",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::Events::Rule` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::Events::Rule` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "events.amazonaws.com",
  "SourceArn": "%{Source.Arn}"
}
```

`AWS::Events::Rule`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::SQS::Queue`에 연결된 `[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sqs:SendMessage",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::S3::Bucket`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:GetObjectLegalHold",
        "s3:GetObjectRetention",
        "s3:GetObjectTorrent",
        "s3:GetObjectVersion",
        "s3:GetObjectVersionAcl",
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionTorrent",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutObject",
        "s3:PutObjectLegalHold",
        "s3:PutObjectRetention",
        "s3:RestoreObject"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:GetQueueAttributes"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage",
        "sqs:SendMessage",
        "sqs:ChangeMessageVisibility",
        "sqs:PurgeQueue"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sns:Publish"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution",
        "states:StartSyncExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:StopExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    }
  ]
}
```
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeStateMachine",
        "states:ListExecutions"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution",
        "states:DescribeStateMachineForExecution",
        "states:GetExecutionHistory"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Location::PlaceIndex`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "geo:DescribePlaceIndex",
        "geo:GetPlace",
        "geo:SearchPlaceIndexForPosition",
        "geo:SearchPlaceIndexForSuggestions",
        "geo:SearchPlaceIndexForText"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::ApiGatewayV2::Api`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "apigateway.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:%{Source.ResourceId}/%{Source.Qualifier}"
}
```

`AWS::ApiGateway::RestApi`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "apigateway.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:%{Source.ResourceId}/%{Source.Qualifier}"
}
```

`AWS::SNS::Topic`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::SQS::Queue`에 연결된 `[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sqs:SendMessage",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::SNS::Topic`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "sns.amazonaws.com",
  "SourceArn": "%{Source.Arn}"
}
```

`AWS::SQS::Queue`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage"
      ],
      "Resource": [
        "%{Source.Arn}"
      ]
    }
  ]
}
```
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:GetQueueAttributes"
      ],
      "Resource": [
        "%{Source.Arn}"
      ]
    }
  ]
}
```

`AWS::S3::Bucket`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "s3.amazonaws.com",
  "SourceArn": "%{Source.Arn}",
  "SourceAccount": "${AWS::AccountId}"
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sns:Publish"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:SendMessage"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::S3::Bucket`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:GetObjectLegalHold",
        "s3:GetObjectRetention",
        "s3:GetObjectTorrent",
        "s3:GetObjectVersion",
        "s3:GetObjectVersionAcl",
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionTorrent",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutObject",
        "s3:PutObjectLegalHold",
        "s3:PutObjectRetention",
        "s3:RestoreObject"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:DescribeRule"
      ],
      "Resource": [
        "arn:${AWS::Partition}:events:${AWS::Region}:${AWS::AccountId}:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:StopExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:PutTargets",
        "events:PutRule"
      ],
      "Resource": [
        "arn:${AWS::Partition}:events:${AWS::Region}:${AWS::AccountId}:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}:*"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::AppSync::GraphQLApi`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "appsync.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:appsync:${AWS::Region}:${AWS::AccountId}:apis/%{Source.ResourceId}"
}
```