Authentification avec m TLS pour l'ingestion du streaming Redshift depuis Amazon MSK - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Authentification avec m TLS pour l'ingestion du streaming Redshift depuis Amazon MSK

La sécurité mutuelle de la couche de transport (mTLS) permet à un serveur d'authentifier un client auquel il envoie des informations et au client d'authentifier le serveur. L'avantage de l'utilisation de m TLS est de fournir une authentification fiable pour une variété de cas d'utilisation dans plusieurs applications sectorielles. Il s'agit notamment de cas d'utilisation dans les secteurs de la finance, du commerce de détail, du gouvernement et de la santé. En cas d'ingestion du streaming vers Redshift, l'authentification a lieu entre un serveur, en l'occurrence AmazonMSK, et un cluster provisionné par Amazon Redshift ou un groupe de travail Amazon Redshift Serverless.

Cette rubrique fournit des procédures et des exemples de SQL commandes qui montrent comment créer un schéma externe utilisant m TLS pour s'authentifier entre le client Redshift et le serveur Amazon. MSK Les étapes décrites dans cette rubrique complètent l'ensemble des étapes de configuration de l'ingestion du streaming depuis AmazonMSK. Elles sont détaillées à l'adresseCommencer à intégrer le streaming depuis Amazon Managed Streaming for Apache Kafka (Amazon) MSK.

Conditions préalables à l'utilisation de m TLS pour l'ingestion du streaming

Cette section fournit les étapes préalables à l'utilisation de m TLS pour l'ingestion du streaming avec Amazon AWS Certificate Manager ou avec Amazon SageMaker.

  1. Dans un premier temps, vous devez disposer ou créer une autorité de certification privée (PCA), que vous pouvez utiliser pour émettre des certificats qui, entre autres fonctions, permettent une communication sécurisée via des canaux de communication sécurisés. AWS Private Certificate Authority (Private CA) est un service disponible qui exécute cette fonction. Pour plus d'informations, consultez la section Création d'une autorité de certification privée dans le guide de AWS Private Certificate Authority l'utilisateur. Dans une étape ultérieure, vous émettez un certificat et vous l'associez à votre MSK cluster Amazon pour permettre une communication cryptée avec Redshift.

  2. Créez un MSK cluster Amazon qui prend en charge l'authentification client MTLS. Pour plus d'informations sur la configuration d'un MSK cluster Amazon, consultez To create a cluster that support client authentication in the Amazon Managed Streaming for Apache Kafka Developer Guide.

  3. Modifiez les paramètres de sécurité du MSK cluster Amazon, en activant l'authentification TLS du client à l'aide de AWS Certificate Manager (ACM) et en sélectionnant le AWS Private CA (PCA) que vous avez créé précédemment. Pour plus d'informations, consultez la section Mise à jour des paramètres de sécurité d'un cluster dans le manuel Amazon Managed Streaming for Apache Kafka Developer Guide.

Utilisation de m TLS pour l'ingestion en streaming avec AWS Certificate Manager

La procédure suivante explique comment configurer m TLS pour l'ingestion du streaming par Redshift en utilisant AWS Certificate Manager (ACM) pour le stockage et la gestion des certificats :

  1. Demandez un certificat privé viaACM. Dans ce cas, sélectionnez l'autorité de certification PCA que vous avez créée dans la section Conditions préalables. ACMstocke le certificat signé et la clé privée jointe pour une communication sécurisée. Pour plus d'informations sur la gestion des certificats avecACM, consultez la section Émission et gestion des certificats dans le guide de AWS Certificate Manager l'utilisateur.

  2. Pour le IAM rôle que vous utilisez pour gérer votre cluster Redshift ou votre groupe de travail Amazon Redshift Serverless, attachez l'autorisation d'exporter le certificat, qui est acm :. ExportCertificate Pour plus d'informations sur la configuration des IAM ressources nécessaires à l'ingestion du streaming avec AmazonMSK, consultezConfiguration des IAM autorisations et exécution de l'ingestion du streaming depuis Kafka. Spécifiez le même IAM rôle à l'étape suivante pour créer le schéma externe.

  3. Obtenez le broker bootstrap URI pour le MSK cluster Amazon. L'obtention du broker bootstrap URI est décrite dans la section Obtenir les courtiers bootstrap pour un MSK cluster Amazon dans le guide du développeur Amazon Managed Streaming for Apache Kafka.

  4. Exécutez une SQL commande comme dans l'exemple suivant pour créer un schéma externe qui mappe un flux d'un MSK cluster Amazon vers un schéma externe Redshift, en utilisant. mtls

    CREATE EXTERNAL SCHEMA my_schema FROM MSK IAM_ROLE 'arn:aws:iam::012345678901:role/my_role' AUTHENTICATION mtls URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094' AUTHENTICATION_ARN 'arn:aws:acm:Region:444455556666:certificate/certificate_ID';

    Paramètres importants :

    • IAM_ ROLE — Le IAM rôle associé au cluster, pour l'ingestion du streaming.

    • URI— Le broker bootstrap URI pour le MSK cluster Amazon. Notez que le port 9094 est spécifié pour communiquer avec les courtiers à des fins de TLS chiffrement.

    • AUTHENTICATION_ ARN — Le ARN du ACM certificat. Le ARN est disponible dans la ACM console lorsque vous choisissez le certificat émis.

Après avoir effectué ces étapes de configuration, vous pouvez créer une vue matérialisée Redshift qui fait référence au schéma défini dans l'exemple, puis l'utiliser REFRESH MATERIALIZED VIEW pour diffuser des données. Vous trouverez des informations détaillées à ce sujet dans les étapes de démarrage du streaming depuis Amazon MSK sur Getting started with streaming ingestion from Amazon Managed Streaming for Apache Kafka MSK ().

Utilisation de m TLS pour l'ingestion en streaming avec AWS Secrets Manager

Vous pouvez configurer m TLS pour l'ingestion du streaming Redshift en tirant parti de la gestion AWS Secrets Manager des certificats, si vous ne souhaitez pas référencer le certificat dans. ACM Les étapes suivantes décrivent comment le configurer.

  1. Créez une demande de signature de certificat et une clé privée avec l'outil de votre choix. Vous pouvez ensuite utiliser la demande de signature pour générer un certificat signé, en utilisant la même autorité de certification AWS privée (PCA) que celle que vous avez utilisée pour générer le certificat pour le MSK cluster Amazon. Pour plus d'informations sur la délivrance d'un certificat, reportez-vous IssueCertificateà la section AWS Private Certificate Authority APIRéférence.

  2. Extrayez le certificat à l'aide de AWS Private Certificate Authority. Pour plus d'informations, consultez la section Récupérer un certificat privé > dans le guide de l'AWS Private Certificate Authority utilisateur.

  3. Stockez le certificat et la clé privée générés à l'étape précédente dans AWS Secrets Manager. Choisissez Other type of secret et utilisez le format de texte brut. Les paires clé-valeur doivent être au format{"certificate":"<cert value>","privateKey":"<pkey value>"}, comme dans l'exemple suivant. Pour plus d'informations sur la création et la gestion de secrets dans AWS Secrets Manager, voir Création et gestion de secrets AWS Secrets Manager dans le Guide de AWS Secrets Manager l'utilisateur.

    {"certificate":"-----BEGIN CERTIFICATE----- klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi H4hAX8/eE96qCcjkpfT84EdvHzp6fC+/WwM0oXlwUEWlvfMCXNaG5D8SqRq3qA== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -----END CERTIFICATE-----", "privateKey":"-----BEGIN PRIVATE KEY----- klhdslkfjahksgdfkgioeuyihbflahabhbdslv6akybeoiwv1hoaiusdhbahsbdi 7OD4m1dBEs3Fj++hDMH9rYRp99RqtCOf0EWOUe139KOilOsW+cyhAoc9Ci2+Jo/k 17u2N1iGILMQEZuCRtnJOkFYkw== -----END PRIVATE KEY-----"}
  4. Dans Redshift, exécutez la SQL commande pour créer le schéma externe. Vous utilisez le AUTHENTICATION typemtls. Vous spécifiez également URI le MSK cluster Amazon et le secret ARN dans AWS Secrets Manager.

    CREATE EXTERNAL SCHEMA my_schema FROM MSK IAM_ROLE 'arn:aws:iam::012345678901:role/my_role' AUTHENTICATION mtls URI 'b-1.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094,b-2.myTestCluster.123z8u.c2.kafka.us-west-1.amazonaws.com:9094' SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';

Paramètres importants :

  • IAM_ ROLE — Le IAM rôle associé au cluster, pour l'ingestion du streaming.

  • URI— Le broker bootstrap URI pour le MSK cluster Amazon. Notez que le port 9094 est spécifié pour communiquer avec les courtiers à des fins de TLS chiffrement.

  • SECRET_ ARN — Le secret ARN de Secrets Manager, contenant le certificat à utiliser pour TLS m.

Activation de TLS l'authentification m pour un schéma externe existant

Si vous utilisez un schéma externe pour l'ingestion du streaming et que vous souhaitez implémenter l'authentification mutuelleTLS, vous pouvez exécuter une commande telle que la suivante, qui spécifie l'TLSauthentification m et le ACM certificat ARN dansACM.

ALTER EXTERNAL SCHEMA schema_name AUTHENTICATION mtls AUTHENTICATION_ARN 'arn:aws:acm:Region:444455556666:certificate/certificate_ID';

Vous pouvez également spécifier TLS l'authentification m, en référence au secret ARN dans AWS Secrets Manager.

ALTER EXTERNAL SCHEMA schema_name AUTHENTICATION mtls SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';