Amazon DynamoDB에 사용되는 작업, 리소스 및 조건 키
Amazon DynamoDB(서비스 접두사: dynamodb
)는 IAM 권한 정책에 사용할 수 있는 다음과 같은 서비스별 리소스, 작업 및 조건 컨텍스트 키를 제공합니다.
참조:
-
이 서비스를 구성하는 방법을 알아봅니다.
-
이 서비스에 사용 가능한 API 작업의 목록을 봅니다.
-
IAM 권한 정책을 사용하여 이 서비스와 리소스를 보호하는 방법을 알아봅니다.
Amazon DynamoDB에서 정의한 작업
IAM 정책 설명의 Action
요소에서는 다음 작업을 지정할 수 있습니다. 정책을 사용하여 AWS에서 작업할 수 있는 권한을 부여합니다. 정책에서 작업을 사용하면 일반적으로 이름이 같은 API 작업 또는 CLI 명령에 대한 액세스를 허용하거나 거부합니다. 그러나 경우에 따라 하나의 작업으로 둘 이상의 작업에 대한 액세스가 제어됩니다. 또는 일부 작업을 수행하려면 다양한 작업이 필요합니다.
작업 테이블의 리소스 유형 열에는 각 작업이 리소스 수준 권한을 지원하는지 여부가 표시됩니다. 리소스 열에 값이 없으면 정책 문의 Resource
요소에서 정책이 적용되는 모든 리소스("*")를 지정해야 합니다. 리소스 열에 리소스 유형이 포함되어 있으면 해당 작업 시 문에서 해당 유형의 ARN을 지정할 수 있습니다. 작업에 필요한 리소스가 하나 이상 있는 경우, 호출자에게 해당 리소스와 함께 작업을 사용할 수 있는 권한이 있어야 합니다. 필수 리소스는 테이블에서 별표(*)로 표시됩니다. IAM 정책의 Resource
요소로 리소스 액세스를 제한하는 경우, 각 필수 리소스 유형에 대해 ARN 또는 패턴을 포함해야 합니다. 일부 작업은 다수의 리소스 유형을 지원합니다. 리소스 유형이 옵션(필수 리소스로 표시되지 않은 경우)인 경우에는 선택적 리소스 유형 중 하나를 사용하도록 선택할 수 있습니다.
작업 테이블의 조건 키 열에는 정책 설명의 Condition
요소에서 지정할 수 있는 키가 포함됩니다. 서비스의 리소스와 연결된 조건 키에 대한 자세한 내용은 리소스 유형 테이블의 조건 키 열을 참조하세요.
참고
리소스 조건 키는 리소스 유형 표에 나열되어 있습니다. 작업에 적용되는 리소스 유형에 대한 링크는 리소스 유형(*필수) 작업 표의 열에서 찾을 수 있습니다. 리소스 유형 테이블의 리소스 유형에는 조건 키 열이 포함되고 이는 작업 표의 작업에 적용되는 리소스 조건 키입니다.
다음 테이블의 열에 대한 자세한 내용은 작업 테이블을 참조하세요.
작업 | 설명 | 액세스 레벨 | 리소스 유형(*필수) | 조건 키 | 종속 작업 |
---|---|---|---|---|---|
BatchGetItem | 하나 이상의 테이블에서 하나 이상의 항목 속성을 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
BatchWriteItem | 하나 이상의 테이블에 여러 항목을 추가하거나 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
ConditionCheckItem | ConditionCheckItem 작업에 대한 권한을 부여하여 주어진 기본 키가 있는 항목에 대한 속성 집합의 존재 여부를 확인합니다. | 읽기 | |||
CreateBackup | 기존 테이블에 대해 백업을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
CreateGlobalTable | 기존 테이블에서 전역 테이블을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
CreateTable | 사용자 계정에 새 테이블을 추가할 수 있는 권한을 CreateTable 작업에 부여합니다. | 쓰기 | |||
CreateTableReplica [권한만 해당] | 새 복제 테이블을 추가할 수 있는 권한을 부여합니다. | 쓰기 | |||
DeleteBackup | 테이블에 대한 기존 백업을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
DeleteItem | 기본 키로 테이블의 단일 항목을 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
DeleteResourcePolicy | 리소스에 연결된 리소스 기반 정책을 삭제할 수 있는 권한을 부여합니다. | 권한 관리 | |||
DeleteTable | 테이블과 테이블에 속한 모든 항목을 삭제할 수 있는 권한을 DeleteTable 작업에 부여합니다. | 쓰기 | |||
DeleteTableReplica [권한만 해당] | 복제본 테이블과 해당 항목을 모두 삭제할 수 있는 권한을 부여합니다. | 쓰기 | |||
DescribeBackup | 테이블에 대한 기존 백업을 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeContinuousBackups | 지정된 테이블에서 백업 복원 설정의 상태를 점검할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeContributorInsights | 주어진 테이블 또는 전역 보조 인덱스에 대한 Contributor Insights 상태 및 관련 세부 정보를 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeEndpoints | 지역 엔드포인트 정보를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeExport | 테이블에 대한 기존 내보내기를 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeGlobalTable | 지정된 전역 테이블에 대한 정보를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeGlobalTableSettings | 지정된 전역 테이블에 대한 설정 정보를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeImport | 기존 가져오기를 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeKinesisStreamingDestination | 주어진 테이블에 대한 Kinesis 스트리밍 상태 및 관련 세부 정보를 설명할 수 있는 권한을 부여할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeLimits | 한 리전의 AWS 계정에 대해 현재 프로비저닝된 용량 제한을 반환하는데, 리전 전체를 기준으로도 반환하고, 만들려는 하나의 DynamoDB 테이블을 기준으로도 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeReservedCapacity [권한만 해당] | 구입한 Reserved Capacity를 하나 이상 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeReservedCapacityOfferings [권한만 해당] | 구매 가능한 예약 용량 상품을 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeStream | 스트림의 현재 상태, Amazon 리소스 이름(ARN), 샤드의 구성 및 해당되는 DynamoDB 테이블을 포함하여 스트림에 대한 정보를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeTable | 테이블에 대한 정보를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeTableReplicaAutoScaling | 전역 테이블의 모든 복제본에서 Auto Scaling 설정을 설명할 수 있는 권한을 부여합니다. | 읽기 | |||
DescribeTimeToLive | 지정된 테이블의 Time to Live(TTL) 상태에 대한 설명을 제공할 수 있는 권한을 부여합니다. | 읽기 | |||
DisableKinesisStreamingDestination | DynamoDB 테이블에서 Kinesis 데이터 스트림으로의 복제를 중지할 수 있는 권한을 부여할 수 있는 권한을 부여합니다. | 쓰기 | |||
EnableKinesisStreamingDestination | 워크플로 사용 중에 선택한 타임스탬프에 지정된 Kinesis 데이터 스트림에 테이블 데이터 복제를 시작할 수 있는 권한을 부여할 수 있는 권한을 부여합니다. | 쓰기 | |||
ExportTableToPointInTime | DynamoDB 테이블을 S3로 내보내기를 시작할 수 있는 권한을 부여합니다. | 쓰기 | |||
GetItem | 주어진 기본 키와 함께 항목에 대한 속성 집합을 반환할 수 있는 권한을 GetItem 작업에 부여합니다. | 읽기 | |||
GetRecords | 지정된 샤드에서 스트림 레코드를 검색할 수 있는 권한을 부여합니다. | 읽기 | |||
GetResourcePolicy | 리소스에 대한 리소스 기반 정책을 볼 수 있는 권한을 부여합니다. | 읽기 | |||
GetShardIterator | 샤드 반복자를 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
ImportTable | S3에서 DynamoDB 테이블로 가져오기를 시작할 수 있는 권한을 부여합니다. | 쓰기 | |||
ListBackups | 계정 및 엔드포인트와 연결된 백업을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
ListContributorInsights | 현재 계정 및 엔드포인트와 연결된 모든 테이블 및 전역 보조 인덱스에 대한 ContributorInsightsSummary를 나열할 수 있는 권한을 부여합니다. | 나열 | |||
ListExports | 계정 및 엔드포인트와 연결된 내보내기를 나열할 수 있는 권한을 부여합니다. | 나열 | |||
ListGlobalTables | 지정된 리전에 복제본을 보유한 모든 전역 테이블을 나열할 수 있는 권한을 부여합니다. | 나열 | |||
ListImports | 계정 및 엔드포인트와 연결된 가져오기를 나열할 수 있는 권한을 부여합니다. | 나열 | |||
ListStreams | 현재 계정 및 엔드포인트와 연동되어 있는 스트림 ARN의 배열을 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
ListTables | 현재 계정 및 엔드포인트와 연동되어 있는 테이블 이름의 배열을 반환할 수 있는 권한을 부여합니다. | 나열 | |||
ListTagsOfResource | Amazon DynamoDB 리소스에 대한 모든 태그를 나열할 수 있는 권한을 부여합니다. | 읽기 | |||
PartiQLDelete | 기본 키로 테이블의 단일 항목을 삭제할 수있는 권한을 부여합니다. | Write | |||
PartiQLInsert | 동일한 기본 키를 가진 항목이 테이블에 없는 경우 새 항목을 만들 수 있는 권한을 부여합니다. | Write | |||
PartiQLSelect | 테이블 또는 인덱스에서 항목에 대한 속성의 집합을 읽을 수 있는 권한을 부여합니다. | Read | |||
PartiQLUpdate | 기존 항목의 속성을 편집할 수 있는 권한을 부여합니다. | 쓰기 | |||
PurchaseReservedCapacityOfferings [권한만 해당] | 계정에서 사용할 예약 용량을 구입할 수 있는 권한을 부여합니다. | 쓰기 | |||
PutItem | 새 항목을 만들거나 이전 항목을 새 항목으로 바꿀 수 있는 권합을 부여합니다. | 쓰기 | |||
PutResourcePolicy | 리소스에 리소스 기반 정책을 연결할 수 있는 권한을 부여합니다. | 권한 관리 | |||
Query | 테이블 또는 보조 인덱스의 기본 키를 사용하여 해당 테이블 또는 인덱스에서 직접 액세스할 수 있는 권한을 부여합니다. | 읽기 | |||
RestoreTableFromAwsBackup [권한만 해당] | AWS 백업의 복구 지점에서 새 테이블을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
RestoreTableFromBackup | 기존 백업에서 새 테이블을 생성할 수 있는 권한을 부여합니다. | 쓰기 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
RestoreTableToPointInTime | 테이블을 특정 시점으로 복원할 수 있는 권한을 부여합니다. | 쓰기 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
Scan | 테이블 또는 보조 인덱스의 모든 항목에 액세스하여 하나 이상의 항목 및 항목 속성을 반환할 수 있는 권한을 부여합니다. | 읽기 | |||
StartAwsBackupJob [권한만 해당] | 고급 기능이 사용되는 백업에서 AWS Backup을 생성할 수 있는 권한을 부여합니다. | 쓰기 | |||
TagResource | 태그 세트를 Amazon DynamoDB 리소스와 연결할 수 있는 권한을 부여합니다. | 태그 지정 | |||
UntagResource | Amazon DynamoDB 리소스에서 태그의 연결을 제거할 수 있는 권한을 부여합니다. | 태그 지정 | |||
UpdateContinuousBackups | 연속 백업을 사용 또는 사용 중지할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateContributorInsights | 특정 테이블 또는 전역 보조 인덱스에 대한 Contributor Insights 상태를 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateGlobalTable | 지정된 전역 테이블에서 복제본을 추가하거나 제거할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateGlobalTableSettings | 지정된 전역 테이블의 설정을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateGlobalTableVersion [권한만 해당] | 지정된 전역 테이블의 버전을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateItem | 기존 항목의 속성을 편집하거나 항목이 아직 없을 경우 테이블에 새 항목을 추가할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateKinesisStreamingDestination | 지정된 Kinesis 데이터 스트림에 대한 데이터 복제 구성을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateTable | 주어진 테이블에 대한 프로비저닝된 처리량 설정, 전역 보조 인덱스 또는 DynamoDB Streams 설정을 수정할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateTableReplicaAutoScaling | 복제본 테이블의 Auto Scaling 설정을 업데이트할 수 있는 권한을 부여합니다. | 쓰기 | |||
UpdateTimeToLive | 지정된 테이블에 대한 TTL을 사용 또는 사용 중지할 수 있는 권한을 부여합니다. | 쓰기 |
Amazon DynamoDB에서 정의한 리소스 유형
이 서비스에서 정의하는 리소스 유형은 다음과 같으며, IAM 권한 정책 설명의 Resource
요소에서 사용할 수 있습니다. 작업 테이블의 각 작업에서 해당 작업으로 지정할 수 있는 리소스 유형을 식별합니다. 리소스 유형은 정책에 포함할 조건 키를 정의할 수도 있습니다. 이러한 키는 리소스 유형 테이블의 마지막 열에 표시됩니다. 다음 테이블의 열에 관한 자세한 내용은 리소스 유형 테이블을 참조하세요.
리소스 유형 | ARN | 조건 키 |
---|---|---|
index |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/index/${IndexName}
|
|
stream |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/stream/${StreamLabel}
|
|
table |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}
|
|
backup |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/backup/${BackupName}
|
|
export |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/export/${ExportName}
|
|
global-table |
arn:${Partition}:dynamodb::${Account}:global-table/${GlobalTableName}
|
|
import |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/import/${ImportName}
|
Amazon DynamoDB에 사용되는 조건 키
Amazon DynamoDB는 IAM 정책의 Condition
요소에 사용할 수 있는 다음과 같은 조건 키를 정의합니다. 이러한 키를 사용하여 정책 설명이 적용되는 조건을 보다 상세하게 설정할 수 있습니다. 다음 테이블의 열에 대한 자세한 내용은 조건 키 테이블을 참조하세요.
모든 서비스에 사용할 수 있는 글로벌 조건 키를 보려면 사용 가능한 글로벌 조건 키를 참조하세요.
참고
IAM 정책을 사용하여 DynamoDB 액세스를 미세 조정하기 하기 위해 컨텍스트 키를 사용하는 방법에 대한 자세한 내용은 Amazon DynamoDB 개발자 안내서의 IAM 정책 조건을 사용하여 세부적인 액세스 제어 구현을 참조하십시오.
조건 키 | 설명 | 형식 |
---|---|---|
dynamodb:Attributes | 테이블의 속성(필드 또는 열) 이름을 기준으로 액세스를 필터링합니다. | ArrayOfString |
dynamodb:EnclosingOperation | 트랜잭션 API 호출을 차단하고 비 트랜잭션 API 호출을 허용하는 데 또는 그 반대의 경우를 위해 액세스를 필터링합니다. | String |
dynamodb:FullTableScan | 전체 테이블 스캔을 차단하여 액세스를 필터링합니다. | 부울 |
dynamodb:LeadingKeys | 테이블의 파티션 키를 기준으로 액세스를 필터링합니다. | ArrayOfString |
dynamodb:ReturnConsumedCapacity | 요청의 ReturnConsumedCapacity 파라미터를 기준으로 액세스를 필터링합니다. "TOTAL" 또는 "NONE"을 포함합니다. | String |
dynamodb:ReturnValues | 요청의 ReturnValues 파라미터를 기준으로 액세스를 필터링합니다. 다음 중 하나를 포함합니다: "ALL_OLD", "UPDATED_OLD","ALL_NEW","UPDATED_NEW" 또는 "NONE". | String |
dynamodb:Select | Query 또는 Scan 요청의 Select 파라미터를 기준으로 액세스를 필터링합니다. | String |