IAM ロールを使用すると、通常は組織の AWS リソースにアクセスしないユーザーやサービスへのアクセスを委任できます。IAM ユーザーまたは AWS のサービスは、AWS API コールを実行するための一時的なセキュリティ認証情報を取得できるロールを担うことができます。したがって、リソースにアクセスする必要があるエンティティごとに、長期的な認証情報を共有したり、アクセス許可を定義したりする必要はありません。
Secure access to AWS services by using IAM roles (6:04)
以下のシナリオでは、アクセスを委任することで解決できるいくつかの課題について特に詳しく説明しています。
- Amazon EC2 インスタンスで実行されるアプリケーションに、AWS リソースへのアクセス権を付与する
Amazon EC2 インスタンス上のアプリケーションに AWS リソースへのアクセスを付与するには、各インスタンスに開発者の認証情報を配布する方法があります。アプリケーションはその認証情報を使用して Amazon S3 バケットや Amazon DynamoDB データなどのリソースにアクセスします。ただし、長期的な認証情報を配布するのは管理が難しいうえ、潜在的なリスクが発生します。上の動画では、ロールを使ってこのようなセキュリティ問題を解決する方法をより詳しく説明しています。
- クロスアカウントアクセス
開発環境と本番環境を分離する場合など、リソースへのアクセスをコントロールおよび管理するために、複数の AWS アカウントが必要になることがあります。ただし、状況によっては、一方のアカウントのユーザーが、もう一方のアカウントのリソースにアクセスする必要がある場合があります。例えば、開発環境のユーザーが、更新を適用するために本番環境へのアクセス権が必要になることがあります。そのため、ユーザーはそれぞれのアカウントの認証情報が必要となりますが、複数のアカウントに対して複数の認証情報を管理することになると、ID 管理が困難になります。IAM ロールを使用すると ID 管理を簡素化できます。
Trend Micro の導入事例で、クロスアカウントアクセスの実際の動作をご確認ください。
- AWS サービスへのアクセス許可の付与
AWS のサービスでアクションを行えるようにするには、アクションを行うための許可を付与する必要があります。IAM ロールを使用して、AWS のサービスがお客様の代わりに他の AWS サービスを呼び出すため、またはお客様のアカウントで AWS リソースを管理するためのアクセス許可を付与します。Amazon Lex などの AWS のサービスでは、事前定義され、その特定のサービスによってのみ適用できる
サービスにリンクされたロールも提供されます。
IAM でロールを管理する方法の詳細については、IAM ユーザーガイドのロールセクションを参照してください。
IAM でアクセス許可を管理する方法を学ぶ