

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

# での Identity and Access Management AWS Snowball Edge
<a name="snowball-edge-iam"></a>

すべての AWS Snowball Edge ジョブを認証する必要があります。これを行うには、アカウント内に IAM ユーザーを作成し、管理します。IAM を使用して、 AWSでユーザーとアクセス許可を作成、管理できます。

AWS Snowball Edge ユーザーは、 にアクセスしてジョブ AWS Snowball Edge AWS マネジメントコンソール を作成するには、特定の IAM 関連のアクセス許可を持っている必要があります。インポートまたはエクスポートジョブを作成する IAM ユーザーは、ジョブに使用する Amazon S3 バケット、リソース、Amazon SNS トピック、エッジコンピューティングジョブ用の Amazon EC2-compatible AMI など、適切な Amazon Simple Storage Service (Amazon S3) AWS KMS リソースにもアクセスできる必要があります。

**重要**  
デバイスでローカルに IAM を使用する方法については、[Snowball Edge でのローカル IAM の使用](using-local-iam.md) を参照してください。

**Topics**
+ [

# Snowball Edge コンソールのアクセスコントロールとジョブの作成
](authentication-and-access-control.md)

# Snowball Edge コンソールのアクセスコントロールとジョブの作成
<a name="authentication-and-access-control"></a>

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

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

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

[AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/) の使用方法と AWS Snowball Edge 、 でリソースにアクセスできるユーザーを制御することでリソースを保護する方法[の Identity and Access Management AWS Snowball Edge](security-iam.md)、およびローカルアクセスコントロールの推奨事項の詳細については AWS クラウド、「」を参照してください。

# の Identity and Access Management AWS Snowball Edge
<a name="security-iam"></a>





AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰を*認証* (サインイン) し、誰に AWS Snow Family リソースの使用*を許可する* (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [

## 対象者
](#security_iam_audience)
+ [

## アイデンティティを使用した認証
](#security_iam_authentication)
+ [

## ポリシーを使用したアクセスの管理
](#security_iam_access-manage)
+ [

# が IAM と AWS Snow Family 連携する方法
](security_iam_service-with-iam.md)
+ [

# のアイデンティティベースのポリシーの例 AWS Snowball Edge
](security_iam_id-based-policy-examples.md)
+ [

# AWS Snowball Edge ID とアクセスのトラブルシューティング
](security_iam_troubleshoot.md)

## 対象者
<a name="security_iam_audience"></a>

 AWS Identity and Access Management (IAM) の使用方法は、作業内容によって異なります AWS Snow Family。

**サービスユーザー** – AWS Snow Family サービスを使用してジョブを実行する場合、管理者から必要な認証情報とアクセス許可が提供されます。さらに多くの AWS Snow Family 機能を使用して作業を行う場合は、追加のアクセス許可が必要になる場合があります。アクセスの管理方法を理解すると、管理者から適切な権限をリクエストするのに役に立ちます。 AWS Snow Family機能にアクセスできない場合は、「[AWS Snowball Edge ID とアクセスのトラブルシューティング](security_iam_troubleshoot.md)」を参照してください。

**サービス管理者** – 社内の AWS Snow Family リソースを担当している場合は、通常、 へのフルアクセスがあります AWS Snow Family。サービスユーザーがどの AWS Snow Family 機能やリソースにアクセスするかを決めるのは管理者の仕事です。その後、IAM 管理者にリクエストを送信して、サービスユーザーの権限を変更する必要があります。このページの情報を点検して、IAM の基本概念を理解してください。で IAM を使用する方法の詳細については AWS Snow Family、「」を参照してください[が IAM と AWS Snow Family 連携する方法](security_iam_service-with-iam.md)。

**IAM 管理者** - 管理者は、 AWS Snow Familyへのアクセスを管理するポリシーの書き込み方法の詳細について確認する場合があります。IAM で使用できる AWS Snow Family アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Snowball Edge](security_iam_id-based-policy-examples.md)。

## アイデンティティを使用した認証
<a name="security_iam_authentication"></a>

認証とは、ID 認証情報 AWS を使用して にサインインする方法です。として、IAM ユーザーとして AWS アカウントのルートユーザー、または IAM ロールを引き受けることによって、*認証* ( にサインイン AWS) される必要があります。

ID ソースを介して提供された認証情報を使用して、フェデレーティッド ID AWS として にサインインできます。 AWS IAM アイデンティティセンター （IAM Identity Center) ユーザー、会社のシングルサインオン認証、Google または Facebook 認証情報は、フェデレーション ID の例です。フェデレーティッド ID としてサインインする場合、IAM ロールを使用して、前もって管理者により ID フェデレーションが設定されています。フェデレーション AWS を使用して にアクセスすると、間接的にロールを引き受けることになります。

ユーザーの種類に応じて、 AWS マネジメントコンソール または AWS アクセスポータルにサインインできます。へのサインインの詳細については AWS、「 *AWS サインイン ユーザーガイド*」の[「 へのサインイン AWS アカウント](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)方法」を参照してください。

 AWS プログラムで にアクセスする場合、 はソフトウェア開発キット (SDK) とコマンドラインインターフェイス (CLI) AWS を提供し、認証情報を使用してリクエストを暗号化して署名します。 AWS ツールを使用しない場合は、自分でリクエストに署名する必要があります。リクエストに自分で署名する推奨方法の使用については、「*IAM ユーザーガイド*」の「[API リクエストに対するAWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)」を参照してください。

使用する認証方法を問わず、追加セキュリティ情報の提供をリクエストされる場合もあります。たとえば、 では、アカウントのセキュリティを高めるために多要素認証 (MFA) を使用する AWS ことをお勧めします。詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[多要素認証](https://docs.aws.amazon.com/singlesignon/latest/userguide/enable-mfa.html)」および「*IAM ユーザーガイド*」の「[IAM のAWS 多要素認証](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)」を参照してください。

### AWS アカウント ルートユーザー
<a name="security_iam_authentication-rootuser"></a>

 を作成するときは AWS アカウント、アカウント内のすべての およびリソースへの AWS のサービス 完全なアクセス権を持つ 1 つのサインインアイデンティティから始めます。この ID は AWS アカウント *ルートユーザー*と呼ばれ、アカウントの作成に使用した E メールアドレスとパスワードでサインインすることでアクセスできます。日常的なタスクには、ルートユーザーを使用しないことを強くお勧めします。ルートユーザーの認証情報は保護し、ルートユーザーでしか実行できないタスクを実行するときに使用します。ルートユーザーとしてサインインする必要があるタスクの完全なリストについては、「*IAM ユーザーガイド*」の「[ルートユーザー認証情報が必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)」を参照してください。

### フェデレーティッドアイデンティティ
<a name="security_iam_authentication-federated"></a>

ベストプラクティスとして、管理者アクセスを必要とするユーザーを含む人間のユーザーに、ID プロバイダーとのフェデレーションを使用して一時的な認証情報 AWS のサービス を使用して にアクセスすることを要求します。

*フェデレーティッド ID* は、エンタープライズユーザーディレクトリ、ウェブ ID プロバイダー、、 Directory Serviceアイデンティティセンターディレクトリ、または ID ソースを介して提供された認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーティッド ID がアクセスすると AWS アカウント、ロールを引き受け、ロールは一時的な認証情報を提供します。

アクセスを一元管理する場合は、 AWS IAM アイデンティティセンターを使用することをお勧めします。IAM Identity Center でユーザーとグループを作成するか、独自の ID ソースのユーザーとグループのセットに接続して同期し、すべての AWS アカウント とアプリケーションで使用できます。IAM Identity Center の詳細については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[What is IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」(IAM Identity Center とは) を参照してください。

### IAM ユーザーとグループ
<a name="security_iam_authentication-iamuser"></a>

*[IAM ユーザーは](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*、単一のユーザーまたはアプリケーションに対して特定のアクセス許可 AWS アカウント を持つ 内の ID です。可能であれば、パスワードやアクセスキーなどの長期的な認証情報を保有する IAM ユーザーを作成する代わりに、一時的な認証情報を使用することをお勧めします。ただし、IAM ユーザーでの長期的な認証情報が必要な特定のユースケースがある場合は、アクセスキーをローテーションすることをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[長期的な認証情報を必要とするユースケースのためにアクセスキーを定期的にローテーションする](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)」を参照してください。

[IAM グループ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)は、IAM ユーザーの集団を指定するアイデンティティです。グループとしてサインインすることはできません。グループを使用して、複数のユーザーに対して一度に権限を指定できます。多数のユーザーグループがある場合、グループを使用することで権限の管理が容易になります。例えば、*IAMAdmins* という名前のグループを設定して、そのグループに IAM リソースを管理する許可を与えることができます。

ユーザーは、ロールとは異なります。ユーザーは 1 人の人または 1 つのアプリケーションに一意に関連付けられますが、ロールはそれを必要とする任意の人が引き受けるようになっています。ユーザーには永続的な長期の認証情報がありますが、ロールでは一時認証情報が提供されます。詳細については、「*IAM ユーザーガイド*」の「[IAM ユーザーに関するユースケース](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)」を参照してください。

### IAM ロール
<a name="security_iam_authentication-iamrole"></a>

*[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*は、特定のアクセス許可 AWS アカウント を持つ 内の ID です。これは IAM ユーザーに似ていますが、特定のユーザーには関連付けられていません。で IAM ロールを一時的に引き受けるには AWS マネジメントコンソール、[ユーザーから IAM ロール (コンソール) に切り替える](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)ことができます。ロールを引き受けるには、 または AWS API オペレーションを AWS CLI 呼び出すか、カスタム URL を使用します。ロールを使用する方法の詳細については、「*IAM ユーザーガイド*」の「[ロールを引き受けるための各種方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)」を参照してください。

IAM ロールと一時的な認証情報は、次の状況で役立ちます:
+ **フェデレーションユーザーアクセス** – フェデレーティッド ID に許可を割り当てるには、ロールを作成してそのロールの許可を定義します。フェデレーティッド ID が認証されると、その ID はロールに関連付けられ、ロールで定義されている許可が付与されます。フェデレーションのロールについては、「*IAM ユーザーガイド*」の「[サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html)」を参照してください。IAM Identity Center を使用する場合は、許可セットを設定します。アイデンティティが認証後にアクセスできるものを制御するため、IAM Identity Center は、権限セットを IAM のロールに関連付けます。アクセス許可セットの詳細については、「*AWS IAM アイデンティティセンター User Guide*」の「[Permission sets](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)」を参照してください。
+ **一時的な IAM ユーザー権限** - IAM ユーザーまたはロールは、特定のタスクに対して複数の異なる権限を一時的に IAM ロールで引き受けることができます。
+ **クロスアカウントアクセス** - IAM ロールを使用して、自分のアカウントのリソースにアクセスすることを、別のアカウントの人物 (信頼済みプリンシパル) に許可できます。クロスアカウントアクセス権を付与する主な方法は、ロールを使用することです。ただし、一部の では AWS のサービス、 (プロキシとしてロールを使用する代わりに) リソースに直接ポリシーをアタッチできます。クロスアカウントアクセスにおけるロールとリソースベースのポリシーの違いについては、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。
+ **クロスサービスアクセス** – 一部の は他の の機能 AWS のサービス を使用します AWS のサービス。例えば、あるサービスで呼び出しを行うと、通常そのサービスによって Amazon EC2 でアプリケーションが実行されたり、Amazon S3 にオブジェクトが保存されたりします。サービスでは、呼び出し元プリンシパルの許可、サービスロール、またはサービスリンクロールを使用してこれを行う場合があります。
  + **転送アクセスセッション (FAS)** – IAM ユーザーまたはロールを使用してアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用する際に、アクションを実行することで、別のサービスの別のアクションがトリガーされることがあります。FAS は、 を呼び出すプリンシパルのアクセス許可を AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする と組み合わせて使用します。FAS リクエストは、サービスが他の AWS のサービス またはリソースとのやり取りを完了する必要があるリクエストを受け取った場合にのみ行われます。この場合、両方のアクションを実行するためのアクセス許可が必要です。FAS リクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。
  + **サービスロール** - サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除することができます。詳細については、「*IAM ユーザーガイド*」の「[AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。
  + **サービスにリンクされたロール** – サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。
+ **Amazon EC2 で実行されているアプリケーション** – IAM ロールを使用して、EC2 インスタンスで実行され、 AWS CLI または AWS API リクエストを行うアプリケーションの一時的な認証情報を管理できます。これは、EC2 インスタンス内でのアクセスキーの保存に推奨されます。EC2 インスタンスに AWS ロールを割り当て、そのすべてのアプリケーションで使用できるようにするには、インスタンスにアタッチされたインスタンスプロファイルを作成します。インスタンスプロファイルにはロールが含まれ、EC2 インスタンスで実行されるプログラムは一時的な認証情報を取得できます。詳細については、「*IAM ユーザーガイド*」の「[Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用して許可を付与する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)」を参照してください。

## ポリシーを使用したアクセスの管理
<a name="security_iam_access-manage"></a>

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは AWS 、アイデンティティまたはリソースに関連付けられているときにアクセス許可を定義する のオブジェクトです。 は、プリンシパル (ユーザー、ルートユーザー、またはロールセッション) がリクエストを行うときに、これらのポリシー AWS を評価します。ポリシーでの権限により、リクエストが許可されるか拒否されるかが決まります。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの構造と内容の詳細については、「*IAM ユーザーガイド*」の「[JSON ポリシー概要](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)」を参照してください。

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

デフォルトでは、ユーザーやロールに権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。その後、管理者はロールに IAM ポリシーを追加し、ユーザーはロールを引き受けることができます。

IAM ポリシーは、オペレーションの実行方法を問わず、アクションの許可を定義します。例えば、`iam:GetRole` アクションを許可するポリシーがあるとします。そのポリシーを持つユーザーは、 AWS マネジメントコンソール、、 AWS CLIまたは AWS API からロール情報を取得できます。

### アイデンティティベースのポリシー
<a name="security_iam_access-manage-id-based-policies"></a>

アイデンティティベースポリシーは、IAM ユーザーグループ、ユーザーのグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

アイデンティティベースのポリシーは、さらに*インラインポリシー*または*マネージドポリシー*に分類できます。インラインポリシーは、単一のユーザー、グループ、またはロールに直接埋め込まれています。管理ポリシーは、 内の複数のユーザー、グループ、ロールにアタッチできるスタンドアロンポリシーです AWS アカウント。管理ポリシーには、 AWS 管理ポリシーとカスタマー管理ポリシーが含まれます。マネージドポリシーまたはインラインポリシーのいずれかを選択する方法については、「*IAM ユーザーガイド*」の「[管理ポリシーとインラインポリシーのいずれかを選択する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)」を参照してください。

### リソースベースのポリシー
<a name="security_iam_access-manage-resource-based-policies"></a>

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

### アクセスコントロールリスト (ACL)
<a name="security_iam_access-manage-acl"></a>

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

Amazon S3、および Amazon VPC は AWS WAF、ACLs。ACL の詳細については、「*Amazon Simple Storage Service デベロッパーガイド*」の「[アクセスコントロールリスト (ACL) の概要](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)」を参照してください。

### その他のポリシータイプ
<a name="security_iam_access-manage-other-policies"></a>

AWS は、追加のあまり一般的ではないポリシータイプをサポートしています。これらのポリシータイプでは、より一般的なポリシータイプで付与された最大の権限を設定できます。
+ **アクセス許可の境界** - アクセス許可の境界は、アイデンティティベースポリシーによって IAM エンティティ (IAM ユーザーまたはロール) に付与できる権限の上限を設定する高度な機能です。エンティティにアクセス許可の境界を設定できます。結果として得られる権限は、エンティティのアイデンティティベースポリシーとそのアクセス許可の境界の共通部分になります。`Principal` フィールドでユーザーまたはロールを指定するリソースベースのポリシーでは、アクセス許可の境界は制限されません。これらのポリシーのいずれかを明示的に拒否した場合、権限は無効になります。アクセス許可の境界の詳細については、「*IAM ユーザーガイド*」の「[IAM エンティティのアクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。
+ **サービスコントロールポリシー (SCPs)** – SCPsは、 の組織または組織単位 (OU) の最大アクセス許可を指定する JSON ポリシーです AWS Organizations。 AWS Organizations は、ビジネスが所有する複数の をグループ化して一元管理するためのサービス AWS アカウント です。組織内のすべての機能を有効にすると、サービスコントロールポリシー (SCP) を一部またはすべてのアカウントに適用できます。SCP は、各 を含むメンバーアカウントのエンティティのアクセス許可を制限します AWS アカウントのルートユーザー。Organizations と SCP の詳細については、「*AWS Organizations ユーザーガイド*」の「[サービスコントロールポリシー (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)」を参照してください。
+ **リソースコントロールポリシー (RCP)** – RCP は、所有する各リソースにアタッチされた IAM ポリシーを更新することなく、アカウント内のリソースに利用可能な最大数のアクセス許可を設定するために使用できる JSON ポリシーです。RCP は、メンバーアカウントのリソースのアクセス許可を制限し、組織に属しているかどうかにかかわらず AWS アカウントのルートユーザー、 を含む ID の有効なアクセス許可に影響を与える可能性があります。RCP をサポートする のリストを含む Organizations と RCP の詳細については、*AWS Organizations *RCPs[「リソースコントロールポリシー (RCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)」を参照してください。 AWS のサービス 
+ **セッションポリシー** - セッションポリシーは、ロールまたはフェデレーションユーザーの一時的なセッションをプログラムで作成する際にパラメータとして渡す高度なポリシーです。結果としてセッションの権限は、ユーザーまたはロールのアイデンティティベースポリシーとセッションポリシーの共通部分になります。また、リソースベースのポリシーから権限が派生する場合もあります。これらのポリシーのいずれかを明示的に拒否した場合、権限は無効になります。詳細については、「*IAM ユーザーガイド*」の「[セッションポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)」を参照してください。

### 複数のポリシータイプ
<a name="security_iam_access-manage-multiple-policies"></a>

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成される権限を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、*「IAM ユーザーガイド*」の[「ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」を参照してください。

# が IAM と AWS Snow Family 連携する方法
<a name="security_iam_service-with-iam"></a>

IAM を使用して へのアクセスを管理する前に AWS Snow Family、 で使用できる IAM 機能を確認してください AWS Snow Family。






**で使用できる IAM 機能 AWS Snow Family**  

| IAM の機能 | AWS Snow Family サポート | 
| --- | --- | 
|  [アイデンティティベースポリシー](#security_iam_service-with-iam-id-based-policies)  |   はい  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   はい  | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   はい  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   はい  | 
|  [ポリシー条件キー (サービス固有)](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   はい  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   いいえ   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   部分的  | 
|  [一時的な認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [転送アクセスセッション (FAS)](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   はい  | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |   いいえ   | 

 AWS Snow Family およびその他の AWS のサービスがほとんどの IAM 機能とどのように連携するかの概要については、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## のアイデンティティベースのポリシー AWS Snow Family
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザーグループ、ユーザーのグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。ID ベースのポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

### のアイデンティティベースのポリシーの例 AWS Snow Family
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



 AWS Snow Family アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Snowball Edge](security_iam_id-based-policy-examples.md)。

## 内のリソースベースのポリシー AWS Snow Family
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** あり

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM *ロールの信頼ポリシー*や Amazon S3 *バケットポリシー*があげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーでは、[プリンシパルを指定する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、アカウント全体、または別のアカウントの IAM エンティティをリソースベースのポリシーのプリンシパルとして指定します。リソースベースのポリシーにクロスアカウントのプリンシパルを追加しても、信頼関係は半分しか確立されない点に注意してください。プリンシパルとリソースが異なる場合 AWS アカウント、信頼されたアカウントの IAM 管理者は、プリンシパルエンティティ (ユーザーまたはロール) にリソースへのアクセス許可も付与する必要があります。IAM 管理者は、アイデンティティベースのポリシーをエンティティにアタッチすることで権限を付与します。ただし、リソースベースのポリシーで、同じアカウントのプリンシパルへのアクセス権が付与されている場合は、アイデンティティベースのポリシーをさらに付与する必要はありません。詳細については、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントリソースアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

## のポリシーアクション AWS Snow Family
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:**あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連付けられた AWS API オペレーションと同じです。一致する API オペレーションのない*許可のみのアクション*など、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは*依存アクション*と呼ばれます。

このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。



 AWS Snow Family アクションのリストを確認するには、*「サービス認可リファレンス*」の「 [で定義されるアクション AWS Snow Family](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html#awssnowball-actions-as-permissions)」を参照してください。

のポリシーアクションは、アクションの前に次のプレフィックス AWS Snow Family を使用します。

```
snowball
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

```
"Action": [
      "snowball:action1",
      "snowball:action2"
         ]
```





 AWS Snow Family アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Snowball Edge](security_iam_id-based-policy-examples.md)。

## のポリシーリソース AWS Snow Family
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントには`Resource` または `NotResource` 要素を含める必要があります。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。これは、*リソースレベルの許可*と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

 AWS Snow Family リソースタイプとその ARNs「 [で定義されるリソース AWS Snow Family](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html#awssnowball-resources-for-iam-policies)」を参照してください。 **どのアクションで各リソースの ARN を指定できるかについては、「[AWS Snow Familyで定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html#awssnowball-actions-as-permissions)」を参照してください。





 AWS Snow Family アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Snowball Edge](security_iam_id-based-policy-examples.md)。

## のポリシー条件キー AWS Snow Family
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Condition` 要素 (または `Condition` *ブロック*) を使用すると、ステートメントが有効な条件を指定できます。`Condition` 要素はオプションです。イコールや未満などの [条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html) を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の `Condition` 要素を指定する場合、または 1 つの `Condition` 要素に複数のキーを指定する場合、 AWS では `AND` 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理`OR`オペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

 条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「*IAM ユーザーガイド*」の「[‬IAM ポリシーの要素: 変数およびタグ‭](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)」‬を参照してください。

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

 AWS Snow Family 条件キーのリストを確認するには、*「サービス認可リファレンス*」の「 [の条件キー AWS Snow Family](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html#awssnowball-policy-keys)」を参照してください。条件キーを使用できるアクションとリソースについては、[「 で定義されるアクション AWS Snow Family](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html#awssnowball-actions-as-permissions)」を参照してください。

 AWS Snow Family アイデンティティベースのポリシーの例を表示するには、「」を参照してください[のアイデンティティベースのポリシーの例 AWS Snowball Edge](security_iam_id-based-policy-examples.md)。

## ACLs AWS Snow Family
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## を使用した ABAC AWS Snow Family
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセス制御 (ABAC) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性は*タグ*と呼ばれます。タグは、IAM エンティティ (ユーザーまたはロール) および多くの AWS リソースにアタッチできます。エンティティとリソースのタグ付けは、ABAC の最初の手順です。その後、プリンシパルのタグがアクセスしようとしているリソースのタグと一致した場合にオペレーションを許可するように ABAC ポリシーをします。

ABAC は、急成長する環境やポリシー管理が煩雑になる状況で役立ちます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの [条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

## での一時的な認証情報の使用 AWS Snow Family
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報と AWS のサービス 連携する などの詳細については、[AWS のサービス IAM ユーザーガイドの「IAM と連携する](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) 」を参照してください。 **

ユーザー名とパスワード以外の方法 AWS マネジメントコンソール を使用して にサインインする場合、一時的な認証情報を使用します。たとえば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えに関する詳細については、「*IAM ユーザーガイド*」の「[ユーザーから IAM ロールに切り替える (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)」を参照してください。

一時的な認証情報は、 AWS CLI または AWS API を使用して手動で作成できます。その後、これらの一時的な認証情報を使用してアクセスすることができます AWS。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「[IAM の一時的セキュリティ認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」を参照してください。

## の転送アクセスセッション AWS Snow Family
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

 IAM ユーザーまたはロールを使用して でアクションを実行すると AWS、プリンシパルと見なされます。一部のサービスを使用する際に、アクションを実行することで、別のサービスの別のアクションがトリガーされることがあります。FAS は、 を呼び出すプリンシパルのアクセス許可を AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする と組み合わせて使用します。FAS リクエストは、サービスが他の AWS のサービス またはリソースとのやり取りを完了する必要があるリクエストを受け取った場合にのみ行われます。この場合、両方のアクションを実行するためのアクセス許可が必要です。FASリクエストを行う際のポリシーの詳細については、「[転送アクセスセッション](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html)」を参照してください。

## AWS Snow Familyのサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** あり

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「*IAM ユーザーガイド*」の「[AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)」を参照してください。

**警告**  
サービスロールのアクセス許可を変更すると、 AWS Snow Family 機能が破損する可能性があります。 AWS Snow Family が指示する場合にのみ、サービスロールを編集します。

## のサービスにリンクされたロール AWS Snow Family
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**サービスにリンクされたロールのサポート:** なし 

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。

# のアイデンティティベースのポリシーの例 AWS Snowball Edge
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、 ユーザーおよびロールには、 AWS Snow Family リソースを作成または変更する権限はありません。また、、 AWS Command Line Interface （AWS CLI） AWS マネジメントコンソール、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。その後、管理者はロールに IAM ポリシーを追加し、ユーザーはロールを引き継ぐことができます。

これらサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

各リソースタイプの ARN の形式など AWS Snow Family、 で定義されるアクションとリソースタイプの詳細については、*「サービス認可リファレンス*」の[「 のアクション、リソース、および条件キー AWS Snow Family](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssnowball.html)」を参照してください。 ARNs 

**Topics**
+ [

## ポリシーに関するベストプラクティス
](#security_iam_service-with-iam-policy-best-practices)
+ [

## AWS Snow Family コンソールを使用する
](#security_iam_id-based-policy-examples-console)
+ [

## 自分の権限の表示をユーザーに許可する
](#security_iam_id-based-policy-examples-view-own-permissions)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、アカウント内の AWS Snow Family リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」または「[ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)」を参照してください。
+ **最小特権を適用する** – IAM ポリシーで許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、「*IAM ユーザーガイド*」の「[IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、「*IAM ユーザーガイド*」の「[IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)」を参照してください。
+ **IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、「*IAM ユーザーガイド*」の「[IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)」を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「*IAM ユーザーガイド*」の「[MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)」を参照してください。

IAM でのベストプラクティスの詳細については、「*IAM ユーザーガイド*」の「[IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

## AWS Snow Family コンソールを使用する
<a name="security_iam_id-based-policy-examples-console"></a>

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

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

ユーザーとロールが AWS Snow Family 引き続きコンソールを使用できるようにするには、エンティティに AWS Snow Family `ConsoleAccess`または `ReadOnly` AWS 管理ポリシーもアタッチします。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を 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": "*"
        }
    ]
}
```







# AWS Snowball Edge ID とアクセスのトラブルシューティング
<a name="security_iam_troubleshoot"></a>

次の情報は、 および IAM の使用時に発生する可能性がある一般的な問題の診断 AWS Snow Family と修正に役立ちます。

**Topics**
+ [

## でアクションを実行する権限がありません AWS Snow Family
](#security_iam_troubleshoot-no-permissions)
+ [

## iam:PassRole を実行する権限がありません
](#security_iam_troubleshoot-passrole)
+ [

## 自分の 以外のユーザーに自分の AWS Snow Family リソース AWS アカウント へのアクセスを許可したい
](#security_iam_troubleshoot-cross-account-access)

## でアクションを実行する権限がありません AWS Snow Family
<a name="security_iam_troubleshoot-no-permissions"></a>

アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。

次のエラー例は、`mateojackson` IAM ユーザーがコンソールを使用して、ある `my-example-widget` リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要な`snowball:GetWidget` アクセス許可を持っていない場合に発生するものです。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: snowball:GetWidget on resource: my-example-widget
```

この場合、`snowball:GetWidget` アクションを使用して `my-example-widget`リソースへのアクセスを許可するように、`mateojackson` ユーザーのポリシーを更新する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。

## iam:PassRole を実行する権限がありません
<a name="security_iam_troubleshoot-passrole"></a>

`iam:PassRole` アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して AWS Snow Familyにロールを渡すことができるようにする必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡す権限が必要です。

以下の例のエラーは、`marymajor` という IAM ユーザーがコンソールを使用して AWS Snow Familyでアクションを実行しようする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。メアリーには、ロールをサービスに渡す許可がありません。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

この場合、Mary のポリシーを更新してメアリーに `iam:PassRole` アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

## 自分の 以外のユーザーに自分の AWS Snow Family リソース AWS アカウント へのアクセスを許可したい
<a name="security_iam_troubleshoot-cross-account-access"></a>

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください:
+ がこれらの機能 AWS Snow Family をサポートしているかどうかを確認するには、「」を参照してください[が IAM と AWS Snow Family 連携する方法](security_iam_service-with-iam.md)。
+ 所有 AWS アカウント している のリソースへのアクセスを提供する方法については、IAM *ユーザーガイド*の[「所有 AWS アカウント している別の の IAM ユーザーへのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)」を参照してください。
+ リソースへのアクセスをサードパーティーに提供する方法については AWS アカウント、*IAM ユーザーガイド*の[「サードパーティー AWS アカウント が所有する へのアクセスを提供する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)」を参照してください。
+ ID フェデレーションを介してアクセスを提供する方法については、「*IAM ユーザーガイド*」の「[外部で認証されたユーザー (ID フェデレーション) へのアクセスの許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)」を参照してください。
+ クロスアカウントアクセスにおけるロールとリソースベースのポリシーの使用方法の違いについては、「*IAM ユーザーガイド*」の「[IAM でのクロスアカウントのリソースへのアクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)」を参照してください。

# の「アクセスコントロール AWS クラウド」
<a name="access-control"></a>

 AWSでリクエストを認証するための有効な認証情報を持つことができます。ただし、アクセス許可がない限り、 AWS リソースを作成またはアクセスすることはできません。たとえば、Snowball Edge デバイスを注文するジョブを作成するアクセス許可が必要です。

以下のセクションでは、 AWS Snowball Edgeのクラウドベースのアクセス権限を管理する方法について説明します。最初に概要のセクションを読むことをお勧めします。
+ [のリソースへのアクセス許可の管理の概要 AWS クラウド](authentication-and-access-control.md#access-control-overview)
+ [でのアイデンティティベースのポリシー (IAM ポリシー) の使用 AWS Snowball Edge](access-control-managing-permissions.md)

## のリソースへのアクセス許可の管理の概要 AWS クラウド
<a name="access-control-overview"></a>

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

**注記**  
*アカウント管理者* (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「*IAM ユーザーガイド*」の「[IAM のベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

**Topics**
+ [

### リソースおよびオペレーション
](#access-control-resources)
+ [

### リソース所有権について
](#access-control-owner)
+ [

### でのリソースへのアクセスの管理 AWS クラウド
](#access-control-manage-access-intro)
+ [

### ポリシー要素 (アクション、効果、プリンシパル) の指定
](#access-control-specify-actions)
+ [

### ポリシーでの条件の指定
](#specifying-conditions)

### リソースおよびオペレーション
<a name="access-control-resources"></a>

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

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


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

AWS Snowball Edge には、ジョブを作成および管理するための一連のオペレーションが用意されています。使用可能なオペレーションのリストについては、[AWS Snowball Edge API リファレンス](https://docs.aws.amazon.com/snowball/latest/api-reference/api-reference.html)を参照してください。

### リソース所有権について
<a name="access-control-owner"></a>

は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は、リソース作成リクエスト AWS アカウント を認証する[プリンシパルエンティティ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) (ルートアカウント、IAM ユーザー、または IAM ロール) の です。次の例は、この仕組みを示しています。
+ の AWS アカウント ルートアカウントの認証情報を使用して S3 バケットを作成する場合、 AWS アカウント はリソースの所有者です ( では AWS Snowball Edge、リソースはジョブです）。
+ で IAM ユーザーを作成し AWS アカウント 、そのユーザーに Snowball Edge デバイスを注文するジョブを作成するアクセス許可を付与すると、そのユーザーは Snowball Edge デバイスを注文するジョブを作成できます。ただし、ユーザーが属 AWS アカウントする がジョブリソースを所有します。
+ ジョブを作成するアクセス許可 AWS アカウント を持つ で IAM ロールを作成する場合、ロールを引き受けることができるすべてのユーザーが Snowball Edge デバイスを注文するジョブを作成できます。ロールが属 AWS アカウントする がジョブリソースを所有します。

### でのリソースへのアクセスの管理 AWS クラウド
<a name="access-control-manage-access-intro"></a>

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

**注記**  
このセクションでは、 のコンテキストでの IAM の使用について説明します AWS Snowball Edge。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、「*IAM ユーザーガイド*」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。IAM ポリシー構文の詳細と説明については、「*IAM ユーザーガイド*」の「[AWS IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

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

**Topics**
+ [

#### リソースベースのポリシー
](#access-control-manage-access-intro-resource-policies)

#### リソースベースのポリシー
<a name="access-control-manage-access-intro-resource-policies"></a>

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

### ポリシー要素 (アクション、効果、プリンシパル) の指定
<a name="access-control-specify-actions"></a>

各ジョブで ([リソースおよびオペレーション](#access-control-resources) を参照)、サービスは一連の API オペレーション ([AWS Snowball Edge API リファレンスリファレンス](https://docs.aws.amazon.com/snowball/latest/api-reference/api-reference.html)を参照) を定義してそのジョブを作成、管理します。これらの API オペレーションのアクセス許可を付与するために、 はポリシーで指定できる一連のアクション AWS Snowball Edge を定義します。たとえば、ジョブの場合、次のアクションが定義されます。`CreateJob`、`CancelJob`、および `DescribeJob`。API オペレーションを実行する場合に、複数のアクションで権限が必要となる場合があることに注意してください。

最も基本的なポリシーの要素を次に示します。
+ **リソース**– ポリシーで Amazon リソースネーム (ARN) を使用して、ポリシーを適用するリソースを識別します。詳細については、「[リソースおよびオペレーション](#access-control-resources)」を参照してください。
**注記**  
これは、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 Edge はリソースベースのポリシーをサポートしていません。

IAM ポリシーの構文と記述の詳細については、「*IAM ユーザーガイド*」の「[AWS IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

すべての AWS Snowball Edge API アクションを示す表については、「」を参照してください[AWS Snowball Edge API アクセス許可: アクション、リソース、および条件リファレンス](access-policy-examples-for-sdk-cli.md#snowball-api-permissions-ref)。

### ポリシーでの条件の指定
<a name="specifying-conditions"></a>

許可を付与するとき、IAM ポリシー言語を使用して、ポリシーが有効になる必要がある条件を指定できます。例えば、特定の日付の後にのみ適用されるポリシーが必要になる場合があります。ポリシー言語での条件の指定の詳細については、「*IAM ユーザーガイド*」の「[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)」を参照してください。

条件を表すには、あらかじめ定義された条件キーを使用します。 AWS Snowball Edgeに固有の条件キーはありません。ただし、必要に応じて使用できる AWS広範な条件キーがあります。 AWS全体のキーの完全なリストについては、*IAM ユーザーガイド*の[「条件に使用可能なキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)」を参照してください。

# でのアイデンティティベースのポリシー (IAM ポリシー) の使用 AWS Snowball Edge
<a name="access-control-managing-permissions"></a>

このトピックでは、アカウント管理者が IAM アイデンティティ (ユーザー、グループ、ロール) にアクセス許可ポリシーをアタッチする方法を示す、アイデンティティベースのポリシーの例について説明します。これにより、これらのポリシーは の AWS Snowball Edge リソースに対してオペレーションを実行するアクセス許可を付与します AWS クラウド。

**重要**  
初めに、 AWS Snowball Edge リソースへのアクセスを管理するための基本概念と使用可能なオプションについて説明する概要トピックをお読みになることをお勧めします。詳細については、「[のリソースへのアクセス許可の管理の概要 AWS クラウド](authentication-and-access-control.md#access-control-overview)」を参照してください。

このセクションでは、次のトピックを対象としています。
+  [AWS Snowball Edge コンソールを使用するために必要なアクセス許可](#additional-console-required-permissions) 
+ [AWSの 管理 (事前定義) ポリシー AWS Snowball Edge](authentication-and-access-control.md#access-policy-examples-aws-managed)
+ [お客様が管理するポリシーの例](access-policy-examples-for-sdk-cli.md)

以下に示しているのは、アクセス許可ポリシーの例です。

------
#### [ JSON ]

****  

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

------

このポリシーには以下の 2 つのステートメントがあります。
+ 最初のステートメントは、`arn:aws:s3:::*` の*Amazon リソースネーム (ARN)* を使用して、すべての Amazon S3 バケットで 3 つの Amazon S3 のアクション (`s3:GetBucketLocation`、`s3:GetObject`、および `s3:ListBucket`) を実行するためのアクセス許可を付与します。ARN でワイルドカード (\$1) が指定されているため、ユーザーは任意の、またはすべての Amazon S3 バケットを選択してデータをエクスポートできます。
+ 2 番目のステートメントは、すべての AWS Snowball Edge アクションに対するアクセス許可を付与します。これらのアクションではリソースレベルのアクセス権限はサポートされていないため、ポリシーでワイルドカード文字 (\$1) が指定され、`Resource` の値にもワイルドカード文字が指定されます。

ID ベースのポリシーでアクセス許可を得るプリンシパルを指定していないため、ポリシーでは `Principal` 要素を指定していません。ユーザーにポリシーをアタッチすると、そのユーザーが暗黙のプリンシパルになります。IAM ロールにアクセス権限ポリシーをアタッチすると、ロールの信頼ポリシーで識別されたプリンシパルがアクセス権限を得ることになります。

すべての AWS Snowball Edge ジョブ管理 API アクションとそれらが適用されるリソースを示す表については、「」を参照してください[AWS Snowball Edge API アクセス許可: アクション、リソース、および条件リファレンス](access-policy-examples-for-sdk-cli.md#snowball-api-permissions-ref)。

## AWS Snowball Edge コンソールを使用するために必要なアクセス許可
<a name="additional-console-required-permissions"></a>

アクセス許可リファレンステーブルには、 AWS Snowball Edge ジョブ管理 API オペレーションが一覧表示され、各オペレーションに必要なアクセス許可が表示されます。ジョブ管理 API オペレーションの詳細については、「[AWS Snowball Edge API アクセス許可: アクション、リソース、および条件リファレンス](access-policy-examples-for-sdk-cli.md#snowball-api-permissions-ref)」を参照してください。

 を使用するには AWS Snow ファミリーマネジメントコンソール、次のアクセス許可ポリシーに示すように、追加のアクションのアクセス許可を付与する必要があります。

------
#### [ JSON ]

****  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetBucketPolicy",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:PutObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetFunctionConfiguration"
            ],
            "Resource": "arn:aws:lambda:*::function:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:ListFunctions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:RetireGrant",
                "kms:ListKeys",
                "kms:DescribeKey",
                "kms:ListAliases"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:ListRoles",
                "iam:ListRolePolicies",
                "iam:PutRolePolicy"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/snowball*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "importexport.amazonaws.com"
                }
            }
        },
        {
           "Effect": "Allow",
           "Action": [
                "ec2:DescribeImages",
                "ec2:ModifyImageAttribute"
           ],
           "Resource": [
                "*"
           ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:CreateTopic",
                "sns:ListTopics",
                "sns:GetTopicAttributes",
                "sns:SetTopicAttributes",
                "sns:ListSubscriptionsByTopic",
                "sns:Subscribe"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:getServiceRoleForAccount"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "snowball:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

------
#### [ JSON ]

****  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetBucketPolicy",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:PutObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetFunctionConfiguration"
            ],
            "Resource": "arn:aws:lambda:::function:*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:ListFunctions"
            ],
            "Resource": "arn:aws:lambda:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:ListRoles",
                "iam:ListRolePolicies",
                "iam:PutRolePolicy"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/snowball*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "importexport.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeImages",
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sns:CreateTopic",
                "sns:ListTopics",
                "sns:GetTopicAttributes",
                "sns:SetTopicAttributes",
                "sns:ListSubscriptionsByTopic",
                "sns:Subscribe"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:getServiceRoleForAccount"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "snowball:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

 AWS Snowball Edge コンソールには、次の理由でこれらの追加のアクセス許可が必要です。
+ `ec2:` – ユーザーは、Amazon EC2 互換インスタンスを記述し、ローカルコンピューティングの目的でそれらの属性を変更できます。詳細については、「[Snowball Edge での Amazon EC2-compatibleコンピューティングインスタンスの使用](using-ec2.md)」を参照してください。
+ `kms:` - ユーザーは、データを暗号化する KMS キーを作成または選択できます。詳細については、「[AWS Key Management Service in AWS Snowball Edge](data-protection.md#kms)」を参照してください。
+ `iam:` – これにより、ジョブの作成と処理に関連する AWS リソースにアクセスするために AWS Snowball Edge が引き受ける IAM ロール ARN を作成または選択できます。
+ `sns:` - ユーザーは、作成したジョブの Amazon SNS 通知を作成または選択できます。詳細については、「[Snowball Edge の通知](notifications.md)」を参照してください。

## AWSの 管理 (事前定義) ポリシー AWS Snowball Edge
<a name="access-policy-examples-aws-managed"></a>

AWS は、 によって作成および管理されるスタンドアロン IAM ポリシーを提供することで、多くの一般的なユースケースに対処します AWS。マネージドポリシーは、一般的ユースケースに必要な許可を付与することで、どの許可が必要なのかをユーザーが調査する必要をなくすることができます。詳細については、「*IAM ユーザーガイド*」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

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

### Snowball Edge の IAM ロールポリシーの作成
<a name="create-iam-role"></a>

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

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

**用の IAM ロールを作成するには**

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/importexport/](https://console.aws.amazon.com/importexport/) で AWS Snowball Edge コンソールを開きます。

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

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

1. 2 番目のステップでは、[**Permission**] で、[**Create/Select IAM Role**] を選択します。

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

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

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

1. **[Next]** (次へ) を選択して、 ロールの作成を終了します。

前述の手順により、データをインポート先となる Amazon S3 バケットへの書き込み権限を持つ IAM ロールが作成されます。作成する IAM ロールは、インポートジョブ用であるか、エクスポートジョブ用であるかによって、次のいずれかの構造になります。

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

------
#### [ JSON ]

****  

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

------

 AWS KMSマネージドキーによるサーバー側の暗号化 (SSE-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-KMS を使用して Amazon S3 へのマルチパートアップロードを実行するときは、 AWS KMS キー (`kms:Decrypt`) を復号するアクセス許可が必要です。

以下に示しているのは、`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 ロールの例です。

------
#### [ JSON ]

****  

```
{
  "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 Edge ジョブ管理用の API オペレーションのアクセス許可を許可できます。これらのカスタムポリシーは、それらのアクセス許可が必要な IAM ユーザーまたはグループにアタッチできます。

# お客様が管理するポリシーの例
<a name="access-policy-examples-for-sdk-cli"></a>

このセクションでは、さまざまな AWS Snowball Edge ジョブ管理アクションのアクセス許可を付与するユーザーポリシーの例を示します。これらのポリシーは、 AWS SDK または AWS CLIを使用しているときに機能します。コンソールを使用している場合は、「[AWS Snowball Edge コンソールを使用するために必要なアクセス許可](access-control-managing-permissions.md#additional-console-required-permissions)」で説明しているコンソールに固有の追加のアクセス権限を付与する必要があります。

**注記**  
すべての例で、us-west-2 リージョンを使用し、架空のアカウント ID を含めています。

**Topics**
+ [

## 例 1: ユーザーが API を使用して Snowball Edge デバイスを注文するためのジョブの作成を許可するロールポリシー
](#access-policy-example-create-api)
+ [

## 例 2: インポートジョブを作成するためのロールポリシー
](#role-policy-example-import)
+ [

## 例 3: エクスポートジョブを作成するためのロールポリシー
](#role-policy-example-export)
+ [

## 例 4: 期待されるロールのアクセス許可と信頼ポリシー
](#expected-role-permissions-and-trust-policy)
+ [

## AWS Snowball Edge API アクセス許可: アクション、リソース、および条件リファレンス
](#snowball-api-permissions-ref)

## 例 1: ユーザーが API を使用して Snowball Edge デバイスを注文するためのジョブの作成を許可するロールポリシー
<a name="access-policy-example-create-api"></a>

以下のアクセス権限ポリシーは、ジョブ管理 API を使用したジョブまたはクラスター作成のアクセス権限を付与するために使用される、すべてのポリシーで必須の構成要素です。このステートメントは、Snowball IAM ロールの信頼関係ポリシーステートメントとして必要です。

------
#### [ JSON ]

****  

```
{
    "Version": "2012-10-17",
    "Statement": [
    {
         "Effect": "Allow",
         "Principal": {
         "Service": "importexport.amazonaws.com"
    },
    "Action": "sts:AssumeRole"
    }
    ]
}
```

------

## 例 2: インポートジョブを作成するためのロールポリシー
<a name="role-policy-example-import"></a>

次のロール信頼ポリシーを使用して、 AWS IoT Greengrass 関数 AWS Lambda を使用する Snowball Edge のインポートジョブを作成します。

------
#### [ JSON ]

****  

```
                    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketPolicy",
                "s3:GetBucketLocation",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:AbortMultipartUpload",
                "s3:ListMultipartUploadParts",
                "s3:PutObjectAcl",
                "s3:GetObject"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "snowball:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:AttachPrincipalPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateThing",
                "iot:DescribeEndpoint",
                "iot:GetPolicy"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateCoreDefinition",
                "greengrass:CreateDeployment",
                "greengrass:CreateDeviceDefinition",
                "greengrass:CreateFunctionDefinition",
                "greengrass:CreateGroup",
                "greengrass:CreateGroupVersion",
                "greengrass:CreateLoggerDefinition",
                "greengrass:CreateSubscriptionDefinition",
                "greengrass:GetDeploymentStatus",
                "greengrass:UpdateGroupCertificateConfiguration",
                "greengrass:CreateGroupCertificateAuthority",
                "greengrass:GetGroupCertificateAuthority",
                "greengrass:ListGroupCertificateAuthorities",
                "greengrass:ListDeployments", 
                "greengrass:GetGroup", 
                "greengrass:GetGroupVersion", 
                "greengrass:GetCoreDefinitionVersion"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 例 3: エクスポートジョブを作成するためのロールポリシー
<a name="role-policy-example-export"></a>

次のロール信頼ポリシーを使用して、 AWS IoT Greengrass 関数 AWS Lambda を搭載した を使用する Snowball Edge のエクスポートジョブを作成します。

------
#### [ JSON ]

****  

```
                    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
           "Effect": "Allow",
           "Action": [
                "snowball:*"
           ],
           "Resource": [
                "*"
           ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iot:AttachPrincipalPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateThing",
                "iot:DescribeEndpoint",
                "iot:GetPolicy"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateCoreDefinition",
                "greengrass:CreateDeployment",
                "greengrass:CreateDeviceDefinition",
                "greengrass:CreateFunctionDefinition",
                "greengrass:CreateGroup",
                "greengrass:CreateGroupVersion",
                "greengrass:CreateLoggerDefinition",
                "greengrass:CreateSubscriptionDefinition",
                "greengrass:GetDeploymentStatus",
                "greengrass:UpdateGroupCertificateConfiguration",
                "greengrass:CreateGroupCertificateAuthority",
                "greengrass:GetGroupCertificateAuthority",
                "greengrass:ListGroupCertificateAuthorities",
                "greengrass:ListDeployments", 
                "greengrass:GetGroup", 
                "greengrass:GetGroupVersion", 
                "greengrass:GetCoreDefinitionVersion"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## 例 4: 期待されるロールのアクセス許可と信頼ポリシー
<a name="expected-role-permissions-and-trust-policy"></a>

既存のサービスロールを使用するには、以下の期待されるロールのアクセス許可ポリシーが必要です。これは 1 回限りの設定です。

------
#### [ JSON ]

****  

```
{
    "Version": "2012-10-17",
    "Statement":
    [
        {
            "Effect": "Allow",
            "Action": "sns:Publish",
            "Resource": ["[[snsArn]]"]
        },
        {
            "Effect": "Allow",
            "Action":
            [
                "cloudwatch:ListMetrics",
                "cloudwatch:GetMetricData",
                "cloudwatch:PutMetricData"
            ],
            "Resource":
            [
                "*"
            ],
            "Condition": {
                    "StringEquals": {
                        "cloudwatch:namespace": "AWS/SnowFamily"
                    }
            }
        }
    ]
}
```

------

既存のサービスロールを使用するには、以下の期待されるロールの信頼ポリシーが必要です。これは 1 回限りの設定です。

------
#### [ JSON ]

****  

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "importexport.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

## AWS Snowball Edge API アクセス許可: アクション、リソース、および条件リファレンス
<a name="snowball-api-permissions-ref"></a>

[の「アクセスコントロール AWS クラウド」](access-control.md) をセットアップし、IAM アイデンティティにアタッチできるアクセス権限ポリシー (アイデンティティベースのポリシー) を作成するときは、以下のテーブルをリファレンスとして使用できます。次の表各 AWS Snowball Edge ジョブ管理 API オペレーションと、アクションを実行するためのアクセス許可を付与できる対応するアクションを示します。また、API オペレーションごとに、アクセス許可を付与できる AWS リソースも含まれます。ポリシーの `Action` フィールドでアクションを指定し、ポリシーの `Resource` フィールドでリソースの値を指定します。

 AWS Snowball Edge ポリシーで AWS全体の条件キーを使用して、条件を表現できます。 AWS全体のキーの完全なリストについては、*IAM ユーザーガイド*の[「使用可能なキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#AvailableKeys)」を参照してください。

**注記**  
アクションを指定するには、API オペレーション名 (`snowball:CreateJob` など) の前に `snowball:` プレフィックスを使用します。

スクロールバーを使用して、テーブルの残りの部分を確認します。


**AWS Snowball Edge ジョブ管理 API とアクションに必要なアクセス許可**  

| ジョブ管理 API アクション | 必要な許可 | 
| --- | --- | 
|   [CancelCluster](https://docs.aws.amazon.com/snowball/latest/api-reference/API_CancelCluster.html)   | snowball:CancelCluster | 
|   [CancelJob](https://docs.aws.amazon.com/snowball/latest/api-reference/API_CancelJob.html)  |  `snowball:CancelJob`  | 
|   [CreateAddress](https://docs.aws.amazon.com/snowball/latest/api-reference/API_CreateAddress.html)  | snowball:CreateAddress | 
|   [CreateCluster](https://docs.aws.amazon.com/snowball/latest/api-reference/API_CreateCluster.html)  | このアクションには次のアクセス権限が必要です。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/snowball/latest/developer-guide/access-policy-examples-for-sdk-cli.html) | 
|   [CreateJob](https://docs.aws.amazon.com/snowball/latest/api-reference/API_CreateJob.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/snowball/latest/developer-guide/access-policy-examples-for-sdk-cli.html) | 
|   [DescribeAddress](https://docs.aws.amazon.com/snowball/latest/api-reference/API_DescribeAddress.html)  | snowball:DescribeAddress | 
|   [DescribeAddresses](https://docs.aws.amazon.com/snowball/latest/api-reference/API_DescribeAddresses.html)  | snowball:DescribeAddresses | 
|   [DescribeCluster](https://docs.aws.amazon.com/snowball/latest/api-reference/API_DescribeCluster.html)  | snowball:DescribeCluster | 
|   [DescribeJob](https://docs.aws.amazon.com/snowball/latest/api-reference/API_DescribeJob.html)  | snowball:DescribeJob | 
|   [GetJobManifest](https://docs.aws.amazon.com/snowball/latest/api-reference/API_GetJobManifest.html)  | snowball:GetJobManifest | 
|   [GetJobUnlockCode](https://docs.aws.amazon.com/snowball/latest/api-reference/API_GetJobUnlockCode.html)  | snowball:GetJobUnlockCode | 
|   [GetSnowballUsage](https://docs.aws.amazon.com/snowball/latest/api-reference/API_GetSnowballUsage.html)  | snowball:GetSnowballUsage | 
|   [ListClusterJobs](https://docs.aws.amazon.com/snowball/latest/api-reference/API_ListClusterJobs.html)  | snowball:ListClusterJobs | 
|   [ListClusters](https://docs.aws.amazon.com/snowball/latest/api-reference/API_ListClusters.html)  | snowball:ListClusters | 
|   [ListJobs](https://docs.aws.amazon.com/snowball/latest/api-reference/API_ListJobs.html)  | snowball:ListJobs | 
|   [UpdateCluster](https://docs.aws.amazon.com/snowball/latest/api-reference/API_UpdateCluster.html)  | snowball:UpdateCluster | 
|   [UpdateJob](https://docs.aws.amazon.com/snowball/latest/api-reference/API_UpdateJob.html)  | snowball:UpdateJob | 