Comment créer une file d'attente SQS dans Amazon Web Services pour recevoir les données d'événements en direct de Canvas ?

Pour recevoir des données de Canvas, vous devrez configurer et maintenir une file d'attente dans les services AWS (Amazon Web Services). De plus, vous devrez accorder les autorisations appropriées pour que la file d'attente reçoive des données.

Après avoir configuré une file d'attente avec les autorisations appropriées, vous pouvez vous abonner aux événements dans Data Services et commencer à recevoir des données.

Remarques :

  • Les files d'attente FIFO (premier entré/premier sorti) ne sont actuellement pas prises en charge.
  • Lors de la configuration d'une file d'attente SQS, vous pouvez activer les interrogations longues dans une file d'attente standard. L'interrogation longue permet d'éliminer le nombre de réponses vides et de fausses réponses vides. Pour plus d'informations sur les interrogations longues, veuillez consulter la documentation Amazon SS Long Polling.

Ouvrir la console Amazon SQS

Dans la console Amazon Web Services, ouvrez la console Simple Queue Service (SQS) en tapant le nom dans le champ Services [1]. Lorsque Simple Queue Service s'affiche dans la liste, cliquez sur le nom [2]. 

Créer une nouvelle file d'attente

Créer une nouvelle file d'attente

Dans la console Amazon SQS, cliquez sur l'icône Créer une file d'attente (Create queue).

Sélectionner File d'attente standard

Sélectionner File d'attente standard

Dans la section Type, sélectionnez l'option Standard.

Remarque : Les files d'attente FIFO ne sont actuellement pas prises en charge.

Saisir le nom de la file d'attente

Saisir le nom de la file d'attente

Saisissez un nom pour la file d'attente. Le nom de la file d'attente doit commencer par canvas-live-events.

Saisir les informations de configuration

Saisir les informations de configuration

Saisissez les informations de la Configuration. Vous pouvez saisir vos préférences pour le délai de visibilité [1], le délai de livraison [2], le temps d'attente de réception des messages [3], la période de conservation des messages [4] et la taille maximale des messages [5].

Saisir les informations de la politique d'accès

Saisir les informations d'autorisation

Saisissez les informations de votre politique d'accès.

Dans la section Choisir la méthode, sélectionnez l'option Basique (Basic) [1].

Dans Définir qui peut envoyer des messages à la section de la file d'attente, sélectionnez l'option Uniquement les comptes AWS, les utilisateurs et rôles IAM (gestion des identités et des accès) spécifiés (Only the specified AWS accounts, IAM users and roles) [2].

Dans le champ ID de compte, saisissez le numéro de compte 636161780776 [3]. Ce numéro de compte est requis pour que la file d'attente reçoive les données des événements en direct.

Vous pouvez également sélectionner qui recevra les messages dans la section Définir qui peut recevoir des messages de la file d'attente (Define who can receive messages from the queue) [4].

Enregistrer la file d'attente

Enregistrer la file d'attente

Vous pouvez ajouter des informations supplémentaires dans les paramètres Chiffrement (Encryption) [1], les paramètres File d'attente de lettres mortes (Dead-letter queue) [2], et les paramètres Balises (Tags) [3]. Tous ces paramètres sont facultatifs.

Pour créer la file d'attente, cliquez sur le bouton Créer la file d'attente (Create queue) [4].

Afficher l'autorisation de la file d'attente

Afficher l'autorisation de la file d'attente

Dans la zone des informations de la file d'attente, l'autorisation s'affichera dans l'onglet Autorisations.

Pour modifier l'autorisation, cliquez sur l'icône Modifier [1]. Pour supprimer l'autorisation, cliquez sur l'icône Supprimer [2].

Utilisation du paramètre de chiffrement du service de stockage (SSE) avec votre service SQS (facultatif)

Le service Canvas Live Events prend en charge SSE activé sur SQS. Pour que SSE puisse être utilisé, la configuration suivante doit être activée sur le service SQS du client :

1. Créez une clé CMK (clé principale client) ou une clé personnalisée avec cette stratégie, qui peut être générée en suivant les étapes de création d'une clé CMK et, lors de l'étape 4 (Définir les autorisations d'utilisation des clés), en cliquant sur « Ajouter un autre compte AWS (Add another AWS Account) » et en saisissant le numéro de compte Instructure 636161780776.

{
 "Id": "key-consolepolicy-3",
 "Version": "2012-10-17",
 "Statement": [
 {
 "Sid": "Enable IAM User Permissions",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of the customer account root"
 },
 "Action": "kms:*",
 "Resource": "*"
 },
 {
 "Sid": "Allow access for Key Administrators",
 "Effect": "Allow",
 "Principal": {
 "AWS": "arn of admin user"
 },
 "Action": [
 "kms:Create*",
 "kms:Describe*",
 "kms:Enable*",
 "kms:List*",
 "kms:Put*",
 "kms:Update*",
 "kms:Revoke*",
 "kms:Disable*",
 "kms:Get*",
 "kms:Delete*",
 "kms:TagResource",
 "kms:UntagResource",
 "kms:ScheduleKeyDeletion",
 "kms:CancelKeyDeletion"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow use of the key",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:Encrypt",
 "kms:Decrypt",
 "kms:ReEncrypt*",
 "kms:GenerateDataKey*",
 "kms:DescribeKey"
 ],
 "Resource": "*"
 },
 {
 "Sid": "Allow attachment of persistent resources",
 "Effect": "Allow",
 "Principal": {
 "AWS": [
 "arn of admin user",
 "arn:aws:iam::636161780776:root" // instructure account
 ]
 },
 "Action": [
 "kms:CreateGrant",
 "kms:ListGrants",
 "kms:RevokeGrant"
 ],
 "Resource": "*",
 "Condition": {
 "Bool": {
 "kms:GrantIsForAWSResource": "true"
 }
 }
 }
 ]
}??????????????????????????????????????????????????????????????????????????????

2. Créez une file d'attente pour le service SQS et activez SSE. Fournissez l'ARN (Amazon Resource Name) de la clé CMK nouvellement créée.

3. Créez une nouvelle stratégie IAM, qui accorde l'accès à la file d'attente et à la clé. La stratégie doit ressembler exactement à ceci :

{
 "Version": "2012-10-17",
 "Statement": [{
 "Effect": "Allow",
 "Action": [
 "kms:GenerateDataKey",
 "kms:Decrypt"
 ],
 "Resource": "CMK arn"
 }, {
 "Effect": "Allow",
 "Action": [
 "sqs:SendMessage",
 "sqs:SendMessageBatch"
 ],
 "Resource": "queue arn"
 }]???????????????????????????????????????????????????

4. Créez un nouvel utilisateur IAM et attachez la stratégie ci-dessus. Enregistrez la clé d'accès et la clé secrète et fournissez-les-nous dans le cadre de l'abonnement.