メニュー
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 サービスで必要となります。このロールはサービスによって事前に定義され、サービスで必要なすべてのアクセス権限が含まれます。これにより、必要なアクセス権限を手動で追加する必要がなくなるため、サービスの設定が簡単になります。このロールは IAM 内から作成できます。ただし、ロールはサービスにリンクされているため、IAM 内でロールをカスタマイズすることはできません。リンクされたサービスを通じてのみ、これらのロールを管理および削除できます。サービスにリンクされたロールをサポートするサービスについては、「IAM と連携する AWS サービス」を参照してください。サポートするサービスでは、「サービスにリンクされたロール」列が「はい」になっています。

委任

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

  • 同じアカウント。

  • (組織の)制御下にある 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 ポリシー言語のルールに従って記述されます。

ロールを作成すると、2 つの別個のポリシーが作成されます。ロールを引き受けることが許可されたユーザー(信頼されるエンティティ、つまりプリンシパル - 次の用語を参照)を指定する信頼ポリシーと、プリンシパルが使用することを許可されたアクションとリソースを定義するアクセス権限ポリシーです。

プリンシパル

アクションを実行してリソースにアクセスできる AWS 内のエンティティです。AWS アカウントのルートユーザー、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 ロールとリソースベースのポリシーとの相違点」を参照してください。