

AWS Application Discovery Service 不再向新客戶開放。或者，使用 AWS Transform 提供類似的功能。如需詳細資訊，請參閱 [AWS Application Discovery Service 可用性變更](https://docs.aws.amazon.com/application-discovery/latest/userguide/application-discovery-service-availability-change.html)。

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

# 使用 Application Discovery Service 的服務連結角色
<a name="using-service-linked-roles"></a>

AWS Application Discovery Service use 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)。服務連結角色是直接連結至 Application Discovery Service 的唯一 IAM 角色類型。服務連結角色由 Application Discovery Service 預先定義，並包含該服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓您更輕鬆地設定 Application Discovery Service，因為您不必手動新增必要的許可。Application Discovery Service 定義其服務連結角色的許可，除非另有定義，否則只有 Application Discovery Service 可以擔任其角色。定義的許可包括信任政策和許可政策，且該許可政策無法附加至其他 IAM 實體。

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

**Topics**
+ [Application Discovery Service 的服務連結角色許可](service-linked-role-permissions.md)
+ [為 Application Discovery Service 建立服務連結角色](create-service-linked-role.md)
+ [刪除 Application Discovery Service 的服務連結角色](delete-service-linked-role.md)

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

# Application Discovery Service 的服務連結角色許可
<a name="service-linked-role-permissions"></a>

Application Discovery Service 使用名為 **AWSServiceRoleForApplicationDiscoveryServiceContinuousExport** 的服務連結角色 – 允許存取使用或管理的 AWS 服務和資源 AWS Application Discovery Service。

AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色信任下列服務擔任該角色：
+ `continuousexport.discovery.amazonaws.com`

角色許可政策允許 Application Discovery Service 完成下列動作：

glue  
 `CreateDatabase`   
 `UpdateDatabase`   
 `CreateTable`   
 `UpdateTable` 

firehose  
 `CreateDeliveryStream`   
 `DeleteDeliveryStream`   
 `DescribeDeliveryStream`   
 `PutRecord`   
 `PutRecordBatch`   
 `UpdateDestination` 

s3  
 `CreateBucket`   
 `ListBucket`   
 `GetObject` 

日誌  
 `CreateLogGroup`   
 `CreateLogStream`   
 `PutRetentionPolicy` 

iam  
 `PassRole` 

此為顯示以上動作可套用於哪些資源的完整政策：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "glue:CreateDatabase",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:UpdateTable",
                "firehose:CreateDeliveryStream",
                "firehose:DescribeDeliveryStream",
                "logs:CreateLogGroup"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "firehose:DeleteDeliveryStream",
                "firehose:PutRecord",
                "firehose:PutRecordBatch",
                "firehose:UpdateDestination"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:firehose:*:*:deliverystream/aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:PutBucketLogging",
                "s3:PutEncryptionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*"
        },
        {
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::aws-application-discovery-service*/*"
        },
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutRetentionPolicy"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:logs:*:*:log-group:/aws/application-discovery-service/firehose*"
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/service-role/AWSApplicationDiscoveryServiceFirehose",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "firehose.amazonaws.com"
                }
            }
        }
    ]
}
```

------

您必須設定許可，IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

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

您不需要手動建立服務連結角色，當您使用 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色會在以下情況下自動建立：a) 在您選擇「開始資料收集」，或按一下標記為「在 Athena 中探索資料」或 b) AWS 的滑桿後，從資料收集器頁面顯示的對話方塊中確認選項。 StartContinuousExport 

**重要**  
此服務連結角色可以顯示在您的帳戶，如果您於其他服務中完成一項動作時，可以使用支援此角色的功能。若要進一步了解，請參閱[我的 IAM 帳戶中出現的新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

## 從 Migration Hub 主控台建立服務連結角色
<a name="create-service-linked-role-service-console"></a>

您可以使用 Migration Hub 主控台來建立 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色。

**建立該服務連結角色 (主控台)**

1. 在導覽窗格中，選擇 **Data Collectors (資料收集器)**。

1. 選擇 **Agents (代理程式)** 索引標籤。

1. 將 **Athena 滑桿中的資料探索**切換到開啟位置。

1. 在上一步驟產生的對話方塊中，按一下核取方塊以同意相關成本並選擇 **Continue (繼續)** 或 **Enable (啟用)**。

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

您可以從 使用 Application Discovery Service 命令 AWS Command Line Interface 來建立 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色。

當您從 開始連續匯出時，會自動建立此服務連結角色 AWS CLI ( AWS CLI 必須先在您的環境中安裝 )。

**從 開始連續匯出，以建立服務連結角色 (CLI) AWS CLI**

1.  AWS CLI 為您的作業系統 (Linux、macOS 或 Windows) 安裝 。如需說明，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

1. 開啟命令提示字元 (Windows) 或終端機 (Linux 或 macOS)。

   1. 輸入 `aws configure` 然後按 Enter 鍵。

   1. 輸入您的 AWS 存取金鑰 ID 和 AWS 私密存取金鑰。

   1. 輸入預設區域名稱的 `us-west-2`。

   1. 輸入預設輸出格式的 `text`。

1. 鍵入以下命令：

   ```
   aws discovery start-continuous-export
   ```

您也可以使用 IAM 主控台，透過 **Discovery Service - Continuous Export **使用案例建立服務連結角色。在 IAM CLI 或 IAM API 中，建立一個使用 `continuousexport.discovery.amazonaws.com` 服務名稱的服務連結角色。如需詳細資訊，請參閱 *IAM 使用者指南*中的[建立服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)。如果您刪除此服務連結角色，您可以使用此相同的程序以再次建立該角色。

# 刪除 Application Discovery Service 的服務連結角色
<a name="delete-service-linked-role"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。然而，務必清除您的服務連結角色，之後才能以手動方式將其刪除。

## 清除 服務連結角色
<a name="service-linked-role-review-before-delete"></a>

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

**注意**  
如果 Application Discovery Service 在您嘗試刪除資源時使用角色，則刪除可能會失敗。若此情況發生，請等待數分鐘後並再次嘗試操作。

**從 Migration Hub 主控台刪除 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色所使用的 Application Discovery Service 資源**

1. 在導覽窗格中，選擇 **Data Collectors (資料收集器)**。

1. 選擇 **Agents (代理程式)** 索引標籤。

1. 將 **Athena 滑桿中的資料探索**切換到關閉位置。

**從 刪除 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色所使用的 Application Discovery Service 資源 AWS CLI**

1.  AWS CLI 為您的作業系統 (Linux、macOS 或 Windows) 安裝 。如需說明，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

1. 開啟命令提示字元 (Windows) 或終端機 (Linux 或 macOS)。

   1. 輸入 `aws configure` 然後按 Enter 鍵。

   1. 輸入您的 AWS 存取金鑰 ID 和 AWS 私密存取金鑰。

   1. 輸入預設區域名稱的 `us-west-2`。

   1. 輸入預設輸出格式的 `text`。

1. 鍵入以下命令：

   ```
   aws discovery stop-continuous-export --export-id <export ID>
   ```

   1. 如果您不知道想停止之持續匯出的匯出 ID，請輸入下列命令，以查看持續匯出的 ID：

     ```
     aws discovery describe-continuous-exports
     ```

1. 輸入下列命令，確認其傳回狀態為「INACTIVE」，以確保持續匯出已停止：

   ```
   aws discovery describe-continuous-export
   ```

## 手動刪除服務連結角色
<a name="slr-manual-delete"></a>

您可以使用 IAM 主控台、IAM CLI 或 IAM API 刪除 AWSServiceRoleForApplicationDiscoveryServiceContinuousExport 服務連結角色。如果您不再需要使用需要此服務連結角色的 Discovery Service - 持續匯出功能，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。如需詳細資訊，請參閱《*IAM 使用者指南*》中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

**注意**  
您必須先清除您的服務連結角色才能將其刪除。請參閱[清除 服務連結角色](#service-linked-role-review-before-delete)。

 

 