

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

# Amazon Keyspaces에서 CDC 스트림으로 작업할 수 있는 권한 구성
<a name="configure-cdc-permissions"></a>

CDC 스트림을 활성화하려면 IAM 사용자 또는 역할과 같은 보안 주체에 다음 권한이 필요합니다.

에 대한 자세한 내용은 단원을 AWS Identity and Access Management참조하십시오[AWS Identity and Access Management Amazon Keyspaces용](security-iam.md).

## 테이블에 대해 CDC 스트림을 활성화할 수 있는 권한
<a name="cdc-permissions-enable"></a>

Amazon Keyspaces 테이블에 대한 CDC 스트림을 활성화하려면 보안 주체는 먼저 테이블을 생성 또는 변경할 수 있는 권한과 서비스 연결 역할 [AWSServiceRoleForAmazonKeyspacesCDC](using-service-linked-roles-CDC-streams.md#service-linked-role-permissions-CDC-streams)를 생성할 수 있는 권한이 필요합니다. Amazon Keyspaces는 서비스 연결 역할을 사용하여 사용자를 대신하여 CloudWatch 지표를 계정에 게시합니다.

다음 IAM 정책은 이에 대한 예입니다.

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Effect":"Allow",
            "Action":[
                "cassandra:Create",
                "cassandra:CreateMultiRegionResource",
                "cassandra:Alter",
                "cassandra:AlterMultiRegionResource"
            ],
            "Resource":[
                "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/{{my_keyspace}}/*",
                "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/system*"
            ]
        },
        {
            "Sid": "KeyspacesCDCServiceLinkedRole",
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/cassandra-streams.amazonaws.com/AWSServiceRoleForAmazonKeyspacesCDC",
            "Condition": {
              "StringLike": {
                "iam:AWSServiceName": "cassandra-streams.amazonaws.com"
              }
            }
        }
    ]
}
```

스트림을 비활성화하려면 `ALTER TABLE` 권한만 필요합니다.

## CDC 스트림을 볼 수 있는 권한
<a name="cdc-permissions-view"></a>

CDC 스트림을 보거나 나열하려면 보안 주체가 시스템 키스페이스에 대한 읽기 권한이 필요합니다. 자세한 내용은 [`system_schema_mcs`](working-with-keyspaces.md#keyspace_system_schema_mcs) 단원을 참조하십시오.

다음 IAM 정책은 이에 대한 예입니다.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":"cassandra:Select",
         "Resource":[
             "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/system*"
         ]
      }
   ]
}
```

 AWS CLI 또는 Amazon Keyspaces API를 사용하여 CDC 스트림을 보거나 나열하려면 보안 주체에 작업 `cassandra:ListStreams` 및에 대한 추가 권한이 필요합니다`cassandra:GetStream`.

다음 IAM 정책은 이에 대한 예입니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cassandra:Select",
        "cassandra:ListStreams",
        "cassandra:GetStream"
      ],
      "Resource": "*"
    }
  ]
}
```

## CDC 스트림을 읽을 수 있는 권한
<a name="cdc-permissions-read"></a>

CDC 스트림을 읽으려면 보안 주체에 다음 권한이 필요합니다.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "cassandra:GetStream",
            "cassandra:GetShardIterator",
            "cassandra:GetRecords"
         ],
         "Resource":[
            "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/{{my_keyspace}}/table/{{my_table}}/stream/{{stream_label}}"
         ]
      }
   ]
}
```

## Kinesis Client Library(KCL)를 사용하여 Amazon Keyspaces CDC 스트림을 처리할 수 있는 권한
<a name="cdc-permissions-kcl"></a>

KCL을 사용하여 Amazon Keyspaces CDC 스트림을 처리하려면 IAM 보안 주체에 다음 권한이 필요합니다.
+ `Amazon Keyspaces` - 지정된 Amazon Keyspaces CDC 스트림에 대한 읽기 전용 액세스입니다.
+ `DynamoDB` - `shard lease` KCL 스트림 처리에 필요한 테이블 생성, 테이블에 대한 읽기 및 쓰기 액세스 권한, 인덱스에 대한 읽기 액세스 권한.
+ `CloudWatch` - Amazon Keyspaces CDC에서 지표 데이터를 게시할 수 있는 권한은 KCL을 사용한 처리를 CloudWatch 계정의 KCL 클라이언트 애플리케이션의 네임스페이스로 스트리밍합니다. 모니터링에 대한 자세한 내용은 [ Amazon CloudWatch를 사용하여 Kinesis Client Library 모니터링을](https://docs.aws.amazon.com/streams/latest/dev/monitoring-with-kcl.html) 참조하세요.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "cassandra:GetStream",
            "cassandra:GetShardIterator",
            "cassandra:GetRecords"
         ],
         "Resource":[
            "arn:aws:cassandra:{{us-east-1}}:{{111122223333}}:/keyspace/{{my_keyspace}}/table/{{my_table}}/stream/{{stream_label}}"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:CreateTable",
            "dynamodb:DescribeTable",
            "dynamodb:UpdateTable",
            "dynamodb:GetItem",
            "dynamodb:UpdateItem",
            "dynamodb:PutItem",
            "dynamodb:DeleteItem",
            "dynamodb:Scan"
         ],
         "Resource":[
            "arn:aws:dynamodb:{{us-east-1}}:{{111122223333}}:table/{{KCL_APPLICATION_NAME}}"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:CreateTable",
            "dynamodb:DescribeTable",
            "dynamodb:GetItem",
            "dynamodb:UpdateItem",
            "dynamodb:PutItem",
            "dynamodb:DeleteItem",
            "dynamodb:Scan"
         ],
         "Resource":[
            "arn:aws:dynamodb:{{us-east-1}}:{{111122223333}}:table/{{KCL_APPLICATION_NAME}}-WorkerMetricStats",
            "arn:aws:dynamodb:{{us-east-1}}:{{111122223333}}:table/{{KCL_APPLICATION_NAME}}-CoordinatorState"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "dynamodb:Query"
         ],
         "Resource":[
            "arn:aws:dynamodb:{{us-east-1}}:{{111122223333}}:table/{{KCL_APPLICATION_NAME}}/index/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "cloudwatch:PutMetricData"
         ],
         "Resource":"*"
      }
   ]
}
```