투케이2K

150. (Aws/Amazon) [Aws Iot Core] Aws Iot Core 특정 사물 인증서에 부여 된 정책 목록 확인 ListPrincipalPolicies API 설명 본문

Aws (Amazon)

150. (Aws/Amazon) [Aws Iot Core] Aws Iot Core 특정 사물 인증서에 부여 된 정책 목록 확인 ListPrincipalPolicies API 설명

투케이2K 2025. 12. 8. 21:32
728x90

[개발 환경 설정]

개발 환경 : Aws / Amazon Web Services

 

[설명 정리]

// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------

- 인프라 : Aws / Amazon Web Services


- 기술 구분 : Aws / Aws Iot Core


- 사전) Aws Iot Core 간단 설명 : 

  >> AWS IoT 는 IoT 디바이스를 다른 디바이스 및 AWS 클라우드 서비스에 연결하는 클라우드 서비스를 제공합니다.

  >> 디바이스가에 연결할 수 있는 경우 AWS IoT는 AWS 가 제공하는 클라우드 서비스에 디바이스를 AWS IoT 연결할 수 있습니다.

  >> AWS IoT Core 메시지 브로커는 MQTT 및 MQTT over WSS 프로토콜을 사용하여 메시지를 게시하고 구독하는 디바이스 및 클라이언트를 지원합니다. 
  
    - HTTPS 프로토콜을 사용하여 메시지를 게시하는 디바이스와 클라이언트도 지원합니다.

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------

1. AWS IoT ListPrincipalPolicies 는 “주어진 principal 인증서에 붙어있는 (attach된) 정책(policies)” 목록을 반환하는 API 입니다

  >> AWS 사이트 : https://docs.aws.amazon.com/iot/latest/apireference/API_ListPrincipalPolicies.html


2. AWS IoT ListPrincipalPolicies API 요청 형식 및 주요 매개변수

  >> GET /principal-policies?isAscendingOrder=ascendingOrder&marker=marker&pageSize=pageSize HTTP/1.1

  >> principal : 정책 연결을 확인할 주체 (필수) 

  >> isAscendingOrder (또는 ascendingOrder) : 결과 정렬 순서. true 면 정책 생성 시점 기준 오름차순

  >> marker : 페이징을 위한 토큰 (다음 결과 세트를 요청할 때 사용) 

  >> pageSize : 한 번에 반환할 최대 정책 개수. 최소 1, 최대 250


3. AWS IoT ListPrincipalPolicies 응답 본문 예시 구문 

  HTTP/1.1 200
  Content-type: application/json

  {
     "nextMarker": "string",
     "policies": [ 
        { 
           "policyArn": "string",
           "policyName": "string"
        }
     ]
  }

  >> policies 배열은 지정된 principal에 붙은 정책들을 나타냅니다

  >> nextMarker 는 다음 페이지를 요청할 때 사용할 토큰이 담깁니다


4. AWS IoT ListPrincipalPolicies 이 사용 주요 사항

  >> Deprecated됨 — 현재는 권장되지 않음

    - ListPrincipalPolicies 동작은 deprecated 되었, 대신 ListAttachedPolicies API 를 사용하라는 안내가 있습니다


5. AWS IoT ListPrincipalPolicies 사용 예시 코드 (자바스크립트)

<script src="https://code.jquery.com/jquery-latest.min.js"></script>
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1416.0.min.js"></script>


const region = 'ap-northeast-2'; // [AWS 리전]
const accessKeyId = 'AK..A6'; // [IAM 액세스 키]
const secretAccessKey = 'mP..5J'; // [IAM 시크릿 키]


// -----------------------------------------
// [AWS.config 지정]
// -----------------------------------------
// IAM 계정 정보를 사용해 AWS.config 정보 업데이트 수행
// -----------------------------------------            
AWS.config.update({
  region: region,
  accessKeyId: accessKeyId,
  secretAccessKey: secretAccessKey
});


// -----------------------------------------
// [AWS.Iot 객체 생성]
// -----------------------------------------
const iot = new AWS.Iot();


// -----------------------------------------
// [요청 파라미터 생성]
// -----------------------------------------
const params = {
    principal: "인증서 ARN 정보"
};


// -----------------------------------------
// [ListPrincipalPolicies] : Aws Iot Core 에 생성 된 특정 IoT Thing 인증서에 매핑 된 정책 정보 확인
// -----------------------------------------
// AWS 참고 사이트 : https://docs.aws.amazon.com/iot/latest/apireference/API_ListPrincipalPolicies.html
// -----------------------------------------
iot.listPrincipalPolicies( params , function(err, data) { 
  if (err) {
    console.error("[listPrincipalPolicies] : [Error] : ", err);

  } else {
    console.log("[listPrincipalPolicies] : [Success] : ", JSON.stringify(data));
    
  }
});

// --------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[AWS 사이트 : ListPrincipalPolicies]

https://docs.aws.amazon.com/iot/latest/apireference/API_ListPrincipalPolicies.html


[자바스크립트 AWS Iot Core 특정 IoT Thing 에 매핑된 정책 (Policy) 정보 확인 - ListPrincipalPolicies]

https://kkh0977.tistory.com/8371

https://blog.naver.com/kkh0977/224061787533


[자바스크립트 AWS Iot Core 에 생성 된 Thing Info 사물 정보 조회 - DescribeThing]

https://blog.naver.com/kkh0977/224068807852


[자바스크립트 AWS Iot Core 특정 IoT Thing 에 생성 된 특정 정책 (Policy) 의 정보 조회 - getPolicy]

https://blog.naver.com/kkh0977/224061809820

// --------------------------------------------------------------------------------------
 
728x90
반응형
Comments