in lib/stacks/datalake-stack.ts [33:57]
public grantAthenaResultsBucketPermission(principal: iam.IPrincipal) {
if (principal instanceof iam.Role) {
this.AthenaResultsBucketAccessPolicy.attachToRole(principal);
return;
}
if (principal instanceof iam.User) {
this.AthenaResultsBucketAccessPolicy.attachToUser(principal);
return;
}
if (principal instanceof iam.ArnPrincipal) {
if(principal.arn.includes(":role/")){
this.AthenaResultsBucketAccessPolicy.attachToRole(iam.Role.fromRoleArn(this,'importedRole',principal.arn));
}
if(principal.arn.includes(":user/")){
this.AthenaResultsBucketAccessPolicy.attachToUser(iam.User.fromUserArn(this,'importedUser',principal.arn));
}
}
}