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

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

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

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

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

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

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

のリソースへのアクセス許可の管理の概要 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 アカウント を所有します。具体的には、リソース所有者は、リソース作成リクエスト AWS アカウント を認証するプリンシパルエンティティ (ルートアカウント、IAMユーザー、またはIAMロール) の です。次の例は、この仕組みを示しています。

  • のルートアカウントの認証情報 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 にアタッチされたポリシーはアイデンティティベースのポリシー (IAM ポリシー) と呼ばれ、リソースにアタッチされたポリシーはリソースベースのポリシーと呼ばれます。 はアイデンティティベースのポリシー (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。

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

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

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

ポリシーでの条件の指定

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

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

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

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

では、次の AWS管理ポリシーを使用できます AWS Snowball。

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

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

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

インポートジョブの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", "s3:HeadBucket" ], "Resource": "arn:aws:s3:::*" } ] }

AWS KMSマネージドキー (-SSEKMS) によるサーバー側の暗号化を使用してインポートジョブに関連付けられた 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。 Amazon S3

アクセス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ユーザーまたはグループにアタッチできます。