あなたのAlexaコンソール
?
サポート

Amazon Web Services(AWS)アカウントの認証情報をセットアップする

Amazon Web Services(AWS)アカウントの認証情報をセットアップする

AlexaスキルをAlexa Skills Kitコマンドラインインターフェース(ASK CLI)から管理しており、このAlexaスキルがAWS Lambda関数を使用している場合、AWSアカウントの認証情報が必要になります。ASK CLIは、以下の場所にある認証情報ファイルのこの情報にアクセスします。

  * Linux/Mac: ~/.aws/credentials
  * Windows:  %USERPROFILE%\.aws\credentials

Amazon Web Servicesの開発者であれば、すでにこれらの認証情報を持っている場合があります。その場合でも、その認証情報を使用して以下の6番の権限を持っていることを確認する必要があります。認証情報を持っていない場合、以下の手順を行います。

  1. IAMコンソールを開きます。AlexaスキルのAWS Lambda関数作成に使用するAWSアカウントでサインインします。
  2. 左側のメニューでユーザーをクリックします。
  3. ユーザーを追加をクリックします。
  4. お好みのユーザー名を入力します。AWSアクセスの種類を選択で、プログラムによるアクセスAWSマネジメントコンソールへのアクセスの両方を選択します。
  5. 必要に応じて、パスワードのリセットが必要をクリックします。
  6. 次のステップ:アクセス権限をクリックします。スキル関連のタスクを完了するには、ユーザーにいくつかのポリシーが必要となります。ユーザーに直接ポリシーをアタッチする場合は、以下のポリシーをアタッチします。適切なポリシーを使用してユーザーグループを作成し、そのグループにユーザーを追加することもできます。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateRole",
        "iam:GetRole",
        "iam:AttachRolePolicy",
        "iam:PassRole"
      ],
      "Resource": "arn:aws:iam::*:role/ask-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "lambda:AddPermission",
        "lambda:CreateFunction",
        "lambda:GetFunction",
        "lambda:UpdateFunctionCode",
        "lambda:ListFunctions"
      ],
      "Resource": "arn:aws:lambda:*:*:function:ask-*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:FilterLogEvents",
        "logs:getLogEvents",
        "logs:describeLogStreams"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/lambda/ask-*"
    }
  ]
}

ユーザーとユーザーグループの作成の詳細については、関連するAWSドキュメントを参照してください。

  1. 次のステップ:確認をクリックします。
  2. ページを確認します。想定どおりの内容であれば、ユーザーの作成をクリックします。アクセスキーとシークレットアクセスキーを含む成功ページが表示されます。これらの情報を含むExcelファイルをダウンロードします。
  3. テキストエディターを使用してコンピューターの認証情報ファイルを編集し、この情報を追加します。ファイルの場所は上記のとおりです。以下の形式に従い、最低限デフォルトのプロファイルは含めます。同じファイルに複数のプロファイル用の認証情報のセットを複数保持できます。ASK CLIを初期化すると、使用するAWSプロファイルを選択するプロンプトが表示されます。

この例は、デフォルトのプロファイルに加えて2つのデフォルト以外のプロファイルを含む認証情報ファイルの形式です。

[default]
aws_access_key_id = ACCESS_KEY
aws_secret_access_key = SECRET_KEY

[some_profile_name]
aws_access_key_id = ACCESS_KEY
aws_secret_access_key = SECRET_KEY

[another_profile_name]
aws_access_key_id = ACCESS_KEY
aws_secret_access_key = SECRET_KEY

認証情報のセットはそれぞれ、一意のAWSプロファイルを表します。たとえば、複数のAWSアカウントを持っている場合、複数のプロファイルを使ってアカウントを簡単に切り替えることができます。

スキルコードをHTTPSエンドポイントでウェブサービスとしてホストしている場合や別途AWS Lambda関数を管理している場合でも、AWS認証情報なしでASK CLIを使うことができます。

ASK CLIが初期化されると(ask init)、ブラウザウィンドウからログインしてASKプロファイルを作成し、そのプロファイルをAWS Lambdaへのデプロイに使用するAWSプロファイルに関連付けるようプロンプトが表示されます。ASKプロファイルは、AWSプロファイルとAlexaスキルのデプロイに使用するAmazon開発者アカウントを表します。ASKプロファイルとAWSプロファイルには異なる名前を付けることができます。また必要に応じて、1つのAWSプロファイルに複数のASKプロファイルを関連付けることもできます。たとえば、複数のAmazon開発者アカウントにスキルを持っているが、1つのAWSアカウントのAWS Lambda関数を使用している場合などです。

CLIで他のコマンドを実行する際に、--profileオプションを使ってASKプロファイルの名前を指定するか、環境変数ASK_DEFAULT_PROFILEにプロファイル名をセットすることができます。ASK CLIは、まず--profileを確認してから、ASK_DEFAULT_PROFILEを確認し、最後に「デフォルト」のASKプロファイルにフォールバックします。

たとえば、「some_profile_name」という名前のASKプロファイルを使って初期化するには、次のコマンドを使用します。

ask init -p some_profile_name