すべてのプロダクト
Search
ドキュメントセンター

Container Registry:カスタム OSS バケットの RAM アクセス制御

最終更新日:Jun 23, 2026

このトピックでは、Container Registry でカスタム OSS バケットを使用する際に RAM アクセス制御を設定する方法について説明します。

背景情報

  • デフォルト OSS バケット

    Container Registry が提供するデフォルト OSS バケットを使用する場合、Container Registry にクラウドリソースへのアクセスを認可する必要があります。Container Registry は OSS バケットを作成し、インスタンスを初期化します。

  • カスタム OSS バケット

    カスタム OSS バケットを使用する場合、Alibaba Cloud アカウントに RAM ロールを作成し、このロールにバケットへのアクセスに必要な権限を付与する必要があります。これにより、Container Registry がバケットにアクセスできるようになります。

ステップ1:RAM ロールの作成

Container Registry がカスタム OSS バケットにアクセスできるように、Alibaba Cloud アカウントに AliyunContainerRegistryCustomizedOSSBucketRole という名前の RAM ロールを作成します。

  1. RAM 管理者として Resource Access Management (RAM) コンソール にログインします。

  2. 左側メニューで、アイデンティティ > ロール を選択します。

  3. ロール ページで、ロール作成 をクリックします。

  4. ロールの作成 ページで、クラウドサービスPrincipal Type として選択します。次に、Container Registry を選択し、OK をクリックします。

  5. ロール名 フィールドに AliyunContainerRegistryCustomizedOSSBucketRole を入力し、OK をクリックします。

ステップ2:アクセスポリシーの設定

RAM ロールにアクセスポリシーを設定し、指定した OSS バケット内のリソースへのアクセス権を付与します。アクセスポリシーの名前は AliyunContainerRegistryCustomizedOSSBucketRolePolicy とする必要があります。複数のカスタム OSS バケットにアクセスする必要がある場合は、Resource セクションに複数のバケットエントリを追加できます。


{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "oss:GetObject",
                "oss:PutObject",
                "oss:DeleteObject",
                "oss:ListParts",
                "oss:AbortMultipartUpload",
                "oss:InitiateMultipartUpload",
                "oss:CompleteMultipartUpload",
                "oss:DeleteMultipleObjects",
                "oss:ListMultipartUploads",
                "oss:ListObjects",
                "oss:DeleteObjectVersion",
                "oss:GetObjectVersion",
                "oss:ListObjectVersions",
                "oss:PutObjectTagging",
                "oss:GetObjectTagging",
                "oss:DeleteObjectTagging"
            ],
            "Resource": [
                "acs:oss:*:*:cri-*",
                "acs:oss:*:*:cri-*/*",
                "acs:oss:*:*:<YOUR_BUCKET_NAME>",  # <YOUR_BUCKET_NAME> を実際のバケット名に置き換えます。
                "acs:oss:*:*:<YOUR_BUCKET_NAME>/*" # <YOUR_BUCKET_NAME> を実際のバケット名に置き換えます。
            ],
            "Effect": "Allow",
            "Condition": {
            }
        },
        {
            "Action": [
                "oss:PutBucket",
                "oss:GetBucket",
                "oss:GetBucketLocation",
                "oss:PutBucketEncryption",
                "oss:GetBucketEncryption",
                "oss:PutBucketAcl",
                "oss:GetBucketAcl",
                "oss:PutBucketLogging",
                "oss:GetBucketReferer",
                "oss:PutBucketReferer",
                "oss:GetBucketLogging",
                "oss:PutBucketVersioning",
                "oss:GetBucketVersioning",
                "oss:GetBucketLifecycle",
                "oss:PutBucketLifecycle",
                "oss:DeleteBucketLifecycle",
                "oss:GetBucketTransferAcceleration"
            ],
            "Resource": [
                "acs:oss:*:*:cri-*",
                "acs:oss:*:*:cri-*/*",
                "acs:oss:*:*:<YOUR_BUCKET_NAME>",  # <YOUR_BUCKET_NAME> を実際のバケット名に置き換えます。
                "acs:oss:*:*:<YOUR_BUCKET_NAME>/*" # <YOUR_BUCKET_NAME> を実際のバケット名に置き換えます。
            ],
            "Effect": "Allow",
            "Condition": {
            }
        },
        {
            "Effect": "Allow",
            "Action": "oss:ListBuckets",
            "Resource": [
                "acs:oss:*:*:*",
                "acs:oss:*:*:*/*"
            ],
            "Condition": {
            }
        },
        {
            "Action": [
                "vpc:DescribeVpcs"
            ],
            "Resource": "acs:vpc:*:*:vpc/*",
            "Effect": "Allow",
            "Condition": {
            }
        },
        {
            "Action": [
                "cms:QueryMetricLast",
                "cms:QueryMetricList"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}