IAM 사용자의 'Access Key' 'chime SDK' 사용이 안됩니다.

0

안녕하세요 'Gosu'님들.. 영어를 할 줄 몰라서 번역기에 의존하고 있음에 양해의 말씀을 전합니다. 그리고 답변을 주시게 될 'Gosu'님께 미리 감사드립니다.

저는 node.js 서버에서 Chime SDK를 사용하여 Meeting에 대해 다루고 싶어 AWS root 계정 A에 접속하여 IAM에서 'User'를 생성하고 'Access Key'를 생성하고 "chime:GetMeeting"을 사용하기 위해 'Policy'의 'AmazonChimeSDK'를 추가해주었습니다. 그리고 node.js 서버 파일에서 "aws-sdk"을 require하고 'Access Key'를 사용하여 chime 기능에 접근하였습니다. 그래서 작업을 진행하며 기능들을 테스트하였고, 정상적인 동작을 하는 것을 확인하였습니다. 아래 코드는 제가 node.js에서 테스트하는 코드의 예시입니다.

const AWS = require("aws-sdk");
const accessKeyId = "ABCDEFG...";
const secretAccessKey = "SOS/SOME_BODY_HELP_ME...";
AWS.config.credentials = new AWS.Credentials(accessKeyId, secretAccessKey, null);
const chime = new AWS.ChimeSDKMeetings({ region: "us-east-1" });
chime.endpoint = new AWS.Endpoint("https://service.chime.aws.amazon.com");
const main = async () => {
	const meetingId = "0a3be860-85d1-4b49-96ed-c3248d5c0705";
	const get = await chime.getMeeting({ MeetingId: meetingId }).promise();
	console.log(get);
};
main();

chime.getMeeting() 을 실행했을 때 해당 meeting이 존재하지 않으면 "NotFound: Meeting <0a3be860-85d1-4b49-96ed-c3248d5c0705> not found" 라는 오류가 발생합니다.

이제 이 기능들을 그대로 AWS의 다른 root 계정 B에서 동작하도록 만들고 싶습니다. 그래서 저는 B 에서 'User'생성, 'Access Key'를 생성, 'AmazonChimeSDK' 정책 추가를 하였고 위 코드에서 변경된 부분은 accessKeyId, secretAccessKey 이 두가지뿐입니다.

하지만 B 에서는 "Forbidden: Not authorized to call Chime SDK with Account Id 012345678910" 이런 오류가 발생합니다. A는 B가 관리자인 'Organizations'에 속해있지만 제가 보기엔 Organizations에 의해 제한되는 설정은 없는 것 같고, Organizations의 관리자가 A도 아니고 B인데 A는 실행되고 B는 안된다는것도 이상하고 B에 무언가 다른 제약이 걸려있어 그런건가 싶어서 Organizations도 없는 AWS root 계정C, D에서도 시도해보았으나 같은 오류가 발생합니다. 어떻게 해결하는지도, 이 오류가 왜 발생하는지도 저는 알수가 없습니다. 'Access Key'의 입력이 잘못되었다면 "InvalidSignatureException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.", getMeeting에 대한 정책 권한이 없으면 "Forbidden: AWS authorization failed" 오류가 뜨는 것을 계정 A로 확인했습니다.

support case에 문의는 드리고 있지만 몇주째 해결이 안되고있습니다... 😢

질문됨 7달 전211회 조회
1개 답변
0

Amazon Chime의 GetMeeting API는 더 이상 지원되지 않습니다.

[+] Amazon Chime - GetMeeting

https://docs.aws.amazon.com/chime/latest/APIReference/API_GetMeeting.html

 

Amazon Chime SDK가 처음 출시되었을 때 Amazon Chime 애플리케이션과 엔드포인트를 공유했었지만 현재는 하위 서비스별 전용 엔드포인트를 제공하고 있습니다.

[+] Migrating from the Amazon Chime namespace

https://docs.aws.amazon.com/chime-sdk/latest/dg/migrate-from-chm-namespace.html

 

문의 내용의 코드를 보면, Amazon Chime SDK 미팅을 위한 네임스페이스가 아닌 Amazon Chime 네임 스페이스를 사용하신 것으로 보입니다.

 

따라서 아래 링크를 참고하시어 네임스페이스를 Amazon Chime SDK 네임스페이스로 마이그레이션 하시고, GetMeeting API를 호출할 필요가 있습니다.

[+] Migrating to the Amazon Chime SDK Meetings namespace

https://docs.aws.amazon.com/chime-sdk/latest/dg/meeting-namespace-migration.html

[+] Amazon Chime SDK - GetMeeting

https://docs.aws.amazon.com/chime-sdk/latest/APIReference/API_meeting-chime_GetMeeting.html

profile pictureAWS
지원 엔지니어
답변함 7달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인