手順3: カタログ統合用にAWSアカウントをセットアップする
カタログ統合では、アマゾンウェブサービス(AWS)のツールを使用してカタログをアップロードします。また、カタログの保存用ツールへのアクセスを許可するユーザーの管理も、このツールで行います。カタログファイルをアップロードする前に、AWSアカウントをセットアップし、Amazonの担当者とアカウント情報を交換する必要があります。
- AWSバケットについて
- 手順の概要
- 手順A: AWSアカウントにサインインまたはサインアップする(新規AWSユーザーの場合)
- 手順B: 12桁のAWSアカウントIDをAmazonの担当者に送信する
- 手順C: Amazonの担当者からアプリ用のS3バケット情報を取得する
- 手順D: S3カタログバケットにファイルをアップロードするためのパーミッションをIAM AWSユーザーに付与する
- 手順E: IAMユーザーポリシーをテストする
- 手順F: AWSコマンドラインインターフェイス(CLI)、またはその代替をセットアップする
- 次のステップ
AWSバケットについて
Fire TVの担当者がカタログ統合用のAWS S3バケットを作成し、開発者にそのバケットへのアクセス許可を設定します。S3バケットはAmazonが作成するため、バケットは開発者のAWS S3コンソールに表示されません。ただし開発者は、コマンドラインインターフェイス(CLI)を使用してバケットにアクセスし、バケットのコンテンツを表示したり、ファイルをバケットにアップロードしたりできます。S3バケットとの対話に使用されるコマンドについては、次のセクションで説明します。
手順の概要
AWSアカウントのセットアップは1回限りのプロセスで、Amazonへのカタログファイルのアップロードを開始する前に完了しておく必要があります。AWSアカウントのセットアップとテストを行うには、次の手順を実行します。
- AWSアカウントにサインインまたはサインアップします。
- Amazonの担当者に、12桁のAWSアカウントID(IAMユーザーIDとは異なります)を送信します。
- Amazonの担当者からアプリ用のS3バケット情報を取得します。
- Identity and Access Management(IAM)AWSユーザーに、S3バケットにファイルをアップロードするためのパーミッションを付与します。
- IAMユーザーのポリシーをテストします。
- AWS CLIをセットアップします。
- サンプルCDFファイルとAWSコマンドラインインターフェイス(CLI)を使用してカタログのアップロードのテストを行い、カタログファイルをアップロードできることを検証します。
手順A: AWSアカウントにサインインまたはサインアップする(新規AWSユーザーの場合)
カタログファイルをAmazon S3でAmazonのサービスにアップロードするには、アマゾンウェブサービス(AWS)のアカウントが必要です。AWSアカウントがある場合は、そのアカウントにサインインします。AWSアカウントを持っていない場合は、アカウントを作成する必要があります。
AWSアカウントを作成するには、以下の手順に従います。
- http://aws.amazon.com/に移動します。
- [コンソールへサインイン] ボタンをクリックします。ログイン画面が表示されます。
- Eメールアドレスまたは携帯電話番号を入力します。
- [私は新規ユーザーです] オプションを選択します。
- [サインイン(セキュリティシステムを使う)] ボタンをクリックします。
- 指示に従ってアカウントを作成します。
手順B: 12桁のAWSアカウントIDをAmazonの担当者に送信する
カタログサービスがAmazonによって作成されたS3カタログバケットへのアクセス許可を付与できるように、セキュリティで保護された方法で、Amazonの担当者にAWSアカウントの12桁のアカウントIDを送信します。
AWSアカウントIDを確認するには、以下の手順に従います。
-
アカウント所有者(ルートアカウントユーザー)の場合は、[セキュリティ認証情報] ページの [アカウントID] タブの下にAWSアカウントIDが表示されます。
-
IAMユーザーまたはフェデレーションユーザーの場合は、サポートセンター(右上隅)で確認できます(IAMユーザーのセットアップを完了していない場合は、次のセクションの手順を参照してください。IAMユーザーのセキュリティポリシーをセットアップするには、Amazonの担当者からS3バケットの名前を入手する必要があります)。
手順C: Amazonの担当者からアプリ用のS3バケット情報を取得する
AWSアカウントIDをAmazonの担当者に送信すると、担当者からS3バケットの名前が送信されます。このカタログバケットはアカウントに固有のものであり、開発者のアカウントだけがアクセスできます。ほかのカタログ統合パートナーは、そのS3カタログバケットを表示することもアクセスすることもできません。
手順D: S3カタログバケットにファイルをアップロードするためのパーミッションをIAM AWSユーザーに付与する
Identity and Access Management(IAM)ユーザーに、すべてのS3バケットまたは少なくとも開発者のS3カタログバケットへの "S3 PutObject" 以上のパーミッションを構成します。このパーミッションを付与されたユーザーは、S3バケットにファイルをアップロードできるようになります。
AWSルート認証情報を使用してAmazon S3やカタログバケットにアクセスすることも可能ですが、AWSでは、Identity and Access Management(IAM)ユーザーを別途作成し、そのユーザー認証情報を使用してAWSとやり取りすることを推奨しています。
たとえば、S3に対しては管理者フルアクセス許可を持つものの、ほかのAWSサービスにはアクセスできないIAMユーザーを作成できます。または、カタログデータのアップロードのみを実行でき、アカウントのほかの部分にはアクセスできないようにアクセス制限されたIAMユーザーを作成することもできます。組織内でS3バケットにアクセスする必要がある各ユーザーに対して、AWSアカウントのIAMユーザーをセットアップしてください。組織のメンバーに個別にIAMユーザーをセットアップすると、各ユーザーに必要な権限のみを付与できます。
IAMユーザーを新しく作成する
IAMユーザーを新しく作成するには、以下の手順に従います。
- AWSコンソールにログインします。
- [セキュリティ、ID、およびコンプライアンス] の下にある [IAM] をクリックします。[Identity and Access Managementへようこそ] ページが表示されます。
- [セキュリティステータス] で、[個々のIAMユーザーの作成] をクリックし、メニューアイテムを展開します。[ユーザーの管理] をクリックし、AWSアカウントに関連付けられたIAMユーザーのリストを表示します。
- [ユーザーを追加] をクリックし、新しいユーザーを作成します。ユーザーの詳細を追加するページが表示されます。
- [ユーザー名] フィールドにユーザー名を入力します。必要に応じて [別のユーザーの追加] をクリックし、さらにユーザーを追加します。
- [AWSアクセスの種類を選択] セクションで、[プログラムによるアクセス] と [AWSマネジメントコンソールへのアクセス] の両方のチェックボックスをオンにします。コンソールへのアクセスについては、コンソールのパスワードとパスワードのリセットに関するオプションを指定します。
-
[次のステップ: アクセス権限](画面下部)をクリックします。ユーザーの [アクセス権限を設定] 画面が表示されます。ここには、アクセス権限に関するいくつかのオプションがあります。アクセス権限の詳細については、次のセクションIAMユーザーにAmazon S3バケットへのアクセス許可を付与するで説明します。ここでは [次のステップ: 確認] をクリックします。
ユーザーの作成に成功すると、ユーザーのセキュリティ認証情報と共に「成功」のメッセージが表示されます。
-
ユーザーの [アクセスキーID]、[シークレットアクセスキー]、[パスワード] をコピーします。
カタログ統合S3バケットにアクセスするすべてのユーザーにIAMユーザーのアクセスキーが必要です。アクセスキーには、アクセスキーIDとシークレットアクセスキーがあります。新しいシークレットアクセスキーはいつでも作成できますが、使用できるのはIAMユーザーを作成している場合だけです(アクセスキーIDは、IAMユーザーのページの [セキュリティ認証情報] タブで確認できます)。
- [閉じる] をクリックします。次のセクションIAMユーザーにAmazon S3バケットへのアクセス許可を付与するに従って、ユーザーに適切な権限を付与します。
IAMユーザーの作成の詳細については、ID管理の概要: ユーザーを参照してください。
IAMユーザーにAmazon S3バケットへのアクセス許可を付与する
まだIAMユーザーがいない場合は、まず前のセクションのIAMユーザーを新しく作成するを参照してください。このセクションでは、IAMユーザーにS3バケットへのアクセス許可を付与します。このタスクを開始する前に、Amazonの担当者からS3バケットの名前を入手しておく必要があります。
既存のIAMユーザーにAmazon S3バケットへのアクセス許可を付与するには、以下の手順に従います。
- AWSコンソールにログインします。
- [セキュリティ、ID、およびコンプライアンス] の下にある [IAM] をクリックします。
- 左側の列で、[ユーザー] をクリックします。
-
S3バケットへのアクセスを許可するユーザー名をクリックします。
ユーザーの詳細ページの [アクセス権限] タブでは、ユーザーのセキュリティポリシーを構成できます。一般的なアクセス権限の設定として、フルアクセスと制限付きアクセスの2つがよく使用されます。
-
ユーザーに適用するアクセス許可を選択します。
オプション1: フルアクセスアカウントのすべてのS3機能へのフルアクセス許可をユーザーに付与する場合は、次の手順に従って "AmazonS3FullAccess" ポリシーを適用します。
- [アクセス権限] タブで、[アクセス権限の追加] をクリックします。
- [既存のポリシーを直接アタッチ] ボックスをクリックします。
- [ポリシーのフィルター] ボックスに「AmazonS3FullAccess」と入力して、ポリシーのリストをこのポリシーのみに絞り込みます。
- [AmazonS3FullAccess] の横にあるチェックボックスをオンにし、画面下部の [次のステップ: 確認] をクリックします。
- ユーザーに割り当てるアクセス権限の概要が表示されます。[アクセス権限の追加] をクリックします。
詳細については、AWS IAMドキュメントのIAMポリシーの追加と削除(コンソール)に関するページを参照してください。
オプション2: 制限付きアクセスユーザーに付与するアクセス許可をカタログバケットのみに制限するには、次の手順に従ってバケットに新しいカスタムポリシーをセットアップします。
- [アクセス権限] タブで、[+インラインポリシーの追加] をクリックします。
- [JSON] タブをクリックします。
-
次のいずれかの操作を行います。
S3のすべてのアクション(ただしS3のみ)を許可するには、次のバケットポリシーをコピーしてエディターに貼り付けます。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:*" ], "Resource":[ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }
"Action"
、s3:*
のアスタリスクは、Amazon S3のすべてのアクションに対してアクセス権限を付与するワイルドカードです。すべてのアクションではなく、一定のアクションだけをS3に許可するには、次のバケットポリシーをコピーしてエディターに貼り付けます。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:ListBucketVersions", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl" ], "Resource":[ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ] }
ここでは許可するアクションが、より詳細なかたちで記載されています。ファイルをアップロードするには、2つのアクションが必要です。
s3:PutObject
s3:PutObjectAcl
ほかのアクションを含めても構いませんが、カタログファイルのアップロードには必須ではありません。アクセス権限の詳細については、ポリシーでのアクセス許可の指定を参照してください。
リソース
プロパティの構文の詳細については、ポリシーでのリソースの指定を参照してください。 your-bucket-name
プレースホルダーは実際のS3バケット名に置き換えてください。-
[ポリシーの確認] をクリックします。
ポリシーが有効であることを示すステータスメッセージ、またはポリシーの修正を指示するエラーメッセージが表示されます。
- [名前] フィールドに、ポリシーの一意の名前を入力します。この名前には任意の名前を指定できます(スペースは使用できません)。
- [ポリシーの作成] をクリックします。ポリシーがユーザーにアタッチされます。
手順E: IAMユーザーポリシーをテストする
IAMユーザーとセキュリティポリシーが適切にセットアップされたかどうかを確認するには、AWSのPolicy Simulatorツールを使用します。Policy Simulatorを使用してポリシーを検証するには、以下の手順に従います。
- ウェブブラウザで、Policy Simulatorに移動します。
- 左のペインで、ポリシーを検証するユーザーを選択します。
- 右のペインで、[Select Service] ドロップダウンリストから [S3] を選択します。
- [Select action] ドロップダウンリストから [PutObject] を選択します。
- [Service] 列の [Amazon S3] エントリの左にある切り替え矢印をクリックし、シミュレーション設定を展開します。
- [ARN] フィールドに
arn:aws:s3:::<Bucket_Name>/catalogs/*
をコピーして貼り付けます。<Bucket_Name>
プレースホルダーは実際のS3カタログバケットの名前に置き換えてください。 - [Run Simulation] をクリックし、シミュレーションを実行します。
ポリシーが有効な場合は、"allowed" というメッセージが表示されます。有効でない場合は、"denied" とエラーの説明が表示されます。
手順F: AWSコマンドラインインターフェイス(CLI)、またはその代替をセットアップする
Amazon S3やカタログバケットとやり取りをするには、以下のような各種ツールを使用できます。
- AWSコマンドラインインターフェイス(CLI)。詳細については、AWSコマンドラインインターフェイスを使用したセットアップの取得に関するページを参照してください。
- 任意のプログラミング言語でカタログのアップロードを実装するための任意のAWS SDKツール。たとえば、AWS SDK for Javaには、S3クライアントとサンプルコードが用意されています。AWS開発者ツールの詳細については、アマゾンウェブサービスを使った開発の始め方を参照してください。
S3アクセスツールを使用する場合は、開発者自身で実装したものも含め、最初にそのツールにIAMユーザーのアクセスキーIDとシークレットアクセスキーを構成する必要があります。たとえば、AWS CLIを構成するには、aws configure
コマンドを使用します。以下の例は、aws configure
コマンドの構文と、CLIを構成するためのプロンプトを示します。
$ aws configure
AWS Access Key ID [None]: AAAAAAAAAAAAAEXAMPLE
AWS Secret Access Key [None]: aAaaaAAaaAAA/A1AAAAA/aAaAaaAAEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
AWS CLIの構成方法については、AWSコマンドラインインターフェイスの構成に関するページを参照してください。
次のステップ
AWSのアクセス権限をセットアップしたら、手順4: カタログファイルをアップロードするに進んでください。