本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 3:新增/驗證跨帳戶目的地的 IAM 許可
根據 AWS 跨帳戶原則評估邏輯,若要存取任何跨帳號資源 (例如作為訂閱篩選器目的地使用的 Kinesis 或 Firehose 串流),您必須在傳送帳戶中具有以身分識別為基礎的政策,以提供跨帳戶目標資源的明確存取權。如需有關政策評估邏輯的詳細資訊,請參閱《跨帳戶政策評估邏輯》。
您可以將身分型政策連接至用來建立訂閱篩選條件的 IAM 角色或 IAM 使用者。傳送帳戶中必須有此政策存在。如果您使用管理員角色建立訂閱篩選條件,則可以略過此步驟並繼續進行 步驟 4:建立訂閱篩選條件。
新增或驗證跨帳戶所需的 IAM 許可
輸入以下命令以檢查正在使用哪個 IAM 角色或 IAM 使用者來執行 AWS 日誌命令。
aws sts get-caller-identity
此命令會傳回類似以下的輸出:
{ "UserId": "
User ID
", "Account": "sending account id
", "Arn": "arn:aws:sending account id
:role/user:RoleName/UserName
" }記下
RoleName
或所代表的值UserName
。登入傳送帳戶,然後使用您 AWS Management Console 在步驟 1 輸入的命令輸出中傳回的 IAM 角色或 IAM 使用者搜尋附加的政策。
確認連接至此角色或使用者的政策提供明確的許可,可對跨帳戶目的地資源呼叫
logs:PutSubscriptionFilter
。以下範例政策顯示建議的許可。下列原則提供僅在單一帳號 ( AWS 帳號) 中針對任何目標資源建立訂閱篩選器的權限
123456789012
:{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on any resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:*" ] } ] }
下列原則提供權限,可讓您僅
sampleDestination
在單一帳號 ( AWS 帳號) 中名為的特定目標資源上建立訂閱篩選器123456789012
:{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow subscription filters on one specific resource in one specific account", "Effect": "Allow", "Action": "logs:PutSubscriptionFilter", "Resource": [ "arn:aws:logs:*:*:log-group:*", "arn:aws:logs:*:123456789012:destination:sampleDestination" ] } ] }