노드 SDK가있는 노드 j에서 내 새로운 버킷 (aws 콘솔을 통해 생성)에 액세스 할 때 문제가 발생했습니다. 단계 나는Amazon S3 - nodejs SDK에서 버킷에 액세스
- 그래서 난 지금 루트 사용자
- 만든 가 S3에 가서 SDK에 대한 새로운 접근 키가 AWS 계정을 생성 (내가 뭔가를 놓친 경우 도와주세요) 만들어 새로운 버킷을 생성 withhin 콘솔
- nodejs에서 나는이 물통에 무언가를 올려 놓으려고하지만 나는 더 이상의 설명이없는 '접근 거부'를 계속하고있다.
버킷과 함께 다른 영역을 시도하고 새로운 액세스 키를 생성하고 테스트 버킷 중 하나를 사용하여 모두에게 모든 기능을 사용할 수 있도록 버킷에 대한 더 낮은 권한을 설정하려고했지만 여전히 오류.
코드 비트 : 내가 놓친 거지 모르는
class SomeNodeService {
constructor() {
this.s3 = new S3({
params: {
Bucket: 'some.bucket.which.name.is.unique',
accessKeyId: 'SOMEID',
secretAccessKey: 'SOMEID'
}
});
}
uploadAttachment(attachment) {
const _this = this;
return co(function *() {
const file = yield _readFile(attachment.path, 'utf8');
const key = `${KEY_PREFIX}attachment/${Date.now()}/${attachment.name}`;
const params = {
Key: key,
Body: file
};
return yield _this.s3.putObject(params).promise();
});
}
}
: S @filipebarretto 당으로
나는 새 사용자를 생성하고, 그 새로운 액세스 토큰을 생성 사용자 또한 AmazonS3FullAccess를 제공했습니다. 또한 그룹 이름 'sysadmin'을 만들고 그룹 자체에 AmazonS3FullAccess 권한을 제공 했으므로 그룹에 사용자를 할당하면 사용자에게 권한을 부여하게됩니다. 그래서 모든 나는
1) 새 그룹 SYSADM 2) 부여 그룹 권한을 만듭니다 무슨 짓을했는지 모두 "AmazonS3FullAccess"3) 새로운 사용자 XY를 작성하고 여전히 XY 사용자에 대한
하지만이 그룹 SYSADM 4) 다시 액세스 토큰에 가입 액세스가 거부 얻을 :/
사용중인 자격 증명이 루트 사용자와 연결되어 있습니까? 아니면 다른 권한을 가진 다른 사용자입니까? – filipebarretto
사용자를 생성하고 S3 IAM 역할을 제공했지만 AWS에 익숙하지는 않지만 액세스 토큰은 모든 후속 사용자가 아닌 루트 계정/루트 사용자에게만 바인딩되어있는 것처럼 보입니다. –
질문에 입력 한 정책을 추가해주십시오. 사용자를 만들 때 해당 사용자의 자격 증명을 만들 수 있습니다. 계정 루트에 자격 증명이 없어야합니다. – filipebarretto