터널에 대한 액세스 제어 - AWS IoT Core

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

터널에 대한 액세스 제어

보안 터널링은 IAM 권한 정책에 사용할 서비스별 작업, 리소스 및 조건 컨텍스트 키를 제공합니다.

터널 액세스 사전 조건

  • IAM 정책을 사용하여 AWS 리소스를 보호하는 방법을 알아봅니다.

  • IAM 조건을 생성하고 평가하는 방법을 알아봅니다.

  • 리소스 태그를 사용하여 AWS 리소스를 보호하는 방법을 알아봅니다.

터널 액세스 정책

보안 터널링 API를 사용하려면 권한 부여에 다음 정책을 사용해야 합니다. AWS IoT 보안에 대한 자세한 내용은 에 대한 자격 증명 및 액세스 관리 AWS IoT 단원을 참조하세요.

iot:OpenTunnel 정책 작업은 보안 주체에게 OpenTunnel을 호출할 수 있는 권한을 부여합니다.

IAM 정책 명령문의 Resource 요소에서 다음을 수행합니다.

  • 와일드카드 터널 ARN을 지정합니다.

    arn:aws:iot:aws-region:aws-account-id:tunnel/*

  • 특정 IoT 사물에 대한 OpenTunnel 권한을 관리할 사물 ARN을 지정합니다.

    arn:aws:iot:aws-region:aws-account-id:thing/thing-name

예를 들어, 다음 정책 설명을 사용하면 TestDevice라는 IoT 사물에 대한 터널을 열 수 있습니다.

{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }

iot:OpenTunnel 정책 작업은 다음 조건 키를 지원합니다.

  • iot:ThingGroupArn

  • iot:TunnelDestinationService

  • aws:RequestTag/tag-key

  • aws:SecureTransport

  • aws:TagKeys

다음 정책 설명을 사용하면 사물이 이름이 TestGroup으로 시작하는 사물 그룹에 속하고 터널에서 구성된 대상 서비스가 SSH인 경우 사물에 대한 터널을 열 수 있습니다.

{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "ForAnyValue:StringLike": { "iot:ThingGroupArn": [ "arn:aws:iot:aws-region:aws-account-id:thinggroup/TestGroup*" ] }, "ForAllValues:StringEquals": { "iot:TunnelDestinationService": [ "SSH" ] } } }

리소스 태그를 사용하여 터널을 열 수 있는 권한을 제어할 수도 있습니다. 예를 들어, 다음 정책 설명은 태그 키 Owner의 값이 Admin이고 다른 태그가 지정되지 않은 경우 터널을 열 수 있도록 허용합니다. 태그 사용에 대한 일반적인 정보는 AWS IoT 리소스에 태그 지정 섹션을 참조하세요.

{ "Effect": "Allow", "Action": "iot:OpenTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "StringEquals": { "aws:RequestTag/Owner": "Admin" }, "ForAllValues:StringEquals": { "aws:TagKeys": "Owner" } } }

iot:RotateTunnelAccessToken 정책 작업은 보안 주체에게 RotateTunnelAccessToken을 호출할 수 있는 권한을 부여합니다.

IAM 정책 명령문의 Resource 요소에서 다음을 수행합니다.

  • 정규화된 터널 ARN을 지정합니다.

    arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

    와일드카드 터널 ARN을 사용할 수도 있습니다.

    arn:aws:iot:aws-region:aws-account-id:tunnel/*

  • 특정 IoT 사물에 대한 RotateTunnelAccessToken 권한을 관리할 사물 ARN을 지정합니다.

    arn:aws:iot:aws-region:aws-account-id:thing/thing-name

예를 들어, 다음 정책 문을 사용하면 TestDevice라는 IoT 사물에 대한 터널의 소스 액세스 토큰 또는 클라이언트의 대상 액세스 토큰을 교체할 수 있습니다.

{ "Effect": "Allow", "Action": "iot:RotateTunnelAccessToken", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }

iot:RotateTunnelAccessToken 정책 작업은 다음 조건 키를 지원합니다.

  • iot:ThingGroupArn

  • iot:TunnelDestinationService

  • iot:ClientMode

  • aws:SecureTransport

다음 정책 문을 사용하면 사물이 이름이 TestGroup으로 시작하는 사물 그룹에 속하고 터널에서 구성된 대상 서비스가 SSH이며 클라이언트가 DESTINATION 모드인 경우 사물에 대한 대상 액세스 토큰을 교체할 수 있습니다.

{ "Effect": "Allow", "Action": "iot:RotateTunnelAccessToken", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "ForAnyValue:StringLike": { "iot:ThingGroupArn": [ "arn:aws:iot:aws-region:aws-account-id:thinggroup/TestGroup*" ] }, "ForAllValues:StringEquals": { "iot:TunnelDestinationService": [ "SSH" ], "iot:ClientMode": "DESTINATION" } } }

iot:DescribeTunnel 정책 작업은 보안 주체에게 DescribeTunnel을 호출할 수 있는 권한을 부여합니다.

IAM 정책 문의 Resource 요소에서 정규화된 터널 ARN을 지정합니다.

arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

와일드카드 ARN을 사용할 수도 있습니다.

arn:aws:iot:aws-region:aws-account-id:tunnel/*

iot:DescribeTunnel 정책 작업은 다음 조건 키를 지원합니다.

  • aws:ResourceTag/tag-key

  • aws:SecureTransport

다음 정책 설명을 사용하면 요청된 터널에 값이 DescribeTunnel인 키 Owner 태그가 지정된 경우 Admin을 호출할 수 있습니다.

{ "Effect": "Allow", "Action": "iot:DescribeTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Owner": "Admin" } } }

iot:ListTunnels 정책 작업은 보안 주체에게 ListTunnels를 호출할 수 있는 권한을 부여합니다.

IAM 정책 명령문의 Resource 요소에서 다음을 수행합니다.

  • 와일드카드 터널 ARN을 지정합니다.

    arn:aws:iot:aws-region:aws-account-id:tunnel/*

  • 선택한 IoT 사물에 대한 ListTunnels 권한을 관리할 사물 ARN을 지정합니다.

    arn:aws:iot:aws-region:aws-account-id:thing/thing-name

iot:ListTunnels 정책 작업은 조건 키 aws:SecureTransport를 지원합니다.

다음 정책 설명을 사용하면 이름이 TestDevice인 사물에 대한 터널을 나열할 수 있습니다.

{ "Effect": "Allow", "Action": "iot:ListTunnels", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*", "arn:aws:iot:aws-region:aws-account-id:thing/TestDevice" ] }

iot:ListTagsForResource 정책 작업은 보안 주체에게 ListTagsForResource를 호출할 수 있는 권한을 부여합니다.

IAM 정책 문의 Resource 요소에서 정규화된 터널 ARN을 지정합니다.

arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

와일드카드 터널 ARN을 사용할 수도 있습니다.

arn:aws:iot:aws-region:aws-account-id:tunnel/*

iot:ListTagsForResource 정책 작업은 조건 키 aws:SecureTransport를 지원합니다.

iot:CloseTunnel 정책 작업은 보안 주체에게 CloseTunnel을 호출할 수 있는 권한을 부여합니다.

IAM 정책 문의 Resource 요소에서 정규화된 터널 ARN을 지정합니다.

arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

와일드카드 터널 ARN을 사용할 수도 있습니다.

arn:aws:iot:aws-region:aws-account-id:tunnel/*

iot:CloseTunnel 정책 작업은 다음 조건 키를 지원합니다.

  • iot:Delete

  • aws:ResourceTag/tag-key

  • aws:SecureTransport

다음 정책 문을 사용하면 요청의 Delete 파라미터가 false이고 요청된 터널에 값이 QATeam인 키 Owner 태그가 지정된 경우 CloseTunnel을 호출할 수 있습니다.

{ "Effect": "Allow", "Action": "iot:CloseTunnel", "Resource": [ "arn:aws:iot:aws-region:aws-account-id:tunnel/*" ], "Condition": { "Bool": { "iot:Delete": "false" }, "StringEquals": { "aws:ResourceTag/Owner": "QATeam" } } }

iot:TagResource 정책 작업은 보안 주체에게 TagResource를 호출할 수 있는 권한을 부여합니다.

IAM 정책 문의 Resource 요소에서 정규화된 터널 ARN을 지정합니다.

arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

와일드카드 터널 ARN을 사용할 수도 있습니다.

arn:aws:iot:aws-region:aws-account-id:tunnel/*

iot:TagResource 정책 작업은 조건 키 aws:SecureTransport를 지원합니다.

iot:UntagResource 정책 작업은 보안 주체에게 UntagResource를 호출할 수 있는 권한을 부여합니다.

IAM 정책 문의 Resource 요소에서 정규화된 터널 ARN을 지정합니다.

arn:aws:iot:aws-region: aws-account-id:tunnel/tunnel-id

와일드카드 터널 ARN을 사용할 수도 있습니다.

arn:aws:iot:aws-region:aws-account-id:tunnel/*

iot:UntagResource 정책 작업은 조건 키 aws:SecureTransport를 지원합니다.