View a markdown version of this page

跨帳戶交付的 IAM 角色 - Amazon Virtual Private Cloud

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

跨帳戶交付的 IAM 角色

發佈至 Amazon Data Firehose 時,您可以選擇與要監控的資源位於同一帳戶 (來源帳戶) 或不同帳戶 (目的地帳戶) 中的交付串流。若要啟用跨帳戶將流程日誌交付至 Amazon Data Firehose,必須在來源帳戶中建立 IAM 角色,並在目的地帳戶中建立 IAM 角色。

來源帳戶角色

在來源帳戶中,建立授予下列許可的角色。在此範例中,角色的名稱是 mySourceRole,但您可以為此角色選擇其他名稱。最後一個陳述式允許目的地帳戶中的角色擔任此角色。條件陳述式可確保此角色僅傳遞至日誌交付服務,而且只有在監控指定的資源時才會傳遞。建立政策時,請使用條件金鑰 iam:AssociatedResourceARN 指定要監控的 VPC、網路介面或子網路。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:us-east-1:123456789012:vpc/vpc-00112233344556677" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

確保此角色具有下列信任政策,以允許日誌交付服務擔任角色。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

在來源帳戶,使用下列程序建立角色。

建立來源帳戶角色
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇政策。

  3. 選擇 Create policy (建立政策)。

  4. 在 Create policy (建立政策) 頁面上,執行下列動作:

    1. 選擇 JSON。

    2. 將此視窗的內容取代為本節開頭的許可政策。

    3. 選擇下一步。

    4. 輸入您的政策的名稱,以及可選的描述和標籤,然後選擇 建立政策。

  5. 在導覽窗格中,選擇 Roles (角色)。

  6. 選擇 Create Role (建立角色)。

  7. 對於 Trusted entity type (信任的實體類型),選擇 Custom trust policy (自訂信任政策)。對於 Custom trust policy (自訂信任政策),將 "Principal": {}, 取代為下列內容,以指定日誌交付服務。選擇下一步。

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. 在 Add permissions (新增許可) 頁面上,選取您先前在此程序中建立的政策的核取方塊,然後選擇 Next (下一步)。

  9. 輸入您角色的名稱,然後選擇性提供描述。

  10. 選擇 Create Role (建立角色)。

目的地帳戶角色

在目的地帳戶中,建立名稱開頭為 AWSLogDeliveryFirehoseCrossAccountRole 的角色。此角色必須授予下列許可。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

請確保此角色具有下列信任政策,可讓您在來源帳戶中建立的角色擔任此角色。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/mySourceRole" }, "Action": "sts:AssumeRole" } ] }

透過目的地帳戶,使用下列程序建立角色。

建立目的地帳戶角色
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇政策。

  3. 選擇 Create policy (建立政策)。

  4. 在 Create policy (建立政策) 頁面上,執行下列動作:

    1. 選擇 JSON。

    2. 將此視窗的內容取代為本節開頭的許可政策。

    3. 選擇下一步。

    4. 輸入您政策的名稱 (開頭為 AWSLogDeliveryFirehoseCrossAccountRole),然後選擇 Create policy (建立政策)。

  5. 在導覽窗格中,選擇 Roles (角色)。

  6. 選擇 Create Role (建立角色)。

  7. 對於 Trusted entity type (信任的實體類型),選擇 Custom trust policy (自訂信任政策)。對於 Custom trust policy (自訂信任政策),將 "Principal": {}, 取代為下列內容,以指定來源帳戶角色。選擇下一步。

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. 在 Add permissions (新增許可) 頁面上,選取您先前在此程序中建立的政策的核取方塊,然後選擇 Next (下一步)。

  9. 輸入您角色的名稱,然後選擇性提供描述。

  10. 選擇 Create Role (建立角色)。