控制存取 AWS IoT FleetWise - AWS IoT FleetWise

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

控制存取 AWS IoT FleetWise

以下各節將說明如何控制您的對象的存取 AWS IoT FleetWise 的費用。它們涵蓋的信息包括如何授予您的應用程序訪問權限 AWS IoT FleetWise 可以在宣傳活動期間傳輸車輛資料。他們還描述了如何授予 AWS IoT FleetWise 存取您的 Amazon S3 (S3) 儲存貯體或 Amazon Timestream 資料庫和表格以存放資料。

管理所有這些訪問形式的技術是 AWS Identity and Access Management (IAM)。如需有關的詳細資訊IAM,請參閱什麼是IAM?

授權 AWS IoT FleetWise 訪問 Amazon S3 目的地

當您使用 Amazon S3 目的地時, AWS IoT FleetWise 將車輛資料傳送到 S3 儲存貯體,並可選擇使用 AWS KMS 您擁有用於資料加密的金鑰。如果啟用了錯誤記錄, AWS IoT FleetWise 也會將資料傳遞錯誤傳送至您的 CloudWatch 記錄群組和串流。建立交付串流時,您必須具備IAM角色。

AWS IoT FleetWise 使用具有 S3 目標服務主體的儲存貯體政策。如需新增儲存貯體政策的詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的使用 Amazon S3 主控台新增儲存貯體政策。

使用下列存取原則來啟用 AWS IoT FleetWise 訪問您的 S3 存儲桶。如果您未擁有 S3 儲存貯體,請新增 s3:PutObjectAcl 至 Amazon S3 動作清單。這會授予值區擁有者對由傳送的物件的完整存取權 AWS IoT FleetWise。 如需有關如何保護值區中物件存取安全的詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的儲存貯體政策範例

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceArn": "campaign-arn", "aws:SourceAccount": "account-id" } } } ] }

下列值區政策適用於帳戶中的所有廣告活動 AWS 區域。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:iotfleetwise:region:account-id:campaign/*", "aws:SourceAccount": "account-id" } } } ] }

如果您將KMS金鑰連接到 S3 儲存貯體,則該金鑰將需要以下政策。如需金鑰管理的相關資訊,請參閱使用伺服器端加密保護資料 AWS Key Management ServiceAmazon 簡單存儲服務用戶指南中的密鑰(SSE-KMS)。

{ "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" }
重要

建立儲存貯體時,S3 會建立預設存取控制清單 (ACL),授與資源擁有者對資源的完全控制權。If AWS IoT FleetWise 無法將資料傳送到 S3,請確定您停用 S3 儲存貯體ACL上的資料。如需詳細資訊,請參閱 Amazon 簡單儲存體使用者指南中的停用ACLs所有新儲存貯體和強制執行物件擁有權。

授權 AWS IoT FleetWise 訪問 Amazon Timestream 目的地

當您使用時間流目的地時, AWS IoT FleetWise 將車輛資料傳送至「時間流」表格。您必須將策略附加到IAM角色才能允許 AWS IoT FleetWise 將資料傳送至「時間串流」。

如果您使用主控台建立廣告活動, AWS IoT FleetWise 會自動將必要的原則附加至角色。

在開始之前,請檢查以下內容:

重要
  • 您必須使用相同的 AWS 建立時間流資源時的區域 AWS IoT FleetWise。如果你切換 AWS 區域時,您可能在存取時間流資源時遇到問題。

  • AWS IoT 可 FleetWise 在美國東部 (維吉尼亞北部) 和歐洲 (法蘭克福) 使用。

  • 如需支援的區域清單,請參閱 AWS 一般參考.

  • 您必須擁有時間流資料庫。如需教學課程,請參閱 Amazon Timestream 開發人員指南中的建立資料庫

  • 您必須在指定的時間流資料庫中建立資料表。如需教學課程,請參閱 Amazon Timestream 開發人員指南中的建立表格

您可以使用 AWS CLI 以建立具有時間串流信任原則的IAM角色。若要建立IAM角色,請執行下列命令。

使用信任原則建立IAM角色
  • Replace (取代) TimestreamExecutionRole 使用您正在創建的角色的名稱。

  • Replace (取代) trust-policy 與包含信任策略的JSON文件。

aws iam create-role --role-name TimestreamExecutionRole --assume-role-policy-document file://trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "timestreamTrustPolicy", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:iotfleetwise:region:account-id:campaign/campaign-name" ], "aws:SourceAccount": [ "account-id" ] } } } ] }

建立要提供的權限原則 AWS 將資料寫入時間流的 IoT FleetWise 權限。若要建立權限原則,請執行下列命令。

若要建立權限原則
  • Replace (取代) AWSIoTFleetwiseAccessTimestreamPermissionsPolicy 使用您正在創建的策略的名稱。

  • Replace (取代) permissions-policy 與包含權限策略的JSON文件的名稱。

aws iam create-policy --policy-name AWSIoTFleetwiseAccessTimestreamPermissionsPolicy --policy-document file://permissions-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "timestreamIngestion", "Effect": "Allow", "Action": [ "timestream:WriteRecords", "timestream:Select", "timestream:DescribeTable" ], "Resource": "table-arn" }, { "Sid": "timestreamDescribeEndpoint", "Effect": "Allow", "Action": [ "timestream:DescribeEndpoints" ], "Resource": "*" } ] }
將權限原則附加至您的IAM角色
  1. 從輸出中,複製許可政策的 Amazon 資源名稱 (ARN)。

  2. 若要將IAM權限原則附加至您的IAM角色,請執行下列命令。

    • Replace (取代) permissions-policy-arn 使用您ARN在上一步中複製的。

    • Replace (取代) TimestreamExecutionRole 使用您創建的IAM角色的名稱。

    aws iam attach-role-policy --policy-arn permissions-policy-arn --role-name TimestreamExecutionRole

如需詳細資訊,請參閱的存取管理 AWS《IAM使用者指南》中的資源。