

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 針對 Amazon Chime SDK 訊息使用服務連結角色
<a name="using-roles"></a>

Amazon Chime SDK 使用 AWS Identity and Access Management (IAM) [ 服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是一種獨特的 IAM 角色類型，可直接連結至 Amazon Chime SDK。Amazon Chime SDK 會預先定義服務連結角色，其中包含服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定 Amazon Chime SDK 更有效率，因為您不需要手動新增必要的許可。Amazon Chime SDK 會定義其服務連結角色的許可，除非另有定義，否則只有 Amazon Chime SDK 可以擔任其角色。已定義的許可包括信任和許可政策。許可原則無法附加到其他任何 IAM 實體。

您必須先刪除角色的相關資源，才能刪除服務連結角色。這可保護您的 Amazon Chime SDK 資源，因為您不會不小心移除存取資源的許可。

關於支援服務連結角色的其他服務，如需相關資訊，請參閱[搭配 IAM 使用的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。尋找**服務連結角色**欄中顯示 **Yes** (是) 的服務。選擇有連結的**是**，以檢視該服務的文件。

**Topics**
+ [在 Amazon Chime SDK 訊息中使用服務連結角色進行資料串流](stream-service-linked.md)

# 在 Amazon Chime SDK 訊息中使用服務連結角色進行資料串流
<a name="stream-service-linked"></a>

下列各節說明如何管理資料串流的服務連結角色。

**Topics**
+ [服務連結角色許可](#role-permissions)
+ [建立服務連結角色](#create-service-linked-role)
+ [編輯服務連結角色](#editing-roles)
+ [刪除服務連結角色使用的資源](#cleaning-up)
+ [刪除服務連結角色](#deleting-roles)

## 服務連結角色許可
<a name="role-permissions"></a>

Amazon Chime SDK 使用名為 的服務連結角色**AWSServiceRoleForChimeSDKMessaging**。此角色會授予 Amazon Chime SDK 使用或管理之 AWS 服務的存取權，例如用於資料串流的 Kinesis 串流。

**AWSServiceRoleForChimeSDKMessaging** 服務連結角色信任下列服務，以便這些服務可以擔任該角色：
+ messaging.chime.amazonaws.com

角色許可政策允許 Amazon Chime SDK 對指定的資源完成下列動作：
+ `kms:GenerateDataKey` 只有在使用 提出請求時`kinesis.*.amazonaws.com`。
+ `kinesis:PutRecord`、 `kinesis:PutRecords`或 `kinesis:DescribeStream`僅適用於下列格式的串流：`arn:aws:kinesis:*:*:stream/chime-messaging-*`。

下列範例顯示 政策。

------
#### [ JSON ]

****  

```
{
    	"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 使用者指南*》中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 建立服務連結角色
<a name="create-service-linked-role"></a>

您不需要手動建立服務連結角色，當您使用 [https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutMessagingStreamingConfigurations.html](https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_messaging-chime_PutMessagingStreamingConfigurations.html) API 建立資料串流組態時，Amazon Chime SDK 會為您建立服務連結角色。

您也可以使用 IAM 主控台，透過 Amazon Chime SDK 使用案例建立服務連結角色。在 AWS CLI 或 AWS API 中，使用服務名稱建立`messaging.chime.amazonaws.com`服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。如果您刪除此角色，您可以重複此程序以再次建立該角色。

## 編輯服務連結角色
<a name="editing-roles"></a>

建立服務連結角色之後，您只能編輯其描述，並使用 IAM 執行此操作。如需詳細資訊，請參閱[《IAM 使用者指南》中的編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。 **

## 刪除服務連結角色使用的資源
<a name="cleaning-up"></a>

在您使用 IAM 刪除服務連結角色之前，您必須先刪除該角色所使用的任何資源。

**注意**  
如果您在 Amazon Chime SDK 使用資源時嘗試刪除資源，刪除可能會失敗。如果刪除失敗，請等待幾分鐘，然後重試操作。

**刪除AmazonChimeServiceChatStreamingAccess角色使用的資源**  
執行下列 CLI 命令來關閉應用程式執行個體的資料串流：
+ `aws chime-sdk-messaging delete-messaging-streaming-configurations --app-instance-arn app_instance_arn`

此動作會刪除應用程式執行個體的所有串流組態。

## 刪除服務連結角色
<a name="deleting-roles"></a>

當您不再需要需要服務連結角色的功能或服務時，最佳實務是刪除該角色。否則，您有一個未使用的實體未受到主動監控或維護。不過，您必須先刪除服務連結角色所使用的資源，才能手動刪除角色。

您可以使用 IAM 主控台 AWS CLI或 AWS API 來刪除**AmazonChimeServiceRoleForChimeSDKMessaging**服務連結角色。如需詳細資訊，請參閱[《IAM 使用者指南》中的刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。