

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Habilitando a criptografia do lado do servidor em nível de objeto com chave AWS KMS
<a name="using-kms-keys-for-encryption"></a>

O Media Capture Pipeline e o Media Concatenation Pipeline podem usar AWS Key Management Service (AWS KMS) chaves gerenciadas pelo cliente para habilitar a criptografia do lado do servidor (SSE) para objetos individuais em um bucket do Amazon S3. Para configurar isso, você deve usar a chamada de [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)API. O Media Concatenation Pipeline usará os parâmetros de criptografia do lado do servidor do Media Capture Pipeline associado.

Para habilitar o SSE para objetos individuais (SSE em nível de objeto) usando sua chave gerenciada pelo AWS KMS cliente, você deve fornecer a `SseAwsKeyManagementParams` estrutura e o `SinkIamRoleArn` durante a chamada da [CreateMediaCapturePipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)API:

1. Use o `AwsKmsKeyId` parâmetro na `SseAwsKeyManagementParams` estrutura para especificar a AWS KMS chave. Você pode especificar o ID da chave usando o ID, o ARN ou o alias da chave.

1. Use o `SinkIamRoleArn` parâmetro para especificar a função do IAM para acessar a AWS KMS chave e o bucket Amazon S3 do coletor.

1. Opcionalmente, você pode usar o `AwsKmsEncryptionContext` parâmetro na `SseAwsKeyManagementParams` estrutura para especificar o contexto de criptografia a ser usado junto com os AWS KMS principais artefatos para aumentar a segurança.

**nota**  
Os `SinkIamRoleArn` parâmetros `AwsKmsKeyId` e são codependentes. Quando ambos estiverem presentes e válidos, o Media Capture Pipeline assumirá a função e colocará cada artefato no coletor de buckets especificado do Amazon S3 com a chave especificada. AWS KMS A chamada da [CreateMediaConcatenationPipeline](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html)API não tem novos parâmetros, mas usará os parâmetros mencionados acima, se especificados. Se você planeja concatenar artefatos, certifique-se de que sua configuração de recursos esteja definida conforme descrito na [Configuração](#using-kms-keys-for-encryption-config) seção a seguir e seja persistente ao longo do tempo.

## Configuração
<a name="using-kms-keys-for-encryption-config"></a>

Eles `SinkIamRoleArn` devem ter as mesmas permissões e acesso que o principal para colocar artefatos no bucket do Amazon S3. Para obter mais informações sobre as permissões padrão esperadas no bucket do Amazon S3, consulte [Criação de um bucket do Amazon S3 para os pipelines de captura de mídia do SDK do Amazon Chime](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html). Para habilitar o SSE para objetos individuais, seu bucket do Amazon S3 deve permitir que a função do IAM especificada usando o `SinkIamRoleArn` execute o mesmo conjunto de ações que você esperaria da identidade do IAM de chamada. Você pode conseguir isso adicionando o seguinte princípio à sua política de permissão de bucket do Amazon S3.

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

Eles `AwsKmsKeyId` devem apontar para uma chave que permita que eles `SinkIamRoleArn` `GenerateDataKey` funcionem. Se o Media Concatenation Pipeline for usado, a AWS KMS chave também deve permitir o uso da ação. `Decrypt` Veja o exemplo a seguir.

**nota**  
O recurso está configurado para usar curinga`“*”`, que neste contexto de uma política AWS KMS chave significa “ele mesmo”.

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

A `SinkIamRoleArn` função deve ter uma relação de confiança que permita que o serviço a assuma. Veja o exemplo a seguir.

```
{
    "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>:*"
        }
    }
}
```

Eles `SinkIamRoleArn` devem ter a seguinte política de permissões mínimas para o Media Capture Pipeline. Veja o exemplo a seguir.

```
{
    "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>:*"
        }
    }
}
```

Além disso, o chamador deve ter permissão para passar `SinkIamRoleArn` para o serviço. Nos casos em que o chamador não tem essa permissão, ela deve ser adicionada explicitamente. Veja o exemplo a seguir.

```
{
    "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"
        }
    }
}
```

## Implementação da concatenação de mídia
<a name="media-concatenation-implementatoin"></a>

Se você planeja usar o Media Concatenation Pipeline após a captura de mídia, consulte [Construindo um pipeline de concatenação de mídia do Amazon Chime SDK](create-concat-pipe-steps.md) para entender as permissões necessárias. Para fazer o pipeline funcionar com a AWS KMS chave para SSE em nível de objeto, as `SinkIamRoleArn` permissões (ações permitidas) devem ser expandidas para a AWS KMS chave e o bucket do Amazon S3. Veja o exemplo a seguir.

```
...
{
    ...
    {
        ...
        "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>/*",
    }
    ...
}
...
```