

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

# AWS KMS 키를 사용한 객체 수준 서버 측 암호화 활성화
<a name="using-kms-keys-for-encryption"></a>

미디어 캡처 파이프라인 및 미디어 연결 파이프라인은 AWS Key Management Service (AWS KMS) 고객 관리형 키를 사용하여 Amazon S3 버킷의 개별 객체에 대해 서버 측 암호화(SSE)를 활성화할 수 있습니다. 이를 구성하려면 [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) API 호출을 사용해야 합니다. 미디어 연결 파이프라인은 연결된 미디어 캡처 파이프라인의 서버 측 암호화 파라미터를 사용합니다.

고객 관리형 키를 사용하여 개별 객체에 대해 SSE(객체 수준 SSE)를 AWS KMS 활성화하려면 [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) API 호출 `SinkIamRoleArn` 중에 `SseAwsKeyManagementParams` 구조와를 제공해야 합니다.

1. `SseAwsKeyManagementParams` 구조의 `AwsKmsKeyId` 파라미터를 사용하여 키를 지정합니다 AWS KMS . 키의 ID, ARN 또는 별칭을 사용하여 키 ID를 지정할 수 있습니다.

1. `SinkIamRoleArn` 파라미터를 사용하여 AWS KMS 키와 싱크 Amazon S3 버킷에 액세스할 IAM 역할을 지정합니다.

1. 선택적으로 `SseAwsKeyManagementParams` 구조의 `AwsKmsEncryptionContext` 파라미터를 사용하여 보안 강화를 위해 AWS KMS 키 아티팩트와 함께 사용할 암호화 컨텍스트를 지정할 수 있습니다.

**참고**  
`AwsKmsKeyId` 및 `SinkIamRoleArn` 파라미터는 공동 종속적입니다. 둘 다 존재하고 유효하면 Media Capture Pipeline은 역할을 수임하고 지정된 AWS KMS 키를 사용하여 각 아티팩트를 지정된 Amazon S3 버킷 싱크에 배치합니다. [CreateMediaConcatenationPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html) API 호출에는 새 파라미터가 없지만 지정된 경우 앞서 언급한 파라미터를 사용합니다. 아티팩트를 연결하려는 경우 리소스 구성이 다음 [구성](#using-kms-keys-for-encryption-config) 섹션에 설명된 대로 설정되고 시간이 지남에 따라 지속되는지 확인합니다.

## 구성
<a name="using-kms-keys-for-encryption-config"></a>

Amazon S3 버킷에 아티팩트를 배치하려면에 보안 주체와 동일한 권한 및 액세스 권한이 `SinkIamRoleArn` 있어야 합니다. Amazon S3 버킷의 예상 기본 권한에 대한 자세한 내용은 [Amazon Chime SDK Media Capture Pipelines용 Amazon S3 버킷 생성을](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html) 참조하세요. 개별 객체에 대해 SSE를 활성화하려면 Amazon S3 버킷이를 사용하여 지정된 IAM 역할이 호출 IAM 자격 증명에서 예상되는 것과 동일한 작업 세트를 `SinkIamRoleArn` 수행하도록 허용해야 합니다. Amazon S3 버킷 권한 정책에 다음 보안 주체를 추가하여 이를 달성할 수 있습니다.

```
...
"Principal": {
    ...
    "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>;:role/<SINK_IAM_ROLE_NAME>"
    ...
},
...
```

는가를 수행하도록 허용하는 키를 가리켜`AwsKmsKeyId`야 `SinkIamRoleArn` 합니다`GenerateDataKey`. 미디어 연결 파이프라인을 사용할 경우 AWS KMS 키는 `Decrypt` 작업 사용도 허용해야 합니다. 다음 예제를 참조하세요.

**참고**  
리소스는 와일드카드를 사용하도록 설정되며`“*”`,이 AWS KMS 키 정책의 컨텍스트에서 '자체'를 나타냅니다.

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::<YOUR_ACCOUNT_ID>:role/<YOUR_CUSTOMER_ROLE_ID>"
    },
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
    ],
    "Resource": "*"
}
```

`SinkIamRoleArn` 역할에는 서비스가 이를 수임할 수 있는 신뢰 관계가 있어야 합니다. 다음 예제를 참조하세요.

```
{
    "Effect": "Allow",
    "Principal": {
        "Service": "mediapipelines.chime.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

에는 미디어 캡처 파이프라인에 대한 다음과 같은 최소 권한 정책이 있어야 `SinkIamRoleArn` 합니다. 다음 예제를 참조하세요.

```
{
    "Effect": "Allow",
    "Action": "kms:GenerateDataKey",
    "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<MS_KEY_ID>",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
},
{
    "Effect": "Allow",
    "Action": ["s3:PutObject", "s3:PutObjectAcl"],
    "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "<YOUR_ACCOUNT_ID>"
        },
        "ArnLike": {
            "aws:SourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:*"
        }
    }
}
```

또한 호출자는 서비스에 `SinkIamRoleArn` 전달할 수 있어야 합니다. 호출자에게 이러한 권한이 없는 경우 명시적으로 추가해야 합니다. 다음 예제를 참조하세요.

```
{
    "Effect": "Allow",
    "Action": "iam:PassRole",
    "Resource": "<SINK_IAM_ROLE_ARN>",
    "Condition": {
        "ArnLike": {
            "iam:AssociatedResourceArn": "arn:aws:chime:*:<YOUR_ACCOUNT_ID>:media-pipeline/*"
        },
        "StringEquals": {
            "iam:PassedToService": "mediapipelines.chime.amazonaws.com"
        }
    }
}
```

## 미디어 연결 구현
<a name="media-concatenation-implementatoin"></a>

미디어 캡처 후 미디어 연결 파이프라인을 사용하려는 경우 섹션을 참조하여 필요한 권한을 [Amazon Chime SDK 미디어 연결 파이프라인 구축](create-concat-pipe-steps.md) 이해합니다. 파이프라인이 객체 수준 SSE의 AWS KMS 키와 함께 작동하도록 하려면 AWS KMS 키 및 Amazon S3 버킷에 대한 `SinkIamRoleArn` 권한(허용된 작업)을 확장해야 합니다. 다음 예제를 참조하세요.

```
...
{
    ...
    {
        ...
        "Action": ["kms:GenerateDataKey","kms:Decrypt"]
        "Resource": "arn:aws:kms:<KMS_KEY_REGION>:<KMS_KEY_ACCOUNT_ID>:key/<KMS_KEY_ID>",
        ...
    }
    ...
    {
        "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket"],
        "Resource": "arn:aws:s3:::<YOUR_DEDICATED_KMS_BUCKET_ID>/*",
    }
    ...
}
...
```