IoT ポリシーがすべてのリソースを許可

AWS IoT 権限の対象を必要なクライアントとトピックに限定します。

説明

AWS IoT ポリシーで Resource: "*" を許可すると、指定した操作の対象範囲が広がります。例えば iot:Connect では、意図しないクライアント ID での接続も許可されるおそれがあります。

想定される影響

デバイス間の分離が弱まったり、同じクライアント ID を使った接続が競合したりするおそれがあります。

対処方法

操作に合ったクライアント、トピック、トピックフィルターの ARN を指定してください。デバイスに許可する ID とパスを決め、接続とメッセージ送受信の権限を確認してください。

例

この例は接続権限を client1 に限定しています。他の IoT 操作には、その操作が要求するリソース ARN を使用してください。

変更前

yaml
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  IoTPolicy:
    Type: AWS::IoT::Policy
    Properties:
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action:
              - iot:Connect
            Resource: "*"
      PolicyName: PolicyName

変更後

yaml
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
  IoTPolicy:
    Type: AWS::IoT::Policy
    Properties:
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action:
              - iot:Connect
            Resource:
              - arn:aws:iot:us-east-1:123456789012:client/client1
      PolicyName: PolicyName

参考資料