Passer SDK des appels depuis un service principal - Amazon Chime SDK

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.

Passer SDK des appels depuis un service principal

Une fois que vous avez créé un utilisateur pour représenter vos services principaux, vous créez un canal, vous envoyez des messages à ce canal et vous lisez les messages provenant de ce canal.

Exécutez la CLI commande suivante pour créer une chaîne publique.

aws chime-sdk-messaging create-channel \ --chime-bearer "app_instance_user_arn" \ --app-instance-arn "app_instance_arn" \ --name "firstChannel"

La commande produit un ARN dans ce format : arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

Comment fonctionne IAM l'autorisation pour les services principaux

Dans la CLI commande de la section précédente, notez le chime-bearer paramètre. Il identifie l'utilisateur qui crée ou interagit avec des ressources telles que des canaux et des messages. Presque tous les SDK messages Amazon Chime sont APIs pris chime-bearer en paramètre, sauf ceux APIs destinés à être appelés uniquement par les développeurs, tels que. CreateAppInstance

Les IAM autorisations pour la SDK messagerie Amazon Chime APIs nécessitent un code app-instance-user-arn correspondant au chime-bearer paramètre. Un canal ARNs supplémentaire, généralement un ARNs canal, peut être requis en fonction du. API Pour les services principaux comme dans l'exemple ci-dessus, cela conduit à des IAM politiques telles que l'exemple suivant :

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "chime:SendChannelMessage", "chime:ListChannelMessages", "chime:CreateChannelMembership", "chime:ListChannelMemberships", "chime:DeleteChannelMembership", "chime:CreateChannel", "chime:ListChannels", "chime:DeleteChannel", ... ], "Resource": [ "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/back-end-worker", "arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/*" ] }

Notez le canal AppInstanceUser ARN et ARN dans la Resource section. Cet exemple IAM de politique accorde au service principal l'autorisation de passer des API appels en tant qu'utilisateur ayant l'ID « »back-end-worker. Si vous souhaitez que votre service principal puisse passer des appels pour les utilisateurs de votre application, remplacez le parapp_instance_user_arn. arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*

Comprendre l'APIautorisation implicite

Outre les IAM politiques, les SDK messages Amazon Chime APIs disposent d'autorisations implicites. Par exemple, un utilisateur ne AppInstanceUser peut envoyer un message ou répertorier les membres d'une chaîne que dans les chaînes auxquelles appartient l'utilisateur. Une exception à cette règle est un AppInstanceUser Who qui a été promuAppInstanceAdmin. Par défaut, les administrateurs sont autorisés à accéder à toutes les chaînes de votre application. Dans la plupart des cas d'utilisation, vous n'en avez besoin que pour les services principaux qui contiennent une logique métier significative.

La CLI commande suivante promeut un utilisateur principal au rang d'administrateur.

aws chime-sdk-identity create-app-instance-admin \ --app-instance-admin-arn "app_instance_user_arn" \ --app-instance-arn "app_instance_arn"

Envoyer et répertorier les messages des chaînes

La CLI commande suivante envoie des messages de canal.

aws chime-sdk-messaging send-channel-message \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn" \ --content "hello world" \ --type STANDARD \ --persistence PERSISTENT

Les CLI commandes suivantes répertorient les messages des canaux dans l'ordre chronologique inverse.

  • aws chime list-channel-messages

  • aws chime-sdk-messaging list-channel-messages

aws chime-sdk-messaging list-channel-messages \ --chime-bearer "app_instance_user_arn" \ --channel-arn "channel_arn"