mc ilm tier update
在 RELEASE.2022-12-24T15-21-38Z 版本发生变更: mc ilm tier update 取代了 mc admin tier edit .
描述
mc ilm tier update 命令用于修改现有的配置远程层。
Use mc admin on MinIO Deployments Only
MinIO 不支持与其他声称与 MinIO 部署兼容
的 S3 兼容服务一起使用 mc admin
命令。
支持的 S3 服务
mc ilm tier 命令 只 支持以下 S3 兼容服务作为对象分层的远程目标:
- MinIO 
- Amazon S3 
- Google Cloud Storage 
- Azure Blob Storage 
所需权限
MinIO 需要以下权限,这些权限范围是你正在创建生命周期管理 规则的桶或桶。
MinIO 还需要在创建对象转换的生命周期管理规则的远程层时,在集群上拥有以下管理权限:
例如,下面的策略允许对集群中任何存储桶配置对象转换的生命周期管理规则:.
{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Action": [
               "admin:SetTier",
               "admin:ListTier"
            ],
            "Effect": "Allow",
            "Sid": "EnableRemoteTierManagement"
      },
      {
            "Action": [
               "s3:PutLifecycleConfiguration",
               "s3:GetLifecycleConfiguration"
            ],
            "Resource": [
                        "arn:aws:s3:::*"
            ],
            "Effect": "Allow",
            "Sid": "EnableLifecycleManagementRules"
      }
   ]
}
转换权限
对象过渡生命周期管理规则需要在远程存储层上拥有 额外的权限。具体来说,MinIO 要求远程层 凭据提供读取、写入、列表和删除权限。
例如,如果远程存储层实现了 AWS IAM 策略基础的访问控制, 以下策略为对象过渡到远程层和从中过渡 提供了必要的权限:
{
   "Version": "2012-10-17",
   "Statement": [
      {
            "Action": [
               "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::MyDestinationBucket"
            ],
            "Sid": ""
      },
      {
            "Action": [
               "s3:GetObject",
               "s3:PutObject",
               "s3:DeleteObject"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::MyDestinationBucket/*"
            ],
            "Sid": ""
      }
   ]
}
修改MinIO将对象分层到的存储桶的 Resource 。
对于配置用户和权限以支持 MinIO 分层的更完整信息, 请参考支持的分层目标文档。
语法
以下示例更新了名为 S3TIER 的现有远程层在 myminio 部署中的凭据。
 mc ilm tier update myminio S3TIER --access-key ACCESS_KEY --secret-key SECRET_KEY
在运行此命令后, myminio 部署上的生命周期管理规则将使用层的的新凭据来将对象过渡到远程位置。
在命令中未修改的选项保持其现有的配置。
该命令具有以下语法:
         mc ilm tier update TARGET                         \
                   TIER_NAME                      \
                   [--account-key value]          \
                   [--access-key value]           \
                   [--az-sp-tenant-id value]      \
                   [--az-sp-client-id value]      \
                   [--az-sp-client-secret value]  \
                   [--secret-key value]           \
                   [--use-aws-role]               \
                   [--credentials-file value]
- 方括号 - []表示可选参数。
- 参数在同一行表示它们是相互依赖的。 
- 使用管道 - |运算符分隔的参数是相互排斥的。
在终端/壳中运行命令之前,将示例复制到文本编辑器中并按需进行修改。
参数
该命令接受以下参数:
- TARGET
- Required设置 MinIO 部署的 alias。
- TIER_NAME
- Required命令修改的远程层的名称。 值对应于创建远程层时指定的 mc ilm tier add TIER_NAME。
- --access-key
- Optional远程 S3 或 MinIO 层上的用户的访问密钥。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。 此选项仅适用于具有 TIER_TYPE设置为s3或minio的远程存储层。 对于任何其他TIER_TYPE,此选项均无效。
- --secret-key
- Optional远程 s3或minio层上用户的密钥。此选项仅适用于具有 TIER_TYPE设置为s3或minio的远程存储层。 对于任何其他TIER_TYPE,此选项均无效。
- --use-aws-role
- Optional使用本地配置的 AWS Role 的访问权限。 此选项仅当 TIER_TYPE为s3或minio时适用。 对于TIER_TYPE的任何其他值,此选项均无效。
- --account-key
- Optional远程 Azure 层上用户的账户密钥。 对于 Azure 层类型是 必需的。 使用此选项来旋转与远程层关联的 --account-name的凭据。- 此选项仅适用于 TIER_TYPE为azure的远程存储层。
- 该选项对任何其他类型的登录都无效。 
 
- 此选项仅适用于 
- --az-sp-tenant-id
- Optional在 mc 版本加入: RELEASE.2024-07-03T20-17-25Z Azure 服务主账户的目录 ID。 此选项仅适用于 TIER_TYPE为azure的远程存储层。 该选项对任何其他类型的登录都无效。
- --az-sp-client-id
- Optional在 mc 版本加入: RELEASE.2024-07-03T20-17-25Z Azure 服务主账户的客户端 ID。 此选项仅适用于 TIER_TYPE为azure的远程存储层。 该选项对任何其他类型的登录都无效。
- --az-sp-client-secret
- Optional在 mc 版本加入: RELEASE.2024-07-03T20-17-25Z Azure 服务主账户的密文。 此选项仅适用于 TIER_TYPE为azure的远程存储层。 该选项对任何其他类型的登录都无效。
- --credentials-file
- Optional对于 Google Cloud Storage 层类型是 必需的。 远程 GCS 层上用户的凭据文件。 用户必须有权限对远程桶或桶前缀执行读取/写入/列表/删除操作。 此选项仅适用于 TIER_TYPE为gcs的远程存储层。 该选项对任何其他类型的登录都无效。
全局标记
此命令支持任何 全局标志。
示例
轮换 S3 远程层的凭证
以下示例更新了名为 S3TIER 的 S3 远程层在 myminio 部署中的凭据。
mc ilm tier update myminio S3TIER --access-key ACCESS_KEY --secret-key SECRET_KEY
- 将 - S3TIER替换为您的亚马逊简单存储解决方案层的名称。
- 将 - ACCESS_KEY替换为您 S3 存储的新访问密钥。
- 将 - SECRET_KEY替换为您提供的访问密钥的新密钥。
轮换 Azure Blob 存储远程层的凭据
以下示例更新了名为 AXTIER 的 Azure 远程层在 myminio 部署中的凭据。
mc ilm tier update myminio AZTIER --account-key ACCOUNT-KEY
- 将 - AZTIER替换为您自己的 Azure 层名称。
- 将 - ACCOUNT-KEY替换为您 Azure 存储的新密钥。
轮换 Google Cloud Storage 远程层的凭据
以下示例更新了名为 GCSTIER 的 Google Cloud Storage 远程层在 myminio 部署中的凭据。
 mc ilm tier update myminio GCSTIER --credentials-file /path/to/credentials.json
- 将 - GCSTIER替换为您 Google Cloud Storage 层的名称。
- 将 - /path/to/credentials.json替换为您要访问远程存储时使用的更新凭据文件的路径。
S3兼容性
mc 命令行工具是为了与 AWS S3 API 兼容而构建的,并且已经过测试, 以确保在与 MinIO 和 AWS S3 配合使用时,功能和行为符合预期。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是 未知的,因此不受支持。尽管 mc 命令 可能 如文档中所 述工作,但任何此类使用都是您自己的风险。
所需权限
要修改层所需的权限,请参阅父命令的 所需权限。
