인증서 정책 예제 - AWS IoT Core

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

인증서 정책 예제

AWS IoT Core 레지스트리에 등록된 장치의 경우 다음 정책은 사물 이름과 일치하는 클라이언트 AWS IoT Core ID로 연결하고 장치가 자신을 인증하는 데 사용한 인증서의 이름과 동일한 이름을 가진 주제에 게시할 수 있는 권한을 부여합니다. certificateId

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }

AWS IoT Core 레지스트리에 등록되지 않은 장치의 경우 다음 정책은 클라이언트 ID client1client2, 를 AWS IoT Core 사용하여 연결하고 장치가 자체 인증에 사용한 인증서의 client3 이름과 동일한 이름을 가진 주제에 게시할 수 있는 권한을 부여합니다. certificateId

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }

AWS IoT Core 레지스트리에 등록된 장치의 경우 다음 정책은 사물 이름과 일치하는 클라이언트 AWS IoT Core ID로 연결하고 장치가 자체 인증에 사용한 인증서의 주체 CommonName 필드와 동일한 이름을 가진 주제에 게시할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }
참고

이 예에서는 인증서 제목 공통 이름이 주제 식별자로 사용되고, 주제 공통 이름이 등록된 인증서마다 고유하다고 가정합니다. 인증서를 여러 디바이스에서 공유하는 경우, 제목 공통 이름은 이 인증서를 공유하는 모든 디바이스에서 동일하므로, 여러 디바이스에서 동일한 주제에 게시 권한을 허용하게 됩니다(권장되지 않음).

AWS IoT Core 레지스트리에 등록되지 않은 장치의 경우 다음 정책은 클라이언트 ID, client1client2, 를 AWS IoT Core 사용하여 연결할 권한을 client3 부여하고 장치가 자체 인증에 사용한 인증서의 주체 CommonName 필드와 이름이 동일한 주제에 게시할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }
참고

이 예에서는 인증서 제목 공통 이름이 주제 식별자로 사용되고, 주제 공통 이름이 등록된 인증서마다 고유하다고 가정합니다. 인증서를 여러 디바이스에서 공유하는 경우, 제목 공통 이름은 이 인증서를 공유하는 모든 디바이스에서 동일하므로, 여러 디바이스에서 동일한 주제에 게시 권한을 허용하게 됩니다(권장되지 않음).

AWS IoT Core 레지스트리에 등록된 장치의 경우 다음 정책은 사물 이름과 일치하는 클라이언트 AWS IoT Core ID로 연결하고, 장치 인증에 사용된 인증서의 Subject.CommonName.2 필드가 로 admin/ 설정된 경우 이름 앞에 접두사가 붙은 주제에 게시할 수 있는 권한을 부여합니다. Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

AWS IoT Core 레지스트리에 등록되지 않은 장치의 경우 다음 정책은 클라이언트 AWS IoT Core client1 ID로 연결하고 장치 인증에 사용되는 인증서의 Subject.CommonName.2 필드가 로 admin/ 설정된 경우 이름 앞에 접두사가 붙은 주제에 게시할 수 있는 권한을 부여합니다Administrator. client2 client3

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

AWS IoT Core 레지스트리에 등록된 장치의 경우 다음 정책은 장치가 사물 이름을 사용하여 특정 주제에 대해 게시할 수 있도록 허용합니다. 이 주제는 장치 인증에 사용되는 인증서의 Subject.CommonName 필드 중 하나가 다음과 Administrator 같이 설정된 시점으로 구성됩니다. admin/ ThingName

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/${iot:Connection.Thing.ThingName}"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }

AWS IoT Core 레지스트리에 등록되지 않은 장치의 경우 다음 정책은 클라이언트 AWS IoT Core client1 ID로 연결하고 장치 인증에 사용되는 인증서의 Subject.CommonName 필드 중 하나가 로 설정된 admin 경우 주제에 게시할 수 있는 권한을 부여합니다. client2 client3 Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }