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

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

跨帳戶交付的 IAM 角色

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

來源帳戶角色

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

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

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

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

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

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

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

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

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

    1. 選擇JSON

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

    3. 選擇 Next (下一步)

    4. 輸入原則的名稱以及選擇性的說明和標記,然後選擇 [建立原則]。

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

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

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

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

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

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

目的地帳戶角色

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

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

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

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

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

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

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

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

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

    1. 選擇JSON

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

    3. 選擇 Next (下一步)

    4. 輸入原則開頭為的名稱 AWSLogDeliveryFirehoseCrossAccountRole,然後選擇 [建立原則]。

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

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

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

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

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

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