기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS AppSync 작업, 리소스 및 조건 키
AWS AppSync(서비스 접두사: appsync)는 IAM 권한 정책에 사용할 수 있는 다음과 같은 서비스별 리소스, 작업 및 조건 컨텍스트 키를 제공합니다.
참조:
-
이 서비스를 구성하는 방법을 알아봅니다.
-
이 서비스에 사용 가능한 API 작업의 목록을 봅니다.
-
IAM 권한 정책을 사용하여 이 서비스와 리소스를 보호하는 방법을 알아봅니다.
AWS AppSync에서 정의한 작업
IAM 정책 설명의 Action 요소에서는 다음 작업을 지정할 수 있습니다. 정책을 사용하여 AWS에서 작업할 수 있는 권한을 부여합니다. 정책에서 작업을 사용하면 일반적으로 이름이 같은 API 작업 또는 CLI 명령에 대한 액세스를 허용하거나 거부합니다. 그러나 경우에 따라 하나의 작업으로 둘 이상의 작업에 대한 액세스가 제어됩니다. 또는 일부 작업을 수행하려면 다양한 작업이 필요합니다.
작업 테이블의 액세스 수준 열은 작업이 분류되는 방법(목록, 읽기, 권한 관리 또는 태그 지정)을 설명합니다. 이 분류는 정책에서 사용하는 작업이 부여하는 액세스 레벨을 이해하는 데 도움이 될 수 있습니다. 액세스 수준에 대한 자세한 내용은 정책 요약의 액세스 수준을 참조하세요.
작업 테이블의 리소스 유형 열에는 각 작업이 리소스 수준 권한을 지원하는지 여부가 표시됩니다. 리소스 열에 값이 없으면 정책 문의 Resource 요소에서 정책이 적용되는 모든 리소스("*")를 지정해야 합니다. 리소스 열에 리소스 유형이 포함되어 있으면 해당 작업 시 문에서 해당 유형의 ARN을 지정할 수 있습니다. 작업에 필요한 리소스가 하나 이상 있는 경우, 호출자에게 해당 리소스와 함께 작업을 사용할 수 있는 권한이 있어야 합니다. 필수 리소스는 테이블에서 별표(*)로 표시됩니다. IAM 정책의 Resource 요소로 리소스 액세스를 제한하는 경우, 각 필수 리소스 유형에 대해 ARN 또는 패턴을 포함해야 합니다. 일부 작업은 다수의 리소스 유형을 지원합니다. 리소스 유형이 옵션(필수 리소스로 표시되지 않은 경우)인 경우에는 선택적 리소스 유형 중 하나를 사용하도록 선택할 수 있습니다.
작업 테이블의 조건 키 열에는 정책 설명의 Condition 요소에서 지정할 수 있는 키가 포함됩니다. 서비스의 리소스와 연결된 조건 키에 대한 자세한 내용은 리소스 유형 테이블의 조건 키 열을 참조하세요.
작업 테이블의 종속 작업 열에는 작업을 성공적으로 호출하는 데 필요할 수 있는 추가 권한이 표시됩니다. 이러한 권한은 작업 자체에 대한 권한 외에 추가로 필요할 수 있습니다. 작업이 종속 작업을 지정하는 경우 해당 종속성은 테이블에 나열된 첫 번째 리소스뿐만 아니라 해당 작업에 정의된 추가 리소스에도 적용될 수 있습니다.
참고
리소스 조건 키는 리소스 유형 표에 나열되어 있습니다. 작업에 적용되는 리소스 유형에 대한 링크는 리소스 유형(*필수) 작업 표의 열에서 찾을 수 있습니다. 리소스 유형 테이블의 리소스 유형에는 조건 키 열이 포함되고 이는 작업 표의 작업에 적용되는 리소스 조건 키입니다.
다음 테이블의 열에 대한 자세한 내용은 작업 테이블을 참조하세요.
| 작업 | 설명 | 액세스 레벨 | 리소스 유형(*필수) | 조건 키 | 종속 작업 |
|---|---|---|---|---|---|
| AssociateApi | AppSync에서 사용자 정의 도메인 이름에 GraphQL API를 연결할 수 있는 권한을 부여합니다. | 쓰기 | |||
| AssociateMergedGraphqlApi | 병합된 API를 소스 API에 연결할 수 있는 권한 부여 | 쓰기 | |||
| AssociateSourceGraphqlApi | 소스 API를 병합된 API에 연결할 수 있는 권한 부여 | 쓰기 | |||
| CreateApi | API를 생성할 수 있는 권한을 부여합니다. | 쓰기 |
iam:CreateServiceLinkedRole |
||
| CreateApiCache | AppSync에서 API 캐시를 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateApiKey | API를 실행하는 클라이언트에 배포할 수 있는 고유 키를 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateChannelNamespace | 채널 네임스페이스를 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateDataSource | 데이터 원본을 만들 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateDomainName | AppSync에서 사용자 정의 도메인을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateFunction | 새 함수를 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| CreateGraphqlApi | 최상위 AppSync 리소스인 GraphQL API 객체를 생성할 수 있는 권한을 부여합니다. | 쓰기 |
iam:CreateServiceLinkedRole |
||
| CreateResolver | 해석기를 생성할 수 있는 권한을 부여합니다. 해석기는 수신 요청을 데이터 원본이 이해할 수 있는 형식으로 변환하고 데이터 원본의 응답을 GraphQL로 변환합니다. | 쓰기 | |||
| CreateType | 새 유형을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteApi | API를 삭제할 수 있는 권한을 부여합니다. 이렇게 하면 해당 API 아래의 모든 AppSync 리소스도 정리됩니다. | 쓰기 | |||
| DeleteApiCache | AppSync에서 API 캐시를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteApiKey | API 키를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteChannelNamespace | 채널 네임스페이스를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteDataSource | 데이터 원본을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteDomainName | AppSync에서 사용자 정의 도메인을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteFunction | 함수를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteGraphqlApi | GraphQL API를 삭제할 수 있는 권한을 부여합니다. 이렇게 하면 해당 API 아래의 모든 AppSync 리소스도 정리됩니다. | 쓰기 | |||
| DeleteResolver | 해석기를 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DeleteResourcePolicy [권한만 해당] | 리소스 정책을 제거할 수 있는 권한 부여 | 쓰기 | |||
| DeleteType | 유형을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DisassociateApi | AppSync에서 사용자 정의 도메인 이름에 대한 GraphQL API를 분리할 수 있는 권한을 부여합니다. | 쓰기 | |||
| DisassociateMergedGraphqlApi | 소스 API로 식별된 병합된 API에서 연결된 소스 API를 제거할 수 있는 권한 부여 | 쓰기 | |||
| DisassociateSourceGraphqlApi | 병합된 API로 식별된 병합된 API에서 연결된 소스 API를 제거할 수 있는 권한 부여 | 쓰기 | |||
| EvaluateCode | 런타임 및 컨텍스트를 통해 코드를 평가할 수 있는 권한을 부여합니다. | 읽기 | |||
| EvaluateMappingTemplate | 템플릿 매핑을 평가하는 권한을 부여합니다. | Read | |||
| EventConnect | 이벤트 API에 연결할 수 있는 권한을 부여합니다. | 쓰기 | |||
| EventPublish | 채널 네임스페이스에 이벤트를 게시할 수 있는 권한을 부여합니다. | 쓰기 | |||
| EventSubscribe | 채널 네임스페이스를 구독할 수 있는 권한을 부여합니다. | 쓰기 | |||
| FlushApiCache | AppSync에서 API 캐시를 플러시할 수 있는 권한을 부여합니다. | 쓰기 | |||
| GetApi | API를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetApiAssociation | AppSync에서 사용자 정의 도메인 이름 - GraphQL API 연결 세부 정보를 읽을 수 있는 권한을 부여합니다. | 읽기 | |||
| GetApiCache | AppSync에서 API 캐시에 대한 정보를 읽을 수 있는 권한을 부여합니다. | Read | |||
| GetChannelNamespace | 채널 네임스페이스를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetDataSource | 데이터 원본을 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetDataSourceIntrospection | 데이터 소스 내부 검사를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetDomainName | AppSync에서 사용자 정의 도메인 이름에 대한 정보를 읽을 수 있는 권한을 부여합니다. | 읽기 | |||
| GetFunction | 함수를 검색할 수 있는 권한을 부여합니다. | 읽기 | |||
| GetGraphqlApi | GraphQL API를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetGraphqlApiEnvironmentVariables | GraphQL API의 환경 변수를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetIntrospectionSchema | GraphQL API에 대한 자체 검사 스키마를 검색할 수 있는 권한을 부여합니다. | 읽기 | |||
| GetResolver | 해석기를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetResourcePolicy [권한만 해당] | 리소스 정책을 읽을 수 있는 권한 부여 | Read | |||
| GetSchemaCreationStatus | 스키마 생성 작업의 현재 상태를 검색할 수 있는 권한을 부여합니다. | Read | |||
| GetSourceApiAssociation | 병합된 API 연결 소스 API에 대한 정보를 읽을 수 있는 권한 부여 | Read | |||
| GetType | 유형을 검색할 수 있는 권한을 부여합니다. | Read | |||
| GraphQL [권한만 해당] | GraphQL 쿼리를 GraphQL API에 보낼 수 있는 권한을 부여합니다. | 쓰기 | |||
| ListApiKeys | 지정된 API에 대한 API 키를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListApis | APIs | List | |||
| ListChannelNamespaces | 채널 네임스페이스를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListDataSources | 지정된 API에 대한 데이터 원본을 나열할 수 있는 권한을 부여합니다. | List | |||
| ListDomainNames | AppSync에서 사용자 정의 도메인 이름을 열거할 수 있는 권한을 부여합니다. | List | |||
| ListFunctions | 지정된 API에 대한 함수를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListGraphqlApis | GraphQL API를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListResolvers | 지정된 API 및 유형에 대한 해석기를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListResolversByFunction | 특정 함수와 연결된 해석기를 나열할 수 있는 권한을 부여합니다. | List | |||
| ListSourceApiAssociations | 지정된 병합 API에 연결된 소스 API를 나열할 수 있는 권한 부여 | List | |||
| ListTagsForResource | 리소스에 대한 태그를 나열할 수 있는 권한을 부여합니다. | 읽기 | |||
| ListTypes | 지정된 API의 유형을 나열할 수 있는 권한을 부여합니다. | List | |||
| ListTypesByAssociation | 지정된 병합 API 및 소스 API 연결의 유형을 나열할 수 있는 권한 부여 | List | |||
| PutGraphqlApiEnvironmentVariables | GraphQL API의 환경 변수를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| PutResourcePolicy [권한만 해당] | 리소스 정책을 설정할 수 있는 권한 부여 | 쓰기 | |||
| SetWebACL | 웹 ACL을 설정할 수 있는 권한을 부여합니다. | 권한 관리 | |||
| SourceGraphQL [권한만 해당] | GraphQL 쿼리를 병합 API의 소스 API에 보낼 수 있는 권한 부여 | 쓰기 | |||
| StartDataSourceIntrospection | 데이터 소스를 내부 검사할 수 있는 권한을 부여합니다. | 쓰기 | |||
| StartSchemaCreation | GraphQL API에 새 스키마를 추가할 수 있는 권한을 부여합니다. 이 작업은 비동기식입니다. 작업이 완료되면 GetSchemaCreationStatus가 표시될 수 있습니다. | 쓰기 | |||
| StartSchemaMerge | 지정된 병합 API 및 연결된 소스 API에 대해 스키마 병합을 시작할 수 있는 권한 부여 | 쓰기 | |||
| TagResource | 리소스에 태그를 지정할 수 있는 권한을 부여합니다. | 태그 지정 | |||
| UntagResource | 리소스의 태그를 제거할 수 있는 권한을 부여합니다. | 태그 지정 | |||
| UpdateApi | API를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 |
iam:CreateServiceLinkedRole |
||
| UpdateApiCache | AppSync에서 API 캐시를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateApiKey | 지정된 API에 대한 API 키를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateChannelNamespace | 채널 네임스페이스를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateDataSource | 데이터 원본을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateDomainName | AppSync에서 사용자 정의 도메인을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateFunction | 기존 함수를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateGraphqlApi | GraphQL API를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 |
iam:CreateServiceLinkedRole |
||
| UpdateResolver | 해석기를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
| UpdateSourceApiAssociation | 병합된 API 소스 API 연결을 업데이트할 수 있는 권한 부여 | 쓰기 | |||
| UpdateType | 유형을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 |
AWS AppSync에서 정의한 리소스 유형
이 서비스에서 정의하는 리소스 유형은 다음과 같으며, IAM 권한 정책 설명의 Resource 요소에서 사용할 수 있습니다. 작업 테이블의 각 작업은 해당 작업으로 지정할 수 있는 리소스 유형을 식별합니다. 리소스 유형은 정책에 포함할 조건 키를 정의할 수도 있습니다. 이러한 키는 리소스 유형 테이블의 마지막 열에 표시됩니다. 다음 테이블의 열에 관한 자세한 내용은 리소스 유형 테이블을 참조하세요.
| 리소스 유형 | ARN | 조건 키 |
|---|---|---|
| datasource |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/datasources/${DatasourceName}
|
|
| domain |
arn:${Partition}:appsync:${Region}:${Account}:domainnames/${DomainName}
|
|
| graphqlapi |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}
|
|
| field |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}/fields/${FieldName}
|
|
| type |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}
|
|
| function |
arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/functions/${FunctionId}
|
|
| sourceApiAssociation |
arn:${Partition}:appsync:${Region}:${Account}:apis/${MergedGraphQLAPIId}/sourceApiAssociations/${Associationid}
|
|
| mergedApiAssociation |
arn:${Partition}:appsync:${Region}:${Account}:apis/${SourceGraphQLAPIId}/mergedApiAssociations/${Associationid}
|
|
| api |
arn:${Partition}:appsync:${Region}:${Account}:apis/${ApiId}
|
|
| channelNamespace |
arn:${Partition}:appsync:${Region}:${Account}:apis/${ApiId}/channelNamespace/${ChannelNamespaceName}
|
AWS AppSync 조건 키
AWS AppSync는 IAM 정책의 Condition 요소에 사용할 수 있는 다음과 같은 조건 키를 정의합니다. 이러한 키를 사용하여 정책 설명이 적용되는 조건을 보다 상세하게 설정할 수 있습니다. 다음 테이블의 열에 대한 자세한 내용은 조건 키 테이블을 참조하세요.
모든 서비스에서 사용할 수 있는 전역 조건 키를 보려면 AWS 전역 조건 컨텍스트 키를 참조하세요.
| 조건 키 | 설명 | 형식 |
|---|---|---|
| appsync:Visibility | API 표시 여부를 기준으로 액세스를 필터링합니다. | String |
| aws:RequestTag/${TagKey} | 요청의 태그 키-값 페어를 기준으로 액세스를 필터링합니다. | String |
| aws:ResourceTag/${TagKey} | 리소스에 연결된 태그 키-값 페어를 기준으로 액세스를 필터링합니다. | String |
| aws:TagKeys | 요청에 태그 키가 있는지 여부를 기준으로 액세스를 필터링합니다. | ArrayOfString |