S3 Access Grants の開始方法 - Amazon Simple Storage Service

S3 Access Grants の開始方法

Amazon S3 Access Grants は、S3 データにスケーラブルなアクセスコントロールソリューションを提供する Amazon S3 の機能です。S3 Access Grants は S3 認証情報ベンダーです。つまり、許可のリストとレベルを S3 Access Grants に登録することになります。その後、ユーザーまたはクライアントが S3 データにアクセスする必要が生じると、まず S3 Access Grants に認証情報を要求します。アクセスを許可する対応する権限がある場合、S3 Access Grants は一時的な最小特権のアクセス認証情報を送信します。その後、ユーザーまたはクライアントは S3 Access Grants から提供された認証情報を使用して S3 データにアクセスできます。これを踏まえて、S3 データ要件で複雑または大規模なアクセス許可設定が必要となる場合は、S3 Access Grants を使用して、ユーザー、グループ、ロール、アプリケーションの S3 データ権限をスケーリングできます。

ほとんどのユースケースでは、AWS Identity and Access Management (IAM) バケットポリシーまたは IAM アイデンティティベースのポリシーを使用して S3 データのアクセスコントロールを管理できます。

ただし、次のような複雑な S3 アクセスコントロール要件がある場合は、S3 Access Grants を使用すると多大な利点が得られます。

  • バケットポリシーのサイズ制限である 20 KB に達している場合。

  • 分析やビッグデータのために S3 データへのアクセス許可をヒューマンアイデンティティで付与している場合。例えば、Microsoft Entra ID (旧称 Azure Active Directory)、Okta、または Ping など。

  • IAM ポリシーを頻繁に更新せずに、クロスアカウントアクセスを提供する必要がある場合。

  • データが構造化されておらず、構造化されていない行と列の形式で、オブジェクトレベルの場合。

S3 Access Grants のワークフローは次のとおりです。

ステップ 説明
1 S3 Access Grants インスタンスを作成する

開始するには、個別のアクセス許可を含む S3 Access Grants インスタンスを起動します。

2 ロケーションを登録する

次に、S3 データロケーション (デフォルトの s3:// など) を登録して、S3 データロケーションへのアクセスを提供する際に S3 Access Grants が引き受けるデフォルトの IAM ロールを指定します。また、特定のバケットまたはプレフィックスにカスタムロケーションを追加し、それらをカスタム IAM ロールにマッピングすることもできます。

3 権限を作成する

個別のアクセス許可権限を作成します。これらのアクセス権限では、登録されている S3 ロケーション、そのロケーション内のデータアクセス範囲、権限被付与者のアイデンティティ、アクセスレベル (READWRITE、またはREADWRITE) を指定します。

4 S3 データへのアクセスをリクエストする

ユーザー、アプリケーション、S3 AWS のサービス データへのアクセスには、まずアクセスリクエストを行います。S3 Access Grants が、リクエストを承認すべきかどうかを決定します。アクセスを許可する対応する権限がある場合、S3 Access Grants は、その権限に関連付けられている登録済みロケーションの IAM ロールを使用して、一時的な認証情報をリクエスタに返送します。

5 S3 データにアクセスする

アプリケーションは S3 Access Grants が提供する一時的な認証情報を使用して S3 データにアクセスします。