【问题标题】:Using swift style access with rclone and non-classic OCI object storage通过 rclone 和非经典 OCI 对象存储使用 swift 样式访问
【发布时间】:2020-10-12 06:04:21
【问题描述】:

任何人都可以评论是否可以使用 rclone 的快速支持来访问 OCI 对象存储中的存储桶(新 OCI,而不是经典)。

我对此很感兴趣,因为 S3 兼容模式仅限于一个指定的隔间,我希望能够将 rclone 与我租户中的任何存储桶一起使用。

我知道对于公共存储桶,仍然有一个 swift 样式的 URL。 3 种功能性 URL 样式似乎是:

  • 本机:https://objectstorage.{region}.oraclecloud.com/n/{object-storage-namespace}/b/{bucket}/o/{filename}
  • Swift:https://swiftobjectstorage.{region}.oraclecloud.com/v1/{object-storage-namespace}/{bucket}/{filename}
  • S3:https://{object-storage-namespace}.compat.objectstorage..oraclecloud.com/{bucket}/{filename}

https://docs.cloud.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm 稍微介绍一下 Swift 密码(Auth Tokens),您可以在控制台中创建一个。

但我找不到关于非经典版本对象存储的 auth URL 的任何信息。带有 auth_token 的 storage_url 似乎也不起作用。

使用 -vvvv 只显示 401 Unauthorized。

【问题讨论】:

    标签: oracle-cloud-infrastructure rclone


    【解决方案1】:

    我对此很感兴趣,因为 S3 兼容模式仅限于一个指定的隔间,我希望能够将 rclone 与我租户中的任何存储桶一起使用。

    指定的隔间仅控制通过该协议(S3 或 Swift)创建的存储桶的放置位置。指定的隔间不影响授权。授权由相关的 IAM 政策控制。

    但我找不到任何关于非经典版本对象存储的身份验证 URL 的信息。带有 auth_token 的 storage_url 似乎也不起作用。

    新的/当前的 OCI 对象存储不支持身份验证 URL。您必须在 OCI 上将 HTTP 基本样式的身份验证与 Swift 一起使用。 rclone 似乎不直接支持 swift 的 HTTP 基本身份验证(可以自己创建基本身份验证头并让 rclone 发送)。

    综上所述,使用 rclone 和 s3 是 OCI 对象存储的最佳方法。确保您将“区域”选项设置为正确的区域名称,例如“us-phoenix-1”,这样就可以了。

    谢谢!

    【讨论】:

    • 谢谢!我没有意识到限制只是关于存储桶的创建,而 Swift API 访问与基于 S3 的访问具有相同的限制。
    • 我能够欺骗 rclone 使用 Swift 和 OCI 对象存储。您可以设置一个垃圾 auth_token 值,这样 rclone 就不会尝试与 Swift 身份验证服务器通信,并设置一个包含您的 HTTP 基本身份验证用户名和密码(令牌)的 storage_url。我在blog.osdev.org/oci/2020/10/15/… 上记录了它,但你是对的,使用 S3 真的更容易。
    猜你喜欢
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多