10.15. アイデンティティーおよびアクセス管理 (IAM) (テクノロジープレビュー)


重要

アイデンティティーおよびアクセス管理 (IAM) 機能は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、実稼働環境での Red Hat サービスレベルアグリーメント (SLA) ではサポートされておらず、機能的に完全ではない可能性があるため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。詳細は、Red Hat テクノロジープレビュー機能のサポート範囲 を参照してください。

この Ceph Object Gateway はオプション機能としてユーザーアカウントをサポートし、AWS Identity and Access Management (IAM) と同様のユーザー、グループ、およびロールのセルフサービス管理を可能にします。

アカウントの root ユーザー

各アカウントはアカウント root ユーザーによって管理されます。通常のユーザーやロールと同様に、アカウントとアカウント root ユーザーは、管理者が radosgw-admin または Admin Ops API を使用して作成する必要があります。アカウントの root ユーザーには、アカウントが所有するすべてのリソースに対するデフォルトのパーミッションがあります。root ユーザーの認証情報 (アクセスキーとシークレットキー) を Ceph Object Gateway IAM API で使用すると、Ceph Object Gateway S3 API で使用する追加の IAM ユーザーとロールを作成したり、関連するアクセスキーとポリシーを管理したりできます。

アカウントの所有者は、このアカウントの root ユーザーを管理目的にのみ使用し、特定のアプリケーションに対して権限を詳細に指定したユーザーとロールを作成することを推奨します。

注記

アカウントの root ユーザーはアカウント内のリソースにアクセスするために IAM ポリシーを必要としませんが、明示的にアクセスを拒否するポリシーを追加できます。Deny ステートメントは慎重に使用してください。

リソース所有者

通常の (アカウントを持たない) ユーザーがバケットを作成し、オブジェクトをアップロードした場合に、そのようなリソースはこのユーザーが所有することになります。関連付けられている S3 ACL では、そのユーザーが所有者と権限付与者の両方として指定され、それらのバケットは s3:ListBuckets リクエストで所有ユーザーにのみ表示されます。対照的に、ユーザーまたはロールがアカウントに属している場合、ユーザーやコールが作成するリソースはアカウントにより所有されます。関連付けられている S3 ACL では、アカウント ID が所有者および権限受領者として指定され、それらのバケットは、そのアカウント内の任意のユーザーまたはロールによって送信された s3:ListBuckets リクエストに表示されます。

リソースはユーザーではなくアカウントが所有するため、すべての使用統計とクォータの適用は、個々のユーザーではなくアカウント全体に適用されます。

アカウント IDS

アカウント識別子は、ユーザー ID またはテナント名を受け入れるいくつかの場所で使用できます。そのため、アカウント ID では、あいまいさを避けるために特別な形式が使用されます。RGW という文字列の後に 17 桁の数字が続きます (例: RGW33567154695143645)。指定されていない場合は、アカウント作成時にその形式のアカウント ID が無作為に生成されます。

アカウント ID は通常、IAM ポリシードキュメントの Amazon リソース名 (ARN) に記載されています。たとえば、arn:aws:iam::RGW33567154695143645:user/A は、そのアカウント内の A という名前の IAM ユーザーを指します。Ceph Object Gateway は、その位置でのテナント名もサポートします。アカウント ID は、CanonicalUser タイプの Grantee の ACL でも使用できます。ここではユーザー ID もサポートされています。

IAM ポリシー

アカウントのないユーザーはデフォルトでバケットの作成とオブジェクトのアップロードが許可されますが、アカウントユーザーの場合は最初は権限が割り当てられていません。IAM ユーザーが API 操作を実行する前に、操作を許可するためのポリシーを追加する必要があります。アカウントの root ユーザーは、いくつかの方法でユーザーに ID ポリシーを追加できます。iam:PutUserPolicy および iam:AttachUserPoliicy アクションを使用して、ユーザーにポリシーを直接追加します。IAM グループを作成し、iam:PutGroupPolicy および iam:AttachGroupPoliicy アクションを使用してグループポリシーを追加します。iam:AddUserToGroup アクションを使用してそのグループに追加されたユーザーは、グループのポリシーをすべて継承します。IAM ロールを作成し、iam:PutRolePolicy および iam:AttachRolePoliicy アクションを使用してロールポリシーを追加します。sts:AssumeRole および sts:AssumeRoleWithWebIdentity アクションを使用してこのロールを一時的に使用するユーザーは、ロールのすべてのポリシーを継承します。これらのアイデンティティーポリシーは、単一アカウント内でのポリシーの評価およびクロスアカウントポリシー評価ロジックのルールに従って評価されます。

プリンシパル

ポリシードキュメント内の “プリンシパル“ ARN は、ユーザーがアカウントに属している場合にユーザーを別の方法で参照します。アカウント外では、ユーザープリンシパルは、arn:aws:iam:::user/uid や arn:aws:iam::tenantname:user/uid などのユーザー ID で名前が付けられます。ここで、uid は radosgw-admin の --uid 引数に対応します。

アカウント内では、ユーザープリンシパルは、arn:aws:iam::RGW33567154695143645:user/name などのユーザー名を使用します。ここで、name は radosgw-admin の --display-name 引数に対応します。アカウントユーザーは引き続きテナントフォームと同じであるため、ユーザーがアカウントに移行されても既存のポリシーは引き続き機能します。

テナントの分離

ユーザーと同様に、アカウントはオプションで、バケットの名前空間の分離のためにテナントに所属できます。たとえば、“acct” という名前のアカウントがテナント “a” の下に存在し、“acct” という名前の別のアカウントをテナント “b” の下に存在させることができます。

テナントアカウントには、同じテナント名を持つユーザーのみを含めることができます。テナントに関係なく、アカウント ID とメールアドレスはグローバルに一意である必要があります。

10.15.1. アカウントの作成

  • IAM ユーザーを作成するには、radosgw-admin アカウントを使用します。

    注記

    ユーザー ID と表示名を指定する必要があります。メールアドレスを指定することもできます。

    構文

    radosgw-admin account create [--account-name={name}] [--account-id={id}] [--email={email}]

    radosgw-admin account create --account-name=user1 --account-id=12345 --email=user1@example.com

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る