기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
교차 서비스 혼동된 대리인 방지
혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에 작업을 수행하도록 강요할 수 있는 보안 문제입니다. In AWS서비스 간 사칭으로 인해 대리인 문제가 혼동될 수 있습니다. 교차 서비스 가장은 한 서비스(직접적으로 호출하는 서비스)가 다른 서비스(직접적으로 호출되는 서비스)를 직접적으로 호출할 때 발생할 수 있습니다. 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하려면 AWS 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 통해 모든 서비스의 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.
권한을 제한하려면 AWS IoT 리소스에 다른 서비스를 제공하는 경우 리소스 정책에서 aws:SourceArn
및 aws:SourceAccount
글로벌 조건 컨텍스트 키를 사용하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 aws:SourceAccount
값과 aws:SourceArn
값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.
혼동되는 대리자 문제를 방지하는 가장 효과적인 방법은 리소스의 전체 Amazon Resource Name (ARN) 과 함께 aws:SourceArn
글로벌 조건 컨텍스트 키를 사용하는 것입니다. 에 대한 AWS IoT, 리소스별 권한 또는 형식을 aws:SourceArn
준수해야 arn:
합니다. aws
:iot:region
:account-id
:*
arn:
resource-id는 허용된 리소스의 이름 또는 ID이거나 허용된 리소스의 와일드카드 문장일 수 있습니다. IDs 다음 사항을 확인하십시오.aws
:iot:region
:account-id
:resource-type/resource-id
region
귀하의 기기와 일치합니다 AWS IoT 지역 및 account-id
고객 계정 ID와 일치합니다.
다음 예는 의 aws:SourceArn
및 aws:SourceAccount
글로벌 조건 컨텍스트 키를 사용하여 혼란스러운 대리인 문제를 방지하는 방법을 보여줍니다. AWS IoT 역할 신뢰 정책. 더 많은 예제는 혼동되는 2차 예방 수단의 세부 예시를 참조합니다.
{ "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
:*
" } } } ] }
참고
액세스 거부 오류가 발생하는 경우 다음과 같은 서비스 통합 때문일 수 있습니다. AWS
보안 토큰 서비스 (STS) 는 aws:SourceArn
및 aws:SourceAccount
컨텍스트 키를 지원하지 않습니다.
혼동되는 2차 예방 수단의 세부 예시
이 섹션에서는 의 aws:SourceArn 및 aws:SourceAccount 글로벌 조건 컨텍스트 키를 사용하여 혼동된 대리인 문제를 방지하는 방법에 대한 자세한 예를 제공합니다. AWS IoT 역할 신뢰 정책.
플릿 프로비저닝
프로비저닝 템플릿 리소스를 사용하여 플릿 프로비저닝을 구성할 수 있습니다. 프로비저닝 템플릿이 프로비저닝 역할을 참조하는 경우 해당 역할의 신뢰 정책에 및 조건 키가 포함될 수 있습니다. aws:SourceArn
aws:SourceAccount
이러한 키는 구성이 요청을 호출할 수 있는 리소스를 제한합니다. sts:AssumeRole
다음 신뢰 정책이 적용되는 역할은 에 지정된 프로비저닝 템플릿의 IoT Principal (iot.amazonaws.com
) 만 맡을 수 있습니다. SourceArn
{ "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
:provisioningtemplate/example_template
" } } } ] }
JITP
just-in-time provisioning (JITP) 에서는 프로비전 템플릿을 CA와 별개의 리소스로 사용하거나 템플릿 본문 및 역할을 CA 인증서 구성의 일부로 정의할 수 있습니다. 의 값은 다음과 같습니다. aws:SourceArn
AWS IoT 역할 신뢰 정책은 프로비저닝 템플릿을 정의하는 방법에 따라 달라집니다.
공급 템플릿을 별도의 리소스로 정의하는 경우 의 값은 다음과 같을 aws:SourceArn
수 있습니다. "arn:aws:iot:
에서 동일한 정책 예제를 사용할 수 있습니다. 플릿 프로비저닝 region
:account-id
:provisioningtemplate/example_template
"
CA 인증서 리소스 내에 프로비저닝 템플릿을 정의하는 경우 의 값은 aws:SourceArn
또는 일 "arn:aws:iot:
수 있습니다. region
:account-id
:cacert/cert_id
""arn:aws:iot:
생성 시 CA 인증서의 ID와 같은 리소스 식별자를 알 수 없는 경우 와일드카드를 사용할 수 있습니다.region
:account-id
:cacert/*
"
다음 신뢰 정책이 적용되는 역할은 에 지정된 CA 인증서의 IoT 주체 (iot.amazonaws.com
) 만 맡을 수 있습니다. SourceArn
{ "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
:cacert/8ecde6884f3d87b1125ba31ac3fcb13d7016de7f57cc904fe1cb97c6ae98196e
" } } } ] }
CA 인증서를 만들 때 등록 구성에서 프로비전 역할을 참조할 수 있습니다. 프로비전 역할의 신뢰 정책을 사용하여 aws:SourceArn
역할이 위임할 수 있는 리소스를 제한할 수 있습니다. 그러나 CA 인증서를 등록하기 위한 초기 R egisterCACertificate 호출 중에는 aws:SourceArn
조건에 CA 인증서를 지정할 수 없습니다. ARN
이 문제를 해결하려면 (예: 등록된 특정 CA 인증서에 프로비저닝 역할 신뢰 정책을 지정하려는 경우) AWS IoT Core다음과 같은 작업을 수행할 수 있습니다.
-
먼저
RegistrationConfig
파라미터를 제공하지 egisterCACertificate 않고 R을 호출합니다. -
CA 인증서를 등록한 후 AWS IoT Core전화로 pdateCACertificate문의하세요.
U pdateCACertificate 콜에서 새로 등록된 CA 인증서에
aws:SourceArn
설정된 프로비저닝 역할 신뢰 정책이RegistrationConfig
포함된 a를 제공하십시오. ARN
보안 인증 제공업체
의 경우AWS IoT Core
자격 증명 공급자, 같은 것을 사용하세요. AWS 계정 에서 aws:SourceAccount
역할 별칭을 생성하고 rolealias 리소스 ARN 유형의 리소스와 일치하는 명령문을 지정하는 데 사용합니다. aws:SourceArn
에서 사용할 역할을 IAM 만드는 경우 AWS IoT Core 자격 증명 공급자의 경우 역할을 맡아야 할 수 있는 역할 별칭을 aws:SourceArn
조건에 포함시켜 서비스 간 요청을 승인해야 합니다. ARNs sts:AssumeRole
다음과 같은 신뢰 정책이 적용되는 역할은 다음의 보안 담당자만 맡을 수 있습니다. AWS IoT Core 에서 roleAlias 지정한 자격 증명 공급자 (credentials.iot.amazonaws.com
). SourceArn
주체가 aws:SourceArn
조건에 지정된 것과 다른 역할 별칭에 대한 자격 증명을 검색하려고 시도하면 다른 역할 별칭이 동일한 역할을 참조하더라도 요청이 거부됩니다. IAM
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
123456789012
" }, "ArnLike": { "aws:SourceArn": "arn:aws
:iot:us-east-1
:123456789012
:rolealias/example_rolealias
" } } } ] }