public grantAthenaResultsBucketPermission()

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));
      }
      
  
    }
  }