以下部分说明如何管理数据流的服务相关角色。
服务相关角色权限
Amazon Chime SDK 使用名为 AWSServiceRoleForChimeSDKMessaging 的服务相关角色。该角色授予访问由 Amazon Chime SDK 使用或托管的 AWS 服务和资源的权限,例如用于数据流的 Kinesis流。
AWSServiceRoleForChimeSDKMessaging 服务相关角色信任以下服务来代入角色:
-
messaging.chime.amazonaws.com
角色权限策略允许 Amazon Chime SDK 对指定资源完成以下操作:
-
仅当使用
kinesis.*.amazonaws.com
发出请求时kms:GenerateDataKey
。 -
kinesis:PutRecord
、kinesis:PutRecords
或者kinesis:DescribeStream
仅在以下格式的流上显示:arn:aws:kinesis:*:*:stream/chime-messaging-*
。
以下示例显示了该策略。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:GenerateDataKey"
],
"Resource": "*",
"Condition": {
"StringLike": {
"kms:ViaService": [
"kinesis.*.amazonaws.com"
]
}
}
},
{
"Effect": "Allow",
"Action": [
"kinesis:PutRecord",
"kinesis:PutRecords",
"kinesis:DescribeStream"
],
"Resource": [
"arn:aws:kinesis:*:*:stream/chime-messaging-*"
]
}
]
}
您必须配置权限,允许 IAM 实体(如用户、组或角色)创建、编辑或删除服务相关角色。有关更多信息,请参阅 IAM 用户指南中的服务相关角色权限。
创建服务相关角色
您无需手动创建服务相关角色。当您使用 PutMessagingStreamingConfigurations API 创建数据流配置时,Amazon Chime SDK 会为您创建服务相关角色。
您也可以使用 IAM 控制台为 Amazon Chime SDK 使用案例创建服务相关角色。在 AWS CLI 或 AWS API 中,用 messaging.chime.amazonaws.com
服务名称创建一个服务相关角色。有关更多信息,请参阅 IAM 用户指南中的创建服务相关角色。如果您已删除此角色,则可以重复此过程再次创建。
编辑服务相关角色
创建服务相关角色后,您只能编辑其描述,且使用 IAM 进行编辑。有关更多信息,请参阅 IAM 用户指南中的编辑服务相关角色。
删除服务相关角色使用的资源
必须先删除服务相关角色使用的所有资源,然后才能使用 IAM 删除该角色。
注意
如果您试图删除 Amazon Chime SDK 正在使用的资源,则删除可能会失败。如果发生这种情况,请等待几分钟后重试。
删除 AmazonChimeServiceChatStreamingAccess 角色使用的资源的步骤如下:
运行以下 CLI 命令关闭应用程序实例的数据流式传输:
-
aws chime-sdk-messaging delete-messaging-streaming-configurations --app-instance-arn
app_instance_arn
此操作会删除您的应用程序实例的所有流配置。
删除服务相关角色
如果不再使用某个需要服务相关角色的特征或服务,我们建议您删除该角色。否则,您将拥有一个未使用实体,而该实体未得到主动监控或维护。但是,您必须先删除服务相关角色使用的资源后,才能手动删除该角色。
您可以使用 IAM 控制台、AWS CLI 或 AWS API 来删除 AmazonChimeServiceRoleForChimeSDKMessaging 服务相关角色。有关更多信息,请参阅《IAM 用户指南》中的删除服务相关角色。