メニュー
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 ブローカー。

委任

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

  • 同じアカウント。

  • (組織の)制御下にある 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 リソースにアクセス可能にする一時的な認証情報を受け取ります。

ポリシー

IAM ポリシーは、ロールのアクセス権限を定義するための、JSON 形式のドキュメントです。ドキュメントは IAM ポリシー言語のルールに従って記述されます。

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

プリンシパル

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