メインコンテンツまでスキップ

SubUser に bucket 単位のアクセス権を付与する

Bucket Policy を使用すると、各 SubUser に必要な bucket へのアクセス権だけを付与できます。SubUser のロールはアカウント内のすべての bucket に適用されるため、この方法が必要になります。たとえば、Read ロールを持つ SubUser は、すべての bucket を読み取れます。

例として、bucket-1、bucket-2、bucket-3 の 3 つの bucket があり、3 人の SubUser にそれぞれ 1 つの bucket だけへのアクセスを許可する場合を考えます。

前提条件​

  • HCM-04 以外の cluster で Object Storage が有効になっている FPT Cloud アカウント。HCM-04 では、代わりに IAM User を使用してください。
  • 同じ Region に作成された bucket。

アクセス権を付与する​

  1. デフォルトでどの bucket にもアクセスできないように、各 SubUser を None ロールで作成します。詳しくは、SubUser を管理するを参照してください。

  2. 各 bucket に、SubUser がその bucket を使用できるようにする Bucket Policy を追加します。詳しくは、Bucket Policy を設定するを参照してください。

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Principal": {
    "AWS": ["arn:aws:iam::SUBUSER_ACCOUNT_ID:user/SUBUSER_NAME"]
    },
    "Action": "s3:*",
    "Resource": [
    "arn:aws:s3:::YOUR_BUCKET_NAME",
    "arn:aws:s3:::YOUR_BUCKET_NAME/*"
    ]
    }
    ]
    }
    フィールド意味
    Versionポリシー言語のバージョン。通常は 2012-10-17 です。
    EffectAllow または Deny。
    Principalアクセス権を付与する SubUser。SUBUSER_ACCOUNT_ID と SUBUSER_NAME を SubUser の情報に置き換えます。
    Action許可する操作。s3:* はすべての操作を許可します。権限を絞る場合は、s3:GetObject などの個別の操作を列挙します。
    Resource対象の bucket と、その中のすべての object。
  3. 各 SubUser の Access Key を作成し、その SubUser を使用するユーザーまたはアプリケーションに渡します。

これで、各 SubUser は、自身が Principal として指定されたポリシーを持つ bucket にのみアクセスできます。