

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Habilite el cifrado del lado del servidor a nivel de objeto con AWS KMS clave
<a name="using-kms-keys-for-encryption"></a>

Media Capture Pipeline y Media Concatenation Pipeline pueden usar AWS Key Management Service (AWS KMS) claves administradas por el cliente para habilitar el cifrado del lado del servidor (SSE) para objetos individuales en un bucket de Amazon S3. Para configurarlo, debe usar la llamada a la API. [ CreateMediaCapturePipeline ](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html) La canalización de concatenación de medios utilizará los parámetros de cifrado del lado del servidor de la canalización de captura de medios asociada.

Para habilitar el SSE para objetos individuales (SSE a nivel de objeto) con su clave gestionada por el AWS KMS cliente, debe proporcionar la `SseAwsKeyManagementParams` estructura y, durante la llamada a la API: `SinkIamRoleArn` [ CreateMediaCapturePipeline ](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaCapturePipeline.html)

1. Usa el `AwsKmsKeyId` parámetro de la `SseAwsKeyManagementParams` estructura para especificar la AWS KMS clave. Puede especificar el identificador de la clave mediante el identificador, el ARN o el alias de la clave.

1. Utilice el `SinkIamRoleArn` parámetro para especificar la función de IAM para acceder a la AWS KMS clave y al bucket contenedor de Amazon S3.

1. Si lo desea, puede usar el `AwsKmsEncryptionContext` parámetro en la `SseAwsKeyManagementParams` estructura para especificar el contexto de cifrado que se utilizará junto con los artefactos AWS KMS clave para mejorar la seguridad.

**nota**  
Los `SinkIamRoleArn` parámetros `AwsKmsKeyId` y son codependientes. Cuando ambos estén presentes y sean válidos, Media Capture Pipeline asumirá la función y colocará cada artefacto en el depósito de paquetes de Amazon S3 especificado con la clave especificada. AWS KMS La llamada a la [ CreateMediaConcatenationPipeline ](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_media-pipelines-chime_CreateMediaConcatenationPipeline.html) API no tiene parámetros nuevos, pero utilizará los parámetros antes mencionados si se especifican. Si planeas concatenar artefactos, asegúrate de que la configuración de tus recursos esté establecida como se describe en la siguiente [Configuración](#using-kms-keys-for-encryption-config) sección y de que sea persistente en el tiempo.

## Configuración
<a name="using-kms-keys-for-encryption-config"></a>

`SinkIamRoleArn`Deben tener los mismos permisos y acceso que el principal para colocar artefactos en el bucket de Amazon S3. Para obtener más información sobre los permisos predeterminados esperados en el bucket de Amazon S3, consulte [ Creación de un bucket de Amazon S3 para las canalizaciones de captura multimedia del SDK de Amazon Chime. ](https://docs.aws.amazon.com/chime-sdk/latest/dg/create-s3-bucket.html) Para habilitar el SSE para objetos individuales, su bucket de Amazon S3 debe permitir que el rol de IAM especificado `SinkIamRoleArn` para realizar el mismo conjunto de acciones que cabría esperar de la identidad de IAM que realiza la llamada. Para ello, añada el siguiente principio a su política de permisos de cubos de Amazon S3.

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

`AwsKmsKeyId`Debe apuntar a una clave que les `SinkIamRoleArn` permita funcionar`GenerateDataKey`. Si se va a utilizar Media Concatenation Pipeline, la AWS KMS clave también debería permitir el uso de la acción. `Decrypt` Consulte el siguiente ejemplo.

**nota**  
El recurso está configurado para usar el comodín`“*”`, que en este contexto de una política AWS KMS clave significa «sí mismo».

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

El `SinkIamRoleArn` rol debe tener una relación de confianza que permita al servicio asumirlo. Consulte el siguiente ejemplo.

```
{
    "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`Debe tener la siguiente política de permisos mínimos para Media Capture Pipeline. Consulte el siguiente ejemplo.

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

Además, la persona que llama debe poder acceder `SinkIamRoleArn` al servicio. En los casos en que la persona que llama no tenga dicho permiso, debe agregarse explícitamente. Consulte el siguiente ejemplo.

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

## Implementación de la concatenación de medios
<a name="media-concatenation-implementatoin"></a>

Si piensa utilizar Media Concatenation Pipeline después de Media Capture, consulte [Creación de una canalización de concatenación multimedia del SDK de Amazon Chime](create-concat-pipe-steps.md) para conocer los permisos necesarios. Para que la canalización funcione con la AWS KMS clave del SSE a nivel de objeto, los `SinkIamRoleArn` permisos (acciones permitidas) deben ampliarse para la AWS KMS clave y el bucket de Amazon S3. Consulte el siguiente ejemplo.

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