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

Object Storage の IAM User と IAM Role の管理

IAM UserIAM Role は FPT Object Storage の ID モデルで、AWS IAM と同様に JSON ポリシーで S3 権限をきめ細かく設定できます。各 IAM User には固有の名前とポリシーがあり、そのポリシーで許可された範囲でのみ使える access key を最大 2 個保持できます。

注記

IAM User と IAM Role は HCM-04 クラスタ上のバケットのみ対象です。それ以外のクラスタでは、限定的なバケットアクセス共有に引き続き SubUser を使用してください — SubUser の管理 を参照。

IAM User と Access Key、SubUser の違い

FPT Object Storage には S3 の credential を発行する場所が 3 つあります。それぞれ 互換性はありません — キーを共有する前に、どれを使っているか必ず確認してください。

Access Key タブ(旧)IAM User > Access KeySubUser
対象クラスタ全クラスタHCM-04 のみHCM-04 以外の全クラスタ
権限の範囲アカウントへの管理者権限IAM Policy で許可した範囲のみバケットごとの Read / Write / Read-Write / Full
キー上限5 key / region2 key / IAM User2 key / SubUser

限定的なバケットアクセス共有だけが目的で、Project が HCM-04 を使用していない場合は SubUser の方が簡単です。アプリケーションごとに S3 ポリシーレベルで細かく制御したい場合は IAM User を使用します。

IAM User の一覧を表示する

Step 1: Object Storage Management メニューから Project を選択し、IAM User タブを開きます。

注記

IAM User タブは、Project で HCM-04 上の Object Storage が有効になっている場合のみ表示されます。表示されない場合、その Project は HCM-04 を使用していません。

Step 2: タブはデフォルトで IAM Users ビューを表示します。ページ上部の切り替えで IAM Roles ビューに切り替えられます。

Step 3: 検索ボックスで IAM User を名前で検索できます。


IAM User を作成する

Step 1: IAM Users ビューで Create IAM User をクリックします。

Step 2: IAM User Name を入力します。

  • 1〜64 文字。
  • 使用可能な文字: 英数字と + = , . @ _ -
  • account 内で一意である必要があります(大文字・小文字は区別しません)。

Step 3: Create をクリックします。

注記

作成直後の IAM User には 権限も access key もありません。S3 を呼び出せるようにするには、この後の 2 つの手順で IAM Policy を設定し、access key を発行してください。


IAM User にポリシーを設定する

ポリシーを設定するまで、IAM User はどの S3 リソースにもアクセスできません。IAM User が持てるポリシーは 1 つのみで、保存すると既存のポリシーが完全に置き換わります

Step 1: IAM User の詳細ページを開き、IAM Policy タブを選択します。

Step 2: Create IAM Policy をクリックします。エディタにはサンプルテンプレートが読み込まれます。例として、特定のバケットへの読み書き権限を許可する場合:

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowReadWriteOneBucket",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME",
"arn:aws:s3:::YOUR-BUCKET-NAME/*"
]
}
]
}

Step 3: Resource の値を自分のバケットに書き換え、Save をクリックします。

Step 4: 変更を確定します。ダイアログには、保存するとポリシー全体が置き換わり、この IAM User の既存のすべての access key に即座に反映される旨が表示されます。

警告
  • ポリシーの Resource は自分の account 内のバケットである必要があります。account 外のリソースは常に拒否されます。
  • ワイルドカード * を含め、ID 管理権限(iam:*)は付与できません。
  • s3:PutBucketPolicys3:PutBucketAcls3:PutObjectAcl はこのポリシーでは付与できません — これは常に強制されるガードレールです。
  • 必要な action が想定どおりに動作しない場合、現在のクラスタでまだサポートされていない可能性があります。詳しい調査の前に FPT Cloud サポートへ確認してください。

IAM User の権限をすべて削除するには、IAM Policy タブで Delete Policy をクリックします。user 自体は残りますが、保持しているすべての access key が即座に S3 へのアクセス権を失います。


IAM User の access key を発行する

Step 1: IAM User の詳細ページを開き、Access Key タブを選択します。

Step 2: Generate Key をクリックします。IAM User ごとに同時に保持できる access key は最大 2 個です。

Step 3: Access KeySecret Key が発行されます。両方をすぐにコピーして保存してください — Secret Key は一度しか表示されず、後から再表示することはできません。

Step 4: I've saved the secret key をクリックしてパネルを閉じます。

警告

Secret Key をコピーする前にパネルを閉じると、key 自体は作成済みのままですが secret は完全に失われ、復元できません。復旧するにはその key を削除し、新しく発行し直すしかありません。

発行した key は HCM-04 の S3 エンドポイントに対してすぐ使用できますが、IAM User にポリシーが設定されていない場合、その key を使ったリクエストはすべて拒否されます。


access key を削除(失効)する

Step 1: IAM User の Access Key タブで削除する key を見つけ、行メニューから Delete を選択します。

Step 2: 確認のため delete と入力し、Delete をクリックします。

警告

削除は即座かつ永続的です — 猶予期間はなく、元に戻すこともできません。アプリケーションで引き続き S3 アクセスが必要な場合は、先に代替の key を発行してアプリケーションを更新してから、古い key を削除してください。


IAM User を削除する

Step 1: IAM Users 一覧で行メニューから Delete を選択するか、user の詳細ページの Danger Zone セクションで Delete IAM User を使用します。

Step 2: 確認のため delete と入力し、Delete をクリックします。system は user を削除する前に、すべての access key を失効させ、ポリシーを削除します。

警告
  • system は削除前にバケットポリシー内のこの IAM User への参照をスキャンしません。バケットポリシーでこの user を Principal として指定している場合、そのステートメントは削除後に黙って一致しなくなります — 自分でバケットポリシーを確認・整理してください。
  • IAM User の名前は再利用できます。削除した user と同じ名前で新しい IAM User を作成すると、その名前を参照している古いバケットポリシーのステートメントが新しい user に再び一致し、意図せず古い権限が付与される場合があります。名前を再利用する前にバケットポリシーを整理してください。
  • IAM User の削除はバケットやデータには影響しません — バケットは account に属し、ID とは独立しています。

IAM Role

警告

このバージョンでは IAM Role の作成・設定はできますが、portal にはそのロールを実際に使って有効な credential を取得する手段(assume role の操作や一時的な credential の発行フロー)がまだありません。現時点では、ロールの用途はバケットポリシーで参照する Principal(ARN のコピー)としてのみで、ロール自体がどの IAM User にも有効な S3 アクセス権を与えることはありません。この機能は今後のバージョンで追加される予定です。

IAM Role は共有の権限セットを表し、そのロールを使用できる IAM User のリストを持ちます。これにより、各 user に同じポリシーを個別にコピーする必要がなくなります。

Step 1: IAM User タブで IAM Roles ビューに切り替え、Create Role をクリックします。

Step 2: Role Name(文字のルールは IAM User 名と同じ)を入力し、必要に応じてこのロールを使用できる IAM Users を選択します。

Step 3: Create をクリックします。

Step 4: ロールの詳細ページで Role Policy タブを開き、JSON ポリシーを設定します。形式とガードレールは上記の IAM User のポリシーと同じですが、このロールを使用するすべての IAM User に適用される点が異なります。

Step 5: ロールを使用できる IAM User を変更するには、Detail タブの IAM Users カードで Edit IAM Users をクリックします。保存すると、以前のリストは完全に置き換わります

Step 6: ロールを削除するには、詳細ページの Danger Zone セクションで Delete IAM Role を使用し、確認のため delete と入力します。この操作でロールのポリシーと信頼関係が削除されますが、そのロールを使用できていた IAM User 自体は削除されません

警告

IAM User の削除と同様、ロールの削除でもバケットポリシー内の参照はスキャンされません — ロールの ARN を Principal として指定しているバケットポリシーは自分で整理してください。