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

このページは、Vaults と 2012 年以降の元の REST API を使用する 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 ポリシーを追加し、ユーザーはロールを引き受けることができます。

これらサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、IAM ユーザーガイドのIAM ポリシーの作成を参照してください。

S3 Glacier が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、「サービス認可リファレンス」の「Amazon S3 Glacier のアクション、リソース、および条件キー」を参照してください。

以下は、us-west-2 AWS リージョン内のすべてのボールトを識別する Amazon リソースネーム (ARNglacier:ListVaults) を使用してglacier:CreateVault、リソースに対する 3 glacier:DescribeVault つの S3 Glacier ボールト関連アクション (、、) のアクセス許可を付与するポリシーの例です。ARNs AWS リソースを一意に識別します。S3 Glacier で使用する ARN の詳細については、「」を参照してください。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 ユーザーガイド」の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイドIAM Access Analyzer ポリシーの検証を参照してください。

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

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

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

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

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

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

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

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

アカウントのユーザーにアタッチできる以下の 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 ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または 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) を使用し、架空のアカウント ID を使用しています。

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

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

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

{ "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:*"] } ] }