

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

# 使用 為組織建立線索 AWS CLI
<a name="cloudtrail-create-and-update-an-organizational-trail-by-using-the-aws-cli"></a>

您可以使用 AWS CLI來建立組織追蹤。 AWS CLI 會使用其他功能和命令定期更新 。為了確保成功，請務必先安裝或更新至最新版本， AWS CLI 再開始。

**注意**  
本節中的範例是建立和更新組織追蹤的特定示範。如需使用 AWS CLI 管理線索的範例，請參閱 [使用 管理線索 AWS CLI](cloudtrail-additional-cli-commands.md)和 [使用 設定 CloudWatch Logs 監控 AWS CLI](send-cloudtrail-events-to-cloudwatch-logs.md#send-cloudtrail-events-to-cloudwatch-logs-cli)。使用 建立或更新組織追蹤時 AWS CLI，您必須使用管理帳戶或委派管理員帳戶中具有足夠許可的 AWS CLI 設定檔。如果您要將組織追蹤轉換為非組織追蹤，則必須使用該組織的管理帳戶。  
您必須設定 Amazon S3 儲存貯體用於組織追蹤才有足夠的許可。

## 建立或更新 Amazon S3 儲存貯體以存放組織追蹤的日誌檔案
<a name="org-trail-bucket-policy"></a>

您必須指定 Amazon S3 儲存貯體以接收組織追蹤的日誌檔案。這個儲存貯體必須具備特定政策，允許 CloudTrail 將組織的日誌檔案放入儲存貯體。

以下是名為 amzn-s3-demo-bucket 的 Amazon S3 儲存貯體的範例政策，該儲存貯體為組織的管理帳戶所擁有。 {{}}將 {{amzn-s3-demo-bucket}}、 {{region}}、 {{managementAccountID}}、 {{trailName}} 和 {{o-organizationID}} 取代為組織的值

此儲存貯體政策包含三個陳述式。
+ 第一個陳述式允許 CloudTrail 在 Amazon S3 儲存貯體上呼叫 Amazon S3 `GetBucketAcl` 動作。
+ 第二個陳述式允許記錄當追蹤從組織追蹤變更成僅限該帳戶使用的事件。
+ 第三個陳述式允許組織追蹤記錄。

範例政策會納入 Amazon S3 儲存貯體政策的 `aws:SourceArn` 條件金鑰。IAM 全域條件金鑰 `aws:SourceArn` 有助於確保 CloudTrail 僅針對特定追蹤寫入 S3 儲存貯體。在組織追蹤中，`aws:SourceArn` 的值必須是管理帳戶所擁有且使用管理帳戶 ID 的追蹤 ARN。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AWSCloudTrailAclCheck20150319",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "cloudtrail.amazonaws.com"
                ]
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:aws:cloudtrail:{{region}}:{{managementAccountID}}:trail/{{trailName}}"
                }
            }
        },
        {
            "Sid": "AWSCloudTrailWrite20150319",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "cloudtrail.amazonaws.com"
                ]
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/AWSLogs/{{managementAccountID}}/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceArn": "arn:aws:cloudtrail:{{region}}:{{managementAccountID}}:trail/{{trailName}}"
                }
            }
        },
        {
            "Sid": "AWSCloudTrailOrganizationWrite20150319",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "cloudtrail.amazonaws.com"
                ]
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/AWSLogs/{{o-organizationID}}/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceArn": "arn:aws:cloudtrail:{{region}}:{{managementAccountID}}:trail/{{trailName}}"
                }
            }
        }
    ]
}
```

------

這個範例政策不允許成員帳戶中任何使用者存取為該組織建立的日誌檔案。在預設情況下，只有管理帳戶才能存取組織日誌檔案。如需有關如何允許成員帳戶中 IAM 使用者對於 Amazon S3 儲存貯體的讀取許可，請參閱 [在 AWS 帳戶之間共用 CloudTrail 日誌檔案](cloudtrail-sharing-logs.md)。

## 在 中啟用 CloudTrail 做為信任的服務 AWS Organizations
<a name="cloudtrail-create-organization-trail-by-using-the-cli-enable-trusted-service"></a>

您必須先啟用 Organizations 中的所有功能，才能建立組織追蹤。如需詳細資訊，請參閱[啟用組織中的所有功能](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html)，或是使用管理帳戶中具備足夠許可之設定檔來執行以下命令：

```
aws organizations enable-all-features
```

啟用所有功能之後，您必須將 Organizations 設定成信任 CloudTrail 做為信任的服務。

若要在 AWS Organizations 和 CloudTrail 之間建立信任的服務關係，請開啟終端機或命令列，並使用管理帳戶中的設定檔。依照下面範例示範的方式來執行 `aws organizations enable-aws-service-access` 命令。

```
aws organizations enable-aws-service-access --service-principal cloudtrail.amazonaws.com
```

## 使用 create-trail
<a name="cloudtrail-create-organization-trail-by-using-the-cli-create-trail"></a>

### 建立套用到所有區域的組織追蹤
<a name="cloudtrail-create-organization-trail-by-using-the-cli-create-trail-all"></a>

若要建立套用到所有區域的組織追蹤，請新增 `--is-organization-trail` 與 `--is-multi-region-trail` 選項。

**注意**  
當您使用 建立組織追蹤時 AWS CLI，您必須在管理帳戶或委派管理員帳戶中使用具有足夠許可的 AWS CLI 設定檔。

以下範例會建立組織追蹤，將所有區域的日誌傳遞到名為 `{{amzn-s3-demo-bucket}}` 的現有儲存貯體：

```
aws cloudtrail create-trail --name {{my-trail}} --s3-bucket-name {{amzn-s3-demo-bucket}} --is-organization-trail --is-multi-region-trail
```

若要確認所有區域都有您的追蹤，輸出中的 `IsOrganizationTrail` 和 `IsMultiRegionTrail` 參數會同時設定為 `true`：

```
{
    "IncludeGlobalServiceEvents": true, 
    "Name": "{{my-trail}}", 
    "TrailARN": "arn:aws:cloudtrail:{{us-east-2}}:{{123456789012}}:trail/{{my-trail}}", 
    "LogFileValidationEnabled": false, 
    "IsMultiRegionTrail": true, 
    "IsOrganizationTrail": true,
    "S3BucketName": "{{amzn-s3-demo-bucket}}"
}
```

**注意**  
執行 `start-logging` 命令來為追蹤啟動記錄功能。如需詳細資訊，請參閱 [停止及啟動追蹤的記錄功能](cloudtrail-additional-cli-commands.md#cloudtrail-start-stop-logging-cli-commands)。

### 將組織追蹤建立成單一區域追蹤
<a name="cloudtrail-create-organization-trail-by-using-the-cli-single"></a>

下列命令會建立組織追蹤，只會在單一 中記錄事件 AWS 區域，也稱為單一區域追蹤。記錄事件 AWS 的區域是 組態設定檔中指定的區域 AWS CLI。

```
aws cloudtrail create-trail --name {{my-trail}} --s3-bucket-name {{amzn-s3-demo-bucket}} --is-organization-trail
```

如需詳細資訊，請參閱[CloudTrail 資源、S3 儲存貯體和 KMS 金鑰的命名需求](cloudtrail-trail-naming-requirements.md)。

輸出範例：

```
{
    "IncludeGlobalServiceEvents": true, 
    "Name": "{{my-trail}}", 
    "TrailARN": "arn:aws:cloudtrail:{{us-east-2}}:{{123456789012}}:trail/{{my-trail}}", 
    "LogFileValidationEnabled": false,
    "IsMultiRegionTrail": false,
    "IsOrganizationTrail": true,
    "S3BucketName": "{{amzn-s3-demo-bucket}}"
}
```

依預設，`create-trail` 命令會建立單一區域追蹤，而且該追蹤不會啟用日誌檔案驗證。

**注意**  
執行 `start-logging` 命令來為追蹤啟動記錄功能。

## 執行 **update-trail** 以更新組織追蹤
<a name="cloudtrail-update-organization-trail-by-using-the-cli"></a>

您可以執行 `update-trail` 命令來變更組織追蹤的組態設定，或是將單一 AWS 帳戶的現有追蹤套用到整個組織。請記住您只能從該追蹤建立所在區域執行 `update-trail` 命令。

**注意**  
如果您使用 AWS CLI 或其中一個 AWS SDKs來更新線索，請確定線索的儲存貯體政策是up-to-date。如需詳細資訊，請參閱[使用 為組織建立線索 AWS CLI](#cloudtrail-create-and-update-an-organizational-trail-by-using-the-aws-cli)。  
當您使用 更新組織線索時 AWS CLI，您必須使用 AWS CLI 管理帳戶或委派管理員帳戶中具有足夠許可的設定檔。如果您要將組織追蹤轉換為非組織追蹤，則必須使用該組織的管理帳戶，因為管理帳戶是所有組織資源的擁有者。  
即使資源驗證失敗，CloudTrail 也會更新成員帳戶中的組織線索。驗證失敗的範例包括：  
不正確的 Amazon S3 儲存貯體政策
不正確的 Amazon SNS 主題政策
無法交付至 CloudWatch Logs 日誌群組
使用 KMS 金鑰加密的許可不足
具有 CloudTrail 許可的成員帳戶可以透過在 CloudTrail 主控台上檢視追蹤的詳細資訊頁面，或執行 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/get-trail-status.html)命令，來查看組織追蹤的任何驗證失敗。

### 將現有追蹤套用到組織
<a name="cloudtrail-update-organization-trail-by-using-the-cli-apply-org"></a>

若要變更現有的線索，使其也適用於組織而非單一 AWS 帳戶，請新增 `--is-organization-trail`選項，如下列範例所示。

**注意**  
使用管理帳戶將現有的非組織追蹤變更為組織追蹤。

```
aws cloudtrail update-trail --name {{my-trail}} --is-organization-trail
```

若要確認追蹤現在會套用到組織，輸出中的 `IsOrganizationTrail` 元素會顯示 `true` 的值。

```
{
    "IncludeGlobalServiceEvents": true, 
    "Name": "{{my-trail}}", 
    "TrailARN": "arn:aws:cloudtrail:{{us-east-2}}:{{123456789012}}:trail/{{my-trail}}", 
    "LogFileValidationEnabled": false, 
    "IsMultiRegionTrail": true, 
    "IsOrganizationTrail": true, 
    "S3BucketName": "{{amzn-s3-demo-bucket}}"
}
```

在上述範例中，線索已設定為多區域線索 (`"IsMultiRegionTrail": true`)。只套用到單一區域的追蹤，將在輸出中顯示 `"IsMultiRegionTrail": false`。

### 將單一區域組織線索轉換為多區域組織線索
<a name="cloudtrail-update-organization-trail-by-using-the-cli-single-to-all"></a>

若要將現有的單一區域組織線索轉換為多區域組織線索，請新增 `--is-multi-region-trail`選項，如下列範例所示。

```
aws cloudtrail update-trail --name {{my-trail}} --is-multi-region-trail
```

若要確認線索現在是多區域，請檢查輸出中的 `IsMultiRegionTrail` 參數的值是否為 `true`。

```
{
    "IncludeGlobalServiceEvents": true, 
    "Name": "{{my-trail}}", 
    "TrailARN": "arn:aws:cloudtrail:{{us-east-2}}:{{123456789012}}:trail/{{my-trail}}", 
    "LogFileValidationEnabled": false, 
    "IsMultiRegionTrail": true, 
    "IsOrganizationTrail": true,
    "S3BucketName": "{{amzn-s3-demo-bucket}}"
}
```