Amazon Web Services ブログ

Amazon S3 Access Points で共有データセットの管理が簡単に

安全で、スケーラブルで、耐久性があり、可用性の高いストレージは、クラウドコンピューティングの基本的なコンポーネントです。それが、AWS が 2006 年に Amazon Simple Storage Service (S3) を開始したそもそもの理由です。これは、AWS が現在提供している 175 を超えるサービスの多くの構成要素になっています。2020 年代が間近に迫る中、Amazon Redshift、Amazon Athena、Amazon EMR および AWS Lake Formation により、S3 は、オブジェクトだけでなくエンジンも格納する方法にもなり、データを洞察に変えていきます。これらの機能は、バケットに保存されたデータのアクセスパターンと要件が進化したことを意味します。

本日、S3 で共有データセットの大規模なデータアクセスを管理する新しい方法、Amazon S3 Access Points をローンチします。S3 Access Points は、そのエンドポイントを使用してデータにアクセスする方法を記述する専用のアクセスポリシーを持つ一意のホスト名です。S3 Access Points 以前は、データへの共有アクセスは、バケット上の単一のポリシード2020キュメントを管理することを意味していました。これらのポリシーは、多くの異なる権限を持つ数百のアプリケーションを表し、監査と更新が多くのシステムに影響を及ぼす潜在的なボトルネックになる可能性がありました。

S3 Access Points を使用すると、アプリケーションやチームを追加するときにアクセスポイントを追加でき、ポリシーを具体的かつ管理しやすくします。バケットには複数のアクセスポイントを含めることができ、各アクセスポイントには独自の AWS Identity and Access Management (IAM) ポリシーがあります。アクセスポイントポリシーはバケットポリシーに似ていますが、アクセスポイントに関連付けられています。S3 Access Points は、Amazon Virtual Private Cloud 内からのアクセスのみを許可するように制限することもできます。また、各アクセスポイントには一意の DNS 名があるため、AWS アカウントとリージョン内で一意の任意の名前でバケットをアドレス指定できるようになりました。

S3 Access Points の作成

S3 コンソールを使用して、バケットにアクセスポイントを追加しましょう。AWS コマンドラインインターフェイス (CLI)、AWS SDK を使用して、または API 経由で、S3 Access PointsS3 Access Points を作成および管理することもできます。AWS Lambda 関数が生成したアーティファクトを含むバケットを選択し、[アクセスポイント] タブをクリックしました。

S3 コンソールのアクセスポイントタブ

新しいアクセスポイントを作成しましょう。IAM ユーザーの Alice に、Alice のプレフィックスを持つ GETPUT オブジェクトへのアクセス許可を与えようと思います。このアクセスポイントに alices-access-point という名前を付けます。仮想プライベートクラウドへのアクセスを制限するオプションがあります。これには Virtual Private Cloud ID が必要です。これで、VPC の外部からのアクセスも許可したいので、このスクリーンショットを撮った後、[インターネット] を選択して次のステップに進みました。

アクセスポイントの作成

S3 Access Points を使用すると、パブリックアクセスを簡単にブロックできます。このアクセスポイントへのすべてのパブリックアクセスをブロックします。

パブリックアクセスの設定

これで、ポリシーをアタッチできます。このポリシーでは、プリンシパルはユーザー Alice であり、リソースはプレフィックス /Alice が付いたすべてのオブジェクトと結合されたアクセスポイントです。S3 Access Points にアタッチするポリシーの種類の例については、ドキュメントをご覧ください。

アクセスポイントポリシーの作成

アクセスポイントを作成したら、https://[access_point_name]-[accountID].s3-accesspoint.[region]requires atleast one valid airport code..amazonaws.com の形式を使用してホスト名でアクセスできます。SDKs および CLI を介して、最新バージョンに更新したらバケットを使用するのと同じように使用できます。たとえば、私が Alice として認証されたと仮定すると、次のことが行えます。

$ aws s3api get-object --key /Alice/object.zip --bucket arn:aws:s3:us-east-1:[my-account-id]:alices-access-point download.zip

VPC に制限されないアクセスポイントは、S3 コンソールからも使用できます。

知っておくべきこと

ソフトウェア設計に関しては、ほとんどの場合、スコープを小さくして特定のタスクに焦点を当てるのが良いでしょう。S3 Access Points を使用すると、共有データセットへのアクセスを必要とするユーザーまたはアプリケーションのホスト名と権限をカスタマイズできます。この新しい機能の感想をお聞かせください。構築がうまくいきますように。

— Brandon