Snow ファミリーコンソールのアクセス制御とジョブの作成 - AWS Snowball Edge デベロッパーガイド

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

Snow ファミリーコンソールのアクセス制御とジョブの作成

すべての AWS サービスと同様に、 へのアクセスには、 を使用してリクエストを認証 AWS できる認証情報 AWS Snowball が必要です。これらの認証情報には、Amazon S3 バケットや AWS Lambda function. AWS Snowball differs などの AWS リソースにアクセスするためのアクセス許可が必要です。

  1. のジョブには Amazon リソースネーム () AWS Snowball がありませんARNs。

  2. オンプレミスのデバイスに対する物理/ネットワークアクセスコントロールは、お客様の責任で行っていただきます。

AWS Identity and Access Management (IAM) の使用方法と AWS Snowball 、 でリソースにアクセスできるユーザーを制御することでリソースを保護する方法、およびローカルアクセスコントロールの推奨事項については AWS クラウド、の ID とアクセスの管理 AWS Snow Family「」を参照してください。

でのリソースへのアクセス許可の管理の概要 AWS クラウド

すべての AWS リソースは によって所有され AWS アカウント、リソースを作成またはアクセスするためのアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、アクセス許可ポリシーを ID (ユーザー、グループ、ロール) IAM にアタッチできます。また、一部のサービス ( など AWS Lambda) では、アクセス許可ポリシーをリソースにアタッチすることもできます。

注記

アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「 ユーザーガイド」のIAM「ベストプラクティス」を参照してください。 IAM

リソースおよびオペレーション

では AWS Snowball、プライマリリソースはジョブ です。 AWS Snowball には Snowball や デバイスなどの AWS Snowball Edge デバイスもありますが、これらのデバイスは既存のジョブのコンテキストでのみ使用できます。Amazon S3 バケットおよび Lambda 関数は、それぞれ Amazon S3 と Lambda のリソースです。

前述のように、ジョブには Amazon リソースネーム (ARNs) が関連付けられていません。ただし、Amazon S3 バケットなどの他のサービスのリソースには、次の表に示すように、一意の (ARNs) が関連付けられています。

リソースタイプ ARN 形式
S3 バケット arn:aws:s3:region:account-id:BucketName/ObjectName

AWS Snowball は、ジョブを作成および管理するための一連のオペレーションを提供します。使用可能なオペレーションのリストについては、 AWS Snowball APIリファレンス を参照してください。

リソース所有権について

は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は、リソース作成リクエストを認証するプリンシパルエンティティ (ルートアカウント、IAMユーザー、またはIAMロール) AWS アカウント の です。次の例は、この仕組みを示しています。

  • の AWS アカウント ルートアカウント認証情報を使用して S3 バケットを作成する場合、 AWS アカウント はリソースの所有者です ( では AWS Snowball、リソースはジョブです)。

  • でIAMユーザーを作成し AWS アカウント 、そのユーザーに Snow Family デバイスを注文するジョブを作成するアクセス許可を付与すると、ユーザーは Snow Family デバイスを注文するジョブを作成できます。ただし、ユーザーが属 AWS アカウントする は、ジョブリソースを所有します。

  • ジョブを作成するアクセス許可 AWS アカウント を持つIAMロールを で作成する場合、そのロールを引き受けることができるユーザーは誰でも Snow Family デバイスを注文するジョブを作成できます。ロールが属 AWS アカウントする は、ジョブリソースを所有します。

でのリソースへのアクセスの管理 AWS クラウド

アクセス権限ポリシー では、誰が何にアクセスできるかを記述します。以下のセクションで、アクセス許可ポリシーを作成するために使用可能なオプションについて説明します。

注記

このセクションでは、 のコンテキストIAMでの の使用について説明します AWS Snowball。IAM サービスに関する詳細情報は提供されません。詳細なIAMドキュメントについては、IAM「 ユーザーガイド」の「 とはIAM」を参照してください。IAM ポリシーの構文と説明については、「 ユーザーガイド」のAWS IAM「ポリシーリファレンス」を参照してください。 IAM

IAM ID にアタッチされたポリシーは ID ベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。 は ID ベースのポリシー (IAM ポリシー) のみ AWS Snowball をサポートします。

リソースベースのポリシー

Amazon S3 などの他のサービスでは、リソースベースの許可ポリシーもサポートされています。例えば、S3 バケットにポリシーをアタッチして、そのバケットへのアクセス許可を管理できます。 AWS Snowball はリソースベースのポリシーをサポートしていません。 

ポリシー要素 (アクション、効果、プリンシパル) の指定

サービスでは、ジョブごとに一連のAPIオペレーション (リソースおよびオペレーション「」を参照) を定義して、そのジョブを作成および管理します。 AWS Snowball API これらのAPIオペレーションのアクセス許可を付与するには、ポリシーで指定できる一連のアクション AWS Snowball を定義します。たとえば、ジョブの場合、次のアクションが定義されます。CreateJobCancelJob、および DescribeJob。API オペレーションを実行するには、複数のアクションに対するアクセス許可が必要になる場合があることに注意してください。

最も基本的なポリシーの要素を次に示します。

  • リソース – ポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。詳細については、「リソースおよびオペレーション」を参照してください。

    注記

    これは、Amazon S3、Amazon EC2、 AWS Lambda AWS KMS、およびその他の多くの サービスでサポートされています。

    Snowball は、IAMポリシーステートメントの Resource要素ARNでのリソースの指定をサポートしていません。Snowball へのアクセスを許可するには、ポリシーで “Resource”: “*” を指定します。

  • アクション – アクションキーワードを使用して、許可または拒否するリソース操作を特定します。たとえば、指定した Effect に応じて、snowball:* は、すべてのオペレーションの実行をユーザーに許可または拒否します。

    注記

    これは、Amazon EC2、Amazon S3、および でサポートされていますIAM。

  • 効果 – ユーザーが特定のアクションを要求する際の効果を指定します。許可または拒否のいずれかになります。リソースへのアクセスを明示的に付与 (許可) していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

    注記

    これは、Amazon EC2、Amazon S3、および でサポートされていますIAM。

  • プリンシパル – ID ベースのポリシー (IAM ポリシー) では、ポリシーがアタッチされているユーザーが暗黙的なプリンシパルです。リソースベースのポリシーでは、アクセス許可を受け取るユーザー、アカウント、サービス、またはその他のエンティティを指定します (リソースベースのポリシーにのみ適用されます)。リソースベースのポリシー AWS Snowball はサポートされていません。

IAM ポリシーの構文と説明の詳細については、「 ユーザーガイド」のAWS IAM「ポリシーリファレンス」を参照してください。 IAM

すべてのアクションを示す表については、 AWS Snowball API「」を参照してくださいAWS Snowball API アクセス許可: アクション、リソース、および条件リファレンス

ポリシーでの条件の指定

アクセス許可を付与する場合、IAMポリシー言語を使用して、ポリシーを有効にする条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語で条件を指定する方法の詳細については、IAM「 ユーザーガイド」の「条件」を参照してください。

条件を表すには、あらかじめ定義された条件キーを使用します。 AWS Snowballに固有の条件キーはありません。ただし、必要に応じて使用できる AWS全体の条件キーがあります。 AWS全体のキーの完全なリストについては、 IAM ユーザーガイド「条件に使用可能なキー」を参照してください。

AWS- AWS Snowball Edge の管理 (事前定義) ポリシー

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

では、以下の AWSマネージドポリシーを使用できます AWS Snowball。

Snowball Edge のIAMロールポリシーの作成

IAM ロールポリシーは、Amazon S3 バケットの読み取りおよび書き込みアクセス許可で作成する必要があります。また、IAMロールは Snowball と信頼関係を持っている必要があります。信頼関係を持つことは、データのインポートまたはエクスポートのどちらを行うかに応じて、 が Snowball と Amazon S3 バケットにデータを書き込む AWS ことができることを意味します。

で Snow Family デバイスを注文するジョブを作成する場合 AWS Snow ファミリーマネジメントコンソール、必要なIAMロールの作成は アクセス許可セクションのステップ 4 で行われます。これは自動プロセスです。Snowball が引き受けることを許可するIAMロールは、転送されたデータを持つ Snowball が に到着した場合にのみ、バケットにデータを書き込むために使用されます AWS。このプロセスを以下の手順で示します。

i のIAMロールを作成するには
  1. にサインイン AWS Management Console し、 で AWS Snowball コンソールを開きますhttps://console.aws.amazon.com/importexport/

  2. [ジョブの作成]を選択します。

  3. 最初のステップで、Amazon S3 へのインポートジョブの詳細を入力してから、[Next (次へ)] を選択します。

  4. 2 番目のステップで、アクセス許可 でロールの作成/選択 IAM を選択します。

    IAM マネジメントコンソールが開き、 が AWS オブジェクトを指定した Amazon S3 バケットにコピーするIAMロールが表示されます。

  5. このページで詳細を確認し、[許可] を選択します。

    に戻ります。ここで AWS Snow ファミリーマネジメントコンソール、選択したIAMロールARNには、作成したIAMロールの Amazon リソースネーム (ARN) が含まれます。

  6. 次へ を選択して、IAMロールの作成を完了します。

前述の手順では、データをインポートする予定の Amazon S3 バケットの書き込みアクセス許可を持つIAMロールを作成します。作成されるIAMロールは、インポートジョブかエクスポートジョブかに応じて、次のいずれかの構造を持ちます。

IAM インポートジョブのロール

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:PutObjectAcl", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

マネージドキー (SSE-KMS) AWS KMSでサーバー側の暗号化を使用してインポートジョブに関連付けられた Amazon S3 バケットを暗号化する場合は、IAMロールに次のステートメントを追加する必要があります。

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

オブジェクトのサイズが大きい場合、インポートプロセスに使用される Amazon S3 クライアントはマルチパートアップロードを使用します。SSE- を使用してマルチパートアップロードを開始するとKMS、アップロードされたすべてのパートは指定された AWS KMS キーを使用して暗号化されます。パートは暗号化されているため、マルチパートアップロードを完了するために組み立てる前に、パートを復号する必要があります。そのため、 SSE- を使用して Amazon S3 へのマルチパートアップロードを実行するときに、 AWS KMS キー (kms:Decrypt) を復号するアクセス許可が必要ですKMS。

アクセスkms:Decrypt許可が必要なインポートジョブに必要なIAMロールの例を次に示します。

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey","kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

以下は、エクスポートジョブに必要なIAMロールの例です。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" } ] }

AWS KMSマネージドキーでサーバー側の暗号化を使用してエクスポートジョブに関連付けられた Amazon S3 バケットを暗号化する場合は、次のステートメントをIAMロールに追加する必要があります。

{ "Effect": "Allow", "Action": [ “kms:Decrypt” ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/abc123a1-abcd-1234-efgh-111111111111" }

独自のカスタムIAMポリシーを作成して、 AWS Snowball ジョブ管理のAPIオペレーションのアクセス許可を許可できます。これらのカスタムポリシーは、これらのアクセス許可を必要とするIAMユーザーまたはグループにアタッチできます。