Concesión de unAWS IoTgobernar el acceso que requiere - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Concesión de unAWS IoTgobernar el acceso que requiere

Usa roles de IAM para controlar elAWSrecursos a los que cada regla tiene acceso. Para crear una regla, primero debe crear un rol de IAM con una política que le permita tener acceso a los requeridosAWSde AWS.AWS IoTasume este rol al ejecutar una regla.

Para crear el rol de IAM yAWS IoTpolítica que otorga unAWS IoTregla el acceso que requiere (AWS CLI)

  1. Guarde el siguiente documento de política de confianza, que concede aAWS IoTpermiso para asumir el rol, a un archivo denominadoiot-role-trust.json.

    En este ejemplo se incluye una clave de contexto de condición global para protegerse contra elproblema confuso del suplente. ParaAWS IoTreglas, suaws:SourceArndebe cumplir el formato: arn:aws:iot:region:account-id:*. Asegúrese de queregióncoincide con suAWS IoTRegión yaccount-idcoincide con su ID de cuenta de cliente.

    { "Version":"2012-10-17", "Statement":[{ "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-east-1:123456789012:*" } } }] }

    Utilice el comando create-role para crear un rol de IAM especificando el archivo iot-role-trust.json:

    aws iam create-role --role-name my-iot-role --assume-role-policy-document file://iot-role-trust.json

    El resultado de este comando tendrá un aspecto similar al siguiente.

    { "Role": { "AssumeRolePolicyDocument": "url-encoded-json", "RoleId": "AKIAIOSFODNN7EXAMPLE", "CreateDate": "2015-09-30T18:43:32.821Z", "RoleName": "my-iot-role", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/my-iot-role" } }
  2. Copie el siguiente JSON en un archivo denominado my-iot-policy.json.

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "dynamodb:*", "Resource": "*" }] }

    Este JSON es un ejemplo de documento de política que concede aAWS IoTacceso de administrador a DynamoDB.

    Ejecute el comando create-policy para conceder a AWS IoT acceso a sus recursos de AWS en el momento en que asuma el rol pasando el archivo my-iot-policy.json:

    aws iam create-policy --policy-name my-iot-policy --policy-document file://my-iot-policy.json

    Para obtener más información acerca de cómo conceder acceso a los servicios de AWS en las políticas de AWS IoT, consulte Creación de una regla de AWS IoT.

    La salida del comando create-policy contendrá el ARN de la política. Tendrá que adjuntar la política a un rol.

    { "Policy": { "PolicyName": "my-iot-policy", "CreateDate": "2015-09-30T19:31:18.620Z", "AttachmentCount": 0, "IsAttachable": true, "PolicyId": "ZXR6A36LTYANPAI7NJ5UV", "DefaultVersionId": "v1", "Path": "/", "Arn": "arn:aws:iam::123456789012:policy/my-iot-policy", "UpdateDate": "2015-09-30T19:31:18.620Z" } }
  3. Ejecute el comando attach-role-policy para asociar la política al rol:

    aws iam attach-role-policy --role-name my-iot-role --policy-arn "arn:aws:iam::123456789012:policy/my-iot-policy"