メニュー
AWS Identity and Access Management
ユーザーガイド

ロールに関する用語と概念

ロールの操作に役立つ基本的な用語を紹介します。

ロール

AWS のアクションおよびリソースへのアクセスを許可する一連のアクセス権限です。これらのアクセス権限は、IAM ユーザーまたはグループではなくロールにアタッチされます。ロールを使用できるのは、以下のものです。

  • ロールと同じ AWS アカウントの IAM ユーザー

  • ロールとは異なる AWS アカウントの IAM ユーザー

  • Amazon Elastic Compute Cloud など、AWS が提供するウェブサービス(Amazon EC2)

  • SAML 2.0 または OpenID Connect と互換性のある外部 ID プロバイダー(IdP)サービスによって認証される外部ユーザー、またはカスタム作成された ID ブローカー。

     

AWS サービスロール

サービスがお客様に代わってアクションを実行するために引き受けるロールです。ほとんどの AWS のサービス環境を設定するときに、サービスが引き受けるロールを定義する必要があります。このサービスロールには、サービスが必要とする AWS のリソースにサービスがアクセスするために必要なすべてのアクセス権限を含める必要があります。サービスロールはサービスによって異なりますが、多くのサービスロールでは、そのサービスの文書化された要件を満たしている限り、アクセス権限を選択することができます。IAM 内部からロールを作成、修正、削除できます。

EC2 インスタンスの AWS サービスロール

アプリケーションを実行する Amazon EC2 インスタンスを起動するためにサービスが引き受ける特殊なタイプのサービスロールです。このロールは EC2 インスタンスにその起動時に割り当てられます。AWS はロールにアタッチされた一時的なセキュリティ認証情報を自動的に付与し、アプリケーションに代わって EC2 インスタンスがその認証情報を使用できるようにします。EC2 インスタンスのサービスロールの使用の詳細については、「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス権限を付与する」を参照してください。

AWS サービスにリンクされたロール

AWS サービスに直接リンクされた一意のタイプのサービスロールです。サービスにリンクされたロールは、サービスによって事前定義されており、お客様の代わりにサービスから他の AWS サービスを呼び出す必要のあるアクセス権限がすべて含まれています。このリンクされたサービスでも、サービスにリンクされたロールを作成、変更、削除する方法を定義しています。サービスによって、ロールが自動的に作成または削除される場合があります。そのため、ウィザードの一部、またはサービスのプロセスとして、ロールを作成、変更、削除できる場合があります。または、ロールを作成または削除するには、IAM を使用する必要がある場合があります。メソッドに関係なく、サービスにリンクされたロールにより必要なアクセス権限を手動で追加する必要がなくなるため、サービスの設定が簡単になります。

注記

サービスにリンクされたロールのサポートを開始する時点ですでにサービスを使用している場合は、アカウントの新しいロールに関する E メールが送信されることがあります。この場合、サービスにリンクされたロールは、サービスによって自動的にアカウントに作成されています。このロールをサポートするために必要な操作はありません。また、手動でロールを削除しないでください。詳細については、「IAM アカウントに新しいロールが表示される」を参照してください。

サービスにリンクされたロールを使用してサポートするサービスについては、「IAM と連携する AWS サービス」を参照の上、「サービスにリンクされたロール」列が「はい」になっているサービスを検索してください。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。サービスにリンクされたロールを作成、変更、削除するドキュメントがサービスに含まれていない場合は、IAM コンソール、CLI、または API を使用することができます。詳細については、「サービスにリンクされたロールの使用」を参照してください。

委任

委任により、制御するリソースへのアクセスを許可するユーザーにアクセス権限を付与できます。委任では、リソースを所有するアカウント (信頼するアカウント) と、リソースへアクセスする必要のあるユーザーを含むアカウント (信頼されたアカウント) との間に信頼を設定する必要があります。信頼するアカウントと信頼されたアカウントには、以下のいずれかを指定できます。

  • 同じアカウント。

  • (組織の)制御下にある 2 つのアカウント。

  • 異なる組織によって所有される 2 つのアカウント。

リソースにアクセスする権限を委任するには、2 つのポリシーがアタッチされる IAM ロールを作成します。アクセス権限ポリシーは、リソースに対して目的のタスクを実行するために必要なアクセス権限をロールのユーザーに付与します。信頼ポリシーは、どの信頼されたアカウントのユーザーに、ロールを引き受ける権限を与えるかを指定します。

信頼ポリシーを作成するときは、プリンシパルとしてワイルドカード (*) を指定することはできません。信頼するアカウントのロールに対する信頼ポリシーは、アクセス権限の半分です。残りの半分は、ユーザーがロールを切り替えることができる、またはロールを引き受けることができる信頼されたアカウントのユーザーにアタッチされたアクセス権限ポリシーです。ロールを引き受けるユーザーの各自のアクセス権限は一時的に無効になりますが、その代わりにロールのアクセス権限を取得します。ユーザーがロールの使用を終了または停止すると、元のユーザーアクセス権限に戻ります。外部 ID と呼ばれる追加パラメーターは、同じ組織が制御していないアカウント間でロールを安全に利用するのに役立ちます。

フェデレーション

外部 ID プロバイダーと AWS との間に信頼関係を作成することです。ユーザーは Login with AmazonFacebookGoogleOpenID Connect(OIDC)互換の任意の IdP などのウェブ ID プロバイダーにサインインすることができます。また、Microsoft Active Directory フェデレーションサービスなど、Security Assertion Markup Language(SAML)2.0 互換の企業の ID システムにサインインすることもできます。このような外部 ID プロバイダーと AWS の間の信頼関係を設定するために OIDC および SAML 2.0 を使用する場合、ユーザーは IAM ロールを割り当てられ、ユーザーが AWS リソースにアクセス可能にする一時的な認証情報を受け取ります。

信頼ポリシー

ロールを引き受けるユーザーを定義する JSON 形式のドキュメント。この信頼されたエンティティは、ドキュメントのプリンシパル要素として、ポリシーに含まれています。ドキュメントは IAM ポリシー言語のルールに従って記述されます。

アクセス権限ポリシー

ロールで使用できるアクションやリソースを定義する JSON 形式のアクセス許可に関するドキュメント。ドキュメントは IAM ポリシー言語のルールに従って記述されます。

プリンシパル

アクションを実行してリソースにアクセスできる AWS 内のエンティティです。AWS account root user、IAM ユーザー、またはロールをプリンシパルにすることができます。次の 2 つの方法のいずれかを使用して、リソースへのアクセス権限を付与できます。

  • ユーザー(直接、またはグループ経由で間接的に)またはロールに対し、アクセス権限ポリシーをアタッチすることができます。

  • リソースベースのポリシーをサポートするサービスについては、リソースにアタッチされているポリシーの Principal 要素でプリンシパルを指定できます。

AWS アカウントをプリンシパルにする場合、通常はアカウント内で定義されているすべてのプリンシパルが対象となります。

注記

ロールの信頼ポリシーのPrincipalエレメントでワイルドカード (*) を使用することはできません。

クロスアカウントアクセスのロール

あるアカウントのリソースに対するアクセス権限を、別のアカウントの信頼されるプリンシパルに付与します。ロールは、クロスアカウントアクセスを許可する主な方法です。ただし、AWS が提供する一部のウェブサービスでは、(ロールをプロキシとして使用するのではなく)リソースにポリシーを直接アタッチすることができます。これらはリソースベースのポリシーと呼ばれ、別の AWS アカウントのプリンシパルにリソースへのアクセスを許可するために使用できます。Amazon Simple Storage Service(S3)バケット、Amazon Glacier、ボールト、Amazon Simple Notification Service(SNS)トピック、Amazon Simple Queue Service(SQS)キューの各サービスでは、指定されたリソースのリソースベースのポリシーがサポートされます。詳細については、「IAM ロールとリソースベースのポリシーとの相違点」を参照してください。