Amazon S3 Glacier の ID ベースポリシーの例 - Amazon S3 Glacier

このページは、Vaults と 2012 RESTAPI年のオリジナルを使用する S3 Glacier サービスの既存のお客様専用です。

アーカイブストレージソリューションをお探しの場合は、Amazon S3、S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval、S3 Glacier Deep Archive の S3 Glacier ストレージクラスを使用することをお勧めします。これらのストレージオプションの詳細については、Amazon S3 ユーザーガイドの「S3 Glacier ストレージクラス」およびS3 Glacier ストレージクラスを使用した長期データストレージ」を参照してください。 Amazon S3 これらのストレージクラスは Amazon S3 を使用しAPI、すべてのリージョンで利用可能で、Amazon S3 コンソール内で管理できます。Storage Cost Analysis、Storage Lens、高度なオプションの暗号化機能などの機能を提供します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon S3 Glacier の ID ベースポリシーの例

デフォルトでは、ユーザーとロールには S3 Glacier リソースを作成または変更する許可がありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または を使用してタスクを実行することはできません AWS API。必要なリソースに対してアクションを実行するアクセス許可をユーザーに付与するには、IAM管理者はIAMポリシーを作成できます。その後、管理者はIAMポリシーをロールに追加し、ユーザーはロールを引き受けることができます。

これらのポリシードキュメント例を使用して IAM ID ベースのJSONポリシーを作成する方法については、 IAM ユーザーガイドIAM「ポリシーの作成 (コンソール)」を参照してください。

各リソースタイプの の形式など、S3 Glacier で定義されるアクションとARNsリソースタイプの詳細については、「サービス認証リファレンス」のAmazon S3 Glacier のアクション、リソース、および条件キー」を参照してください。

以下は、us-west-2 AWS リージョン内のすべてのボールトを識別する Amazon リソースネーム (glacier:ListVaults) を使用して、リソースに対する 3 つの S3 Glacier ボールト関連アクション (glacier:CreateVaultglacier:DescribeVault、ARN) のアクセス許可を付与するポリシーの例です。ARNs AWS リソースを一意に識別します。S3 Glacier ARNsで使用する方法の詳細については、「」を参照してくださいS3 Glacier のポリシーリソース

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glacier:CreateVault", "glacier:DescribeVault", "glacier:ListVaults" ], "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*" } ] }

ポリシーは、us-west-2 リージョンでのボールトの作成、一覧表示、説明の取得を行う権限を付与します。末尾のワイルドカード文字 (*) は、このステートメントがどのボールト名とも一致できるARNことを意味します。

重要

glacier:CreateVault オペレーションを使用してボールトを作成する権限を付与するときは、ボールトを作成するまでボールト名がわからないため、ワイルドカード文字 (*) を指定する必要があります。

ポリシーのベストプラクティス

ID ベースのポリシーは、ユーザーのアカウントで誰が S3 Glacier リソースを作成し、これにアクセスし、これを削除できるかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS マネージドポリシーを開始し、最小権限のアクセス許可に移行 – ユーザーとワークロードへのアクセス許可の付与を開始するには、多くの一般的なユースケースのアクセス許可を付与するAWS マネージドポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM「 ユーザーガイド」の「 管理AWS ポリシー」または ジョブ機能の 管理ポリシーを参照してください。 AWS

  • 最小権限のアクセス許可を適用する - IAMポリシーでアクセス許可を設定する場合、タスクの実行に必要なアクセス許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用してアクセス許可を適用する方法の詳細については、IAM「 ユーザーガイド」の「 のポリシーとアクセス許可IAM」を参照してください。

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。などの特定の を通じてサービスアクションが使用されている場合 AWS のサービス、条件を使用してサービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、IAM「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的なレコメンデーションが用意されています。詳細については、IAM「 ユーザーガイド」のIAM「Access Analyzer でポリシーを検証する」を参照してください。

  • 多要素認証が必要 (MFA) – でIAMユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、 をオンにMFAしてセキュリティを強化します。API オペレーションが呼び出されるMFAタイミングを要求するには、ポリシーにMFA条件を追加します。詳細については、「 ユーザーガイド」の「 によるセキュアAPIアクセスMFA」を参照してください。 IAM

のベストプラクティスの詳細についてはIAM、「 ユーザーガイド」の「 のセキュリティのベストプラクティスIAM」を参照してください。 IAM

S3 Glacier のコンソールを使用する

Amazon S3 Glacier コンソールにアクセスするには、アクセス許可の最小限のセットが必要です。これらのアクセス許可により、 AWS アカウントにある S3 Glacier リソースの詳細を一覧で表示できます。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

AWS CLI または のみを呼び出すユーザーに対して、最小限のコンソールアクセス許可を付与する必要はありません AWS API。代わりに、実行しようとしているAPIオペレーションに一致するアクションにのみアクセスを許可します。

S3 Glacier コンソールは、S3 Glacier ボールトの作成および管理のための統合された環境を提供します。次の例に示すように、S3 Glacier IAM コンソールを表示するには、少なくとも作成する ID に glacier:ListVaultsアクションのアクセス許可を付与する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "glacier:ListVaults" ], "Effect": "Allow", "Resource": "*" } ] }

AWS は、 によって作成および管理されるスタンドアロンIAMポリシーを提供することで、多くの一般的なユースケースに対処します AWS。マネージドポリシーは、一般的ユースケースに必要な許可を付与することで、どの許可が必要なのかをユーザーが調査する必要をなくすることができます。詳細については、「 ユーザーガイド」のAWS 「 マネージドポリシー」を参照してください。 IAM

アカウント内のユーザーにアタッチできる次の AWS 管理ポリシーは、S3 Glacier に固有のものです。

  • AmazonGlacierReadOnlyAccess – を通じて S3 Glacier への読み取り専用アクセスを許可します AWS Management Console。

  • AmazonGlacierFullAccess – を通じて S3 Glacier へのフルアクセスを許可します AWS Management Console。

また、独自のカスタムIAMポリシーを作成して、S3 Glacier APIアクションとリソースのアクセス許可を許可することもできます。これらのカスタムポリシーは、S3 Glacier ボールト用に作成したカスタムIAMロールにアタッチできます。

次のセクションで説明する S3 Glacier AWS 管理ポリシーの両方が、 のアクセス許可を付与しますglacier:ListVaults

詳細については、「 ユーザーガイド」の「ユーザーへのアクセス許可の追加」を参照してください。 IAM

自分の権限の表示をユーザーに許可する

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または AWS CLI または を使用してプログラムでこのアクションを実行するアクセス許可が含まれています AWS API。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

お客様が管理するポリシーの例

このセクションでは、さまざまな S3 Glacier アクションのアクセス権限を付与するユーザー ポリシー例を示しています。これらのポリシーは、S3 Glacier REST API、Amazon SDKs、 AWS CLI、または該当する場合は S3 Glacier 管理コンソールを使用している場合に機能します。

注記

すべての例では、米国西部 (オレゴン) リージョン (us-west-2) を使用し、架空のアカウント が含まれていますIDs。

例 1: ボールトからのアーカイブのダウンロードをユーザーに許可する

アーカイブをダウンロードするには、まずアーカイブを取得するジョブを開始します。取得ジョブが完了したら、データをダウンロードできます。次のポリシー例では、ジョブを開始する glacier:InitiateJob アクションと、取得したデータをダウンロードするアクションのアクセス権限 (ユーザーにボールトからのアーカイブまたはボールトインベントリの取得を許可する) を付与して、glacier:GetJobOutput アクションに対するアクセス権限を付与して、取得したデータをダウンロードします。このポリシーは、ユーザーがジョブのステータスを確認できるように、glacier:DescribeJob アクションを実行できる権限も付与します。詳細については、「ジョブの開始 (POST ジョブ)」を参照してください。

ポリシーは、examplevault という名前のボールトにこれらのアクセス権限を付与します。Amazon Amazon S3 Glacier コンソール ARNからボールトを取得するか、 ボールトの説明 (GET vault) または ボールトのリスト (GET vaults)APIアクションをプログラムで呼び出すことでボールトを取得できます。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:InitiateJob", "glacier:GetJobOutput", "glacier:DescribeJob"] } ] }

例 2: ボールトの作成と通知設定をユーザーに許可する

次のポリシー例では、Resource 要素で指定されているように、us-west-2 リージョンにボールトを作成するアクセス許可を付与し、通知設定を行います。通知の操作方法の詳細については、「Amazon S3 Glacier でのボールト通知の設定」を参照してください。このポリシーは、 AWS リージョンのボールトを一覧表示し、特定のボールトの説明を取得するアクセス許可も付与します。

重要

glacier:CreateVault オペレーションを使用してボールトを作成する権限を付与するときは、ボールトを作成するまでボールト名がわからないため、Resource 値でワイルドカード文字 (*) を指定する必要があります。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*", "Action":["glacier:CreateVault", "glacier:SetVaultNotifications", "glacier:GetVaultNotifications", "glacier:DeleteVaultNotifications", "glacier:DescribeVault", "glacier:ListVaults"] } ] }

例 3: ユーザーに特定のボールトへのアーカイブのアップロードを許可する

次のポリシー例では、us-west-2 リージョンの特定のボールトにアーカイブをアップロードする権限を付与します。これらのアクセス許可により、ユーザーは アーカイブのアップロード (POST archive)APIオペレーションを使用して一度にアーカイブをアップロードすることも、 マルチパートアップロードの開始 (POST multipart-uploads)APIオペレーションを使用して部分的にアップロードすることもできます。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:UploadArchive", "glacier:InitiateMultipartUpload", "glacier:UploadMultipartPart", "glacier:ListParts", "glacier:ListMultipartUploads", "glacier:CompleteMultipartUpload"] } ] }

例 4: ユーザーに特定のボールトのフルアクセス権限を許可する

次のポリシー例では、 という名前のボールトで、すべての S3 Glacier アクションのアクセス許可を付与しますexamplevault

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:*"] } ] }