백엔드 서비스에서 SDK 전화 걸기 - Amazon Chime SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

백엔드 서비스에서 SDK 전화 걸기

백엔드 서비스를 대표하는 사용자를 생성하고 나면 채널을 만들고, 해당 채널로 메시지를 보내고, 해당 채널에서 메시지를 읽습니다.

다음 CLI 명령을 실행하여 퍼블릭 채널을 생성합니다.

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

명령은 다음 형식으로 를 생성합니다ARN. arn:aws:chime:region:aws_account_id:app-instance/app_instance_id/channel/channel_id.

백엔드 서비스에 대한 IAM 권한 부여 작동 방식

이전 섹션의 CLI 명령에서 chime-bearer 파라미터를 기록해 둡니다. 이 파라미터는 채널 및 메시지와 같은 리소스를 만들거나 이 리소스와 상호 작용하는 사용자를 식별합니다. 와 같은 개발자만 호출할 수 APIs 있는 경우를 제외하고 거의 모든 Amazon Chime SDK 메시징이 파라미터chime-bearer로 APIs 사용됩니다CreateAppInstance.

Amazon Chime SDK 메시징에 대한 IAM 권한에는 chime-bearer 파라미터와 일치하는 app-instance-user-arn 이 APIs 필요합니다. 일반적으로 채널ARNs인 추가 ARNs가 를 기반으로 필요할 수 있습니다API. 위 예와 같은 백엔드 서비스의 경우 다음과 같은 IAM 정책이 적용됩니다.

{ "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/*" ] }

Resource 섹션의 AppInstanceUser ARN 및 채널ARN에 유의하세요. 이 IAM 정책 예제에서는 ID가 “.”인 사용자로 API 전화를 걸 수 있는 백엔드 서비스 권한을 부여합니다back-end-worker. 백엔드 서비스에서 앱을 사용하는 사람들을 위해 호출할 수 있도록 하려면 app_instance_user_arnarn:aws:chime:region:aws_account_id:app-instance/app_instance_id/user/*로 변경하세요.

암시적 API 권한 부여 이해

IAM 정책 외에도 Amazon Chime SDK 메시징APIs에는 암시적 권한이 있습니다. 예를 들어, AppInstanceUser는 사용자가 속한 채널에서만 메시지를 보내거나 채널 멤버십을 나열할 수 있습니다. 이에 대한 한 가지 예외는 AppInstanceAdmin으로 승격된 AppInstanceUser입니다. 기본적으로 관리자는 앱의 모든 채널에 대한 권한을 가집니다. 대부분의 사용 사례에서는 중요한 비즈니스 로직이 포함된 백엔드 서비스에만 이 권한이 필요합니다.

다음 CLI 명령은 백엔드 사용자를 관리자로 승격합니다.

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

채널 메시지 전송 및 나열

다음 CLI 명령은 채널 메시지를 전송합니다.

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

다음 CLI 명령은 채널 메시지를 역순으로 나열합니다.

  • 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"