メニュー
AWS Lambda
開発者ガイド

AWS Lambda に対する認証とアクセスコントロール

AWS Lambda へのアクセスには、AWS によってリクエストの認証に使用される認証情報が必要です。これらの認証情報には、AWS Lambda 関数または Amazon S3 バケットなどの AWS リソースへのアクセス権限が必要です。次のセクションでは、AWS Identity and Access Management (IAM) と Lambda を使用して、リソースにアクセスできるユーザーを制御することで、リソースをセキュリティで保護する方法について詳しく説明します。

認証

AWS には、次のタイプのアイデンティティでアクセスできます。

  • AWS アカウントのルートユーザー – AWS アカウントを初めて作成する場合は、すべての AWS サービスとリソースに対して完全なアクセス権限を持つシングルサインイン ID で始めます。このアイデンティティは root ユーザーと呼ばれ、AWS アカウントの作成に使用したメールアドレスとパスワードでのサインインによりアクセスされます。強くお勧めしているのは、日常的なタスクには、それが管理者タスクであっても、root ユーザーを使用しないことです。代わりに、root ユーザーを使用して最初の IAM ユーザーを作成した後は、root ユーザーの認証情報を安全な場所に保管し、いくつかのアカウントおよびサービスの管理タスクの実行のみに使用するというベストプラクティスに従います。

  • IAM ユーザーIAM ユーザーは、特定のカスタム権限 (たとえば、Lambda で a function を作成するアクセス権限) を持つ AWS アカウント内のアイデンティティです。IAM のユーザー名とパスワードを使用して、AWS マネジメントコンソールAWS ディスカッションフォーラムAWS Support Center などのセキュリティ保護された AWS ウェブページにサインインできます。

     

    ユーザー名とパスワードに加えて、各ユーザーのアクセスキーを生成することもできます。いくつかの SDK の 1 つまたは AWS Command Line Interface (CLI) を使ってプログラムで AWS サービスにアクセスするときに、これらのキーを使用します。SDK と CLI ツールでは、アクセスキーを使用してリクエストが暗号で署名されます。AWS ツールを使用しない場合は、リクエストに自分で署名する必要があります。Lambda supports では、署名バージョン 4 がサポートされています。これは、インバウンド API リクエストを認証するためのプロトコルです。リクエストの認証の詳細については、『AWS General Reference』の「署名バージョン 4 の署名プロセス」を参照してください。

     

  • IAM ロール – An IAM role is an IAM identity that you can create in your account that has specific permissions. It is similar to an IAM user, but it is not associated with a specific person. An IAM role enables you to obtain temporary access keys that can be used to access AWS services and resources. IAM ロールと一時的な認証情報は以下の状況で役立ちます。

     

    • フェデレーティッドユーザーアクセス – Instead of creating an IAM user, you can use existing user identities from AWS Directory Service, your enterprise user directory, or a web identity provider. These are known as federated users. AWS assigns a role to a federated user when access is requested through an identity provider. For more information about federated users, see Federated Users and Roles in the IAM ユーザーガイド.

       

    • AWS サービスアクセス – You can use an IAM role in your account to grant an AWS service permissions to access your account’s resources. For example, you can create a role that allows Amazon Redshift to access an Amazon S3 bucket on your behalf and then load data from that bucket into an Amazon Redshift cluster. For more information, see Creating a Role to Delegate Permissions to an AWS Service in the IAM ユーザーガイド.

       

    • Amazon EC2で実行されているアプリケーション – You can use an IAM role to manage temporary credentials for applications that are running on an EC2 instance and making AWS API requests. This is preferable to storing access keys within the EC2 instance. To assign an AWS role to an EC2 instance and make it available to all of its applications, you create an instance profile that is attached to the instance. An instance profile contains the role and enables programs that are running on the EC2 instance to get temporary credentials. For more information, see Using an IAM Role to Grant Permissions to Applications Running on Amazon EC2 Instances in the IAM ユーザーガイド.

アクセスコントロール

有効な認証情報があればリクエストを認証できますが、AWS Lambda リソースを作成したり、それらのリソースにアクセスしたりするには、そのためのアクセス権限が必要です。たとえば、Lambda 関数の作成、イベントソースの追加、Lambda 関数のバージョンの発行にアクセス権限が必要です。

以下のセクションでは、AWS Lambda のアクセス権限を管理する方法について説明します。最初に概要のセクションを読むことをお勧めします。

このページの内容: