

# IAM を使用したリージョンエンドポイント API オペレーションの承認
<a name="s3-express-security-iam"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に管理するうえで役立つ AWS のサービス です。IAM 管理者は、どのユーザーを認証して (サインイン)、ディレクトリバケットと S3 Express One Zone オペレーションにおいて、Amazon S3 リソースを使用する認可を受ける (アクセス許可がある) ことができるかを制御します。IAMは追加料金なしでご利用いただけます。

デフォルトでは、ユーザーにはディレクトリバケットへのアクセス許可はありません。ディレクトリバケットへのアクセス権限を付与するには、IAM を使用してユーザー、グループ、またはロールを作成し、それらのアイデンティティにアクセス許可をアタッチします。IAM の詳細については、「**IAM ユーザーガイド」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ **AWS IAM アイデンティティセンター 内のユーザーとグループ** — アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html)」の手順に従ってください。
+ **アイデンティティプロバイダーを介して IAM で管理されているユーザー** — ID フェデレーションのロールを作成します。詳細については、*IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ **IAM ロールとユーザー** — ユーザーが引き受けることができるロールを作成します。詳細については、「**IAM ユーザーガイド」の「[ IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)」を参照してください。

S3 Express One Zone 向けの IAM の詳細については、次のトピックを参照してください。

**Topics**
+ [プリンシパル](#s3-express-security-iam-principals)
+ [リソース](#s3-express-security-iam-resources)
+ [ディレクトリバケットのアクション](#s3-express-security-iam-actions)
+ [ディレクトリバケットの IAM アイデンティティベースのポリシー](s3-express-security-iam-identity-policies.md)
+ [ディレクトリバケットのバケットポリシーの例](s3-express-security-iam-example-bucket-policies.md)
+ [Amazon S3 Express One Zone の AWS マネージドポリシー](s3-express-one-zone-security-iam-awsmanpol.md)

## プリンシパル
<a name="s3-express-security-iam-principals"></a>

バケットへのアクセスを許可するリソースベースのポリシーを作成する場合は、`Principal` 要素を使用して、そのリソースに対するアクションまたはオペレーションをリクエストできるユーザーまたはアプリケーションを指定する必要があります。ディレクトリバケットポリシーでは、次のプリンシパルを使用できます。
+ AWS アカウント。
+ IAM ユーザー
+ IAM ロール
+ フェデレーションユーザー

詳細については、「[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)」の「*Principal*」を参照してください。

## リソース
<a name="s3-express-security-iam-resources"></a>

ディレクトリバケットの Amazon リソースネーム (ARN) には、`s3express` 名前空間、AWS リージョン、AWS アカウント ID、AWS ゾーン ID (アベイラビリティーゾーンまたはローカルゾーン ID) を含むディレクトリバケット名が含まれます。

ディレクトリバケットにアクセスしてアクションを実行するには、次の ARN 形式を使用する必要があります。

```
arn:aws:s3express:{{region}}:{{account-id}}:bucket/{{base-bucket-name}}--{{zone-id}}--x-s3
```

ディレクトリバケットのアクセスポイントにアクセスしてアクションを実行するには、次の ARN 形式を使用する必要があります。

```
arn:aws::s3express:{{region}}:{{account-id}}:accesspoint/{{accesspoint-basename}}--{{zone-id}}--xa-s3
```

ARN の詳細については、「**IAM ユーザーガイド」の「[https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)」を参照してください。リソースの詳細については、「**IAM ユーザーガイド」の「[IAM JSON ポリシー要素: Resource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html)」を参照してください。

## ディレクトリバケットのアクション
<a name="s3-express-security-iam-actions"></a>

IAM ポリシーまたはリソースベースのポリシーで、どの S3 on Outposts アクションを許可または拒否するかを定義します。アクションは特定の API オペレーションに対応しています。ディレクトリバケットでは、S3 Express One Zone 名前空間を使用して `s3express` と呼ばれるアクセス許可を付与する必要があります。

`s3express:CreateSession` アクセス許可を付与すると、`CreateSession` API オペレーションはゾーンエンドポイント API (オブジェクトレベル) オペレーション用の一時セッショントークンを取得します。このセッショントークンは、その他すべてのゾーンエンドポイント API オペレーションで使用される認証情報を返します。この結果、IAM ポリシーを使用してゾーンの API オペレーションへのアクセス許可を付与することはありません。代わりに、`CreateSession` はすべてのオブジェクトレベルのオペレーションへのアクセスを有効にします。ゾーン API オペレーションとアクセス許可のリストについては、「[リクエストの認証と承認](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-authenticating-authorizing.html)」を参照してください。

`CreateSession` API オペレーションの詳細については、「**Amazon Simple Storage Service API リファレンス」の「[https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)」を参照してください。.

IAM ポリシーステートメントの `Action` エレメントでは、以下のアクションを指定できます。ポリシーを使用して、AWS でオペレーションを実行するアクセス許可を付与します。ポリシーでアクションを使用する場合は、通常、同じ名前の API オペレーションまたは CLI コマンドへのアクセスを許可または拒否します。ただし、単独のアクションが複数のオペレーションへのアクセスを制御する場合もあります。バケットレベルのアクションへのアクセスは IAM アイデンティティベースのポリシー (ユーザーまたはロール) でのみ付与でき、バケットポリシーでは付与できません。

アクセスポイントポリシーの設定方法の詳細については、「[ディレクトリバケットのアクセスポイントを使用するための IAM ポリシーの設定](access-points-directory-buckets-policies.md)」を参照してください。

詳細については、「[Amazon S3 Express のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3express.html)」を参照してください。