GDAL with NetCDF and earthaccess

import numpy as np
from osgeo import gdal
gdal.UseExceptions()
def configure_auth():
    import earthaccess

    auth = earthaccess.login()
    s3_credentials = auth.get_s3_credentials("PODAAC")
    gdal.SetConfigOption("AWS_REGION", "us-west-2")
    gdal.SetConfigOption("AWS_SECRET_ACCESS_KEY", s3_credentials["secretAccessKey"])
    gdal.SetConfigOption("AWS_ACCESS_KEY_ID", s3_credentials["accessKeyId"])
    gdal.SetConfigOption("AWS_SESSION_TOKEN", s3_credentials["sessionToken"])
def load_data():
    bucket = "podaac-ops-cumulus-protected"
    input_uri = "MUR-JPL-L4-GLOB-v4.1/20020601090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc"
    src = f"NETCDF:/vsis3/{bucket}/{input_uri}:analysed_sst"
    ds = gdal.Open(src)
    band = ds.GetRasterBand(1)
    arr = band.ReadAsArray().astype("float32", casting="unsafe")
    mask = band.GetMaskBand().ReadAsArray()
    ma = np.ma.masked_array(arr, np.logical_not(mask), fill_value=np.nan)
    np.multiply(ma, band.GetScale(), out=ma, casting="unsafe")
    np.add(ma, band.GetOffset(), out=ma, casting="unsafe")
    return ma.filled(fill_value=np.nan)
if __name__ == "__main__":
    configure_auth()
    da = load_data()