2021/04/26

AWSのPrincipalとは?Principalを利用するメリット5つとポイントを解説

 
  

AWSとは?


AWSとは、Amazonが用意しているクラウドコンピューティングサービスのことです。正式にはAmazon Web Servicesといいます。

AWSには、コンピューティング、ストレージ、データベースなどの多くのサービスがあり、サービス内にはさらに多くの機能もあります。それらをインターネットを使って速く、簡単に費用対効果を高くアプリケーションを構築できます。

インターネット環境があれば既存のアプリケーションをクラウドに移行し、ユーザーが想像したものを構築できます。

PrincipalはAWSリソースのアクションにリクエストできるサービス


PrincipalとはAWSプリンシパルのことで、AWSサービスの1つでもあります。AWSリソースのアクションやオペレーションに対してリクエストできる、ユーザーまたはアプリケーションのことを指します。

PrincipalはAWSのアカウントのルートユーザー、またはIAMエンティティを間にして認証され、AWSにリクエストします。

Principalとは?

Principalは、AWSアカウントのルートユーザーまたはIAMエンティティとして認証されAWSにリクエストできます。

ベストプラクティスとして、ルートユーザー認証情報は日常業務には使用しません。IAMエンティティ(ユーザーおよびロール)を作成します。

フェデレーティッドユーザーやプログラムによるアクセスをサポートし、AWSアカウントへのアクセスをアプリケーションに許可することもできます。

AWSのリソースにリクエスト送信の必要性

PrincipalがAWSマネジメントコンソール、AWS API、またはAWS CLIを使用とすると、PrincipalはAWSにリクエスト送信します。

リクエストには次の情報が含まれます。アクションまたはオペレーション、リソース、Principal、環境データ、リソースデータです。これらのリクエスト情報をAWSはコンテキスト内に集めてリクエストの評価と承認に使います。

AWSのPrincipalを利用するメリット5つ


Principalを利用するために知っておきたいメリットが5つあります。

IAMユーザーを作成できること、AWSのリソース料金だけで発行できること、AWSアカウントへのアクセス許可が可能である、フェデレーティッドユーザーやプログラムによるアクセスをアシストすること、AWSのサービスと統合されていることが挙げられます。

以下で、これらについて説明します。

AWSのPrincipalを利用するメリット1:IAMエンティティが作成できる

1つ目のメリットはIAMエンティティ(ユーザーおよびロール)が作成できることです。ユーザーを作成する前に、IAMの機能を理解しておく必要があります。

IAMは、アカウントの認証と許可を制御するために必須の用語があります。リソース、ID、エンティティです。これらは「IAMの仕組みについて」の規約に記されています。

IAMのインフラストラクチャには次の要素が含まれます。Principal、リクエスト、認証、承認、アクションまたはオペレーション、リソースです。

AWSのPrincipalを利用するメリット2:無料で発行できる

2つ目のメリットは、無料で発行できることです。

Principalでプロビジョニングされた、ユーザー、ロール、フェデレーティッドユーザー、アプリケーションに追加料金はかかりません。

支払わなければならないのは、アプリケーションを作成した際、AWSリソースにかかる料金だけです。

AWSのPrincipalを利用するメリット3:簡単に発行できる

3つ目のメリットは簡単に発行できることです。取得の手順を詳細に説明します。

はじめにマネジメントコンソールにログインします。ルートユーザーの場合は、サインインページを開き[ルートユーザー]を選択して、AWSアカウントのルートユーザーの認証情報を使用してサインインします。

過去にブラウザでIAMユーザーとしてサインインしたことがある場合、IAMユーザーとしてサインインページが表示されることがあります。IAMユーザーの認証情報を入力し、[サインイン]をクリックします。

使用しているブラウザではじめてサインインする場合は、サインインページを開き、[IAMユーザー]を選択して、12桁のAWSアカウントIDまたはアカウントエイリアスを入力します。

IAMユーザーとしてサインインページで、IAMユーザーの認証情報を入力し、[サインイン]をクリックします。

AWSのPrincipalを利用するメリット4:集中的な管理が可能

4つ目のメリットは、集中的な管理が可能なことです。Principalとしてフェデレーティッドユーザーやプログラムによるアクセスをアシストしたりアクションやリソースのリクエストを許可したり集中的な管理が可能です。

Authorizationならリクエストを完了する権限が許可されている必要があり、承認の際にAWSはリクエストコンテキストの値に基づいてリクエストに適用されるポリシーを確認します。

ポリシーを使用してリクエストの許可/拒否を決定します。通常、ポリシーはJSONドキュメントとしてAWSに保存されPrincipalのエンティティアクセス許可を指定します。

複数のポリシータイプがリクエストの承認/却下に影響する場合があります。ユーザーに許可したアクセス許可でユーザーのアカウント内のAWSリソースにアクセスする場合は、アイデンティティベースのポリシーが必要です。

AWSのPrincipalを利用するメリット5:AWSのサービスと統合されている

5つ目のメリットには、AWSのサービスと統合されていることが挙げられます。

Principalは、Amazon EC2インスタンス、IAMユーザー、Amazon S3などのサービスと統合されています。AWSで承認されたリクエスト内のオペレーションは、アカウント内の関連リソースに対して実行できます。

AWSのPrincipalを利用するときのポイント3つ


AWSのPrincipalを利用するときに注意するポイントが3つあります。

利用できるサービスが限られていること、アクションまたはオペレーションがサポートされること、メールを受信できる環境が必要になるということです。

特色をとらえて確実に行うことが大切です。それでは1つずつ見ていきましょう。

Principalを利用するときのポイント1:多くのアクションがサポートされる

Principalを利用するときの1つ目のポイントは、40のアクションをサポートしていることです。

リクエストが認証および承認されると、AWSはリクエストのアクションまたはオペレーションを承認します。狭義においては、オペレーションはサービスによってリソースの表示、作成、編集、削除など、リソースに対して実行できるサービスです。

例えばIAMは、ユーザーリソースに対して次のアクションを包含する約40のアクションをサポートしています。

・CreateUser
・AleateUser
・GetUsar
・UpdateUser

オペレーション実行をPrincipalに許可するには、Principalかつ対象のリソースに適用される方針に、アクションを含めます。各サービスでのアクション、リソースタイプ、条件キーリストは「AWSのサービスのアクション、リソース、条件キー」を参照してください。

Principalを利用するときのポイント2:利用できるサービスが限られている

Principalを利用するときの2つ目のポイントは、利用できるサービスが限られることです。

AWSで承認されたリクエスト内のオペレーションは、アカウント内の関連リソースに対して実行できます。リソースは、サービス内に存在するオブジェクトです。例として、「Amazon EC2」「インスタンス」「IAMユーザー」「Amazon S3バケット」などがあります。

関連しないアクションをリソースに対して実行しリクエストを作成すると、そのリクエストは拒否されます。

IAMロールの削除をリクエストしてもIAMグループリソースを作成すると、そのリクエストは失敗します。アクションの影響を受けるリソースを示すAWSのサービス別表については、「AWSのサービスのアクション、リソース、および条件キー」を参照して下さい。

AWSを利用するときのポイント3:メールを受信できる環境が必要

3つ目のポイントは、メールを受信できる環境が必要ということです。

AWSアカウントを作成するとき、AWSへのサインインに使用するAWSアカウントルートユーザーIDを作成します。このルートユーザーIDは、アカウントの作成時に指定したEメールアドレスとパスワードを使用して、AWSマネジメントコンソールにサインインできます。

Eメールアドレスとパスワードの組み合わせはルートユーザー認証情報とも呼ばれます。この時にEメールアドレスが必要になります。

ルートユーザー認証情報を使用すると、AWSアカウントのすべてのリソースへの完全かつ無制限なアクセス(請求情報へのアクセスやパスワードの変更など)が可能になります。この段階のアクセスは、最初にアカウントを設定するときに必要です。

日常のアクセスには、ルートユーザー認証情報を使用しないことを推奨します。特にルートユーザーの認証情報は誰とも共有しないことを勧奨します。この情報を共有した人はユーザーのアカウントへの無制限のアクセスが可能になるためです。

ルートユーザーに付与されるアクセス許可を制限できるのは、組織内のサービスコントロールポリシー(SCP)のみです。

AWSのPrincipalを利用してみよう!


Principalは、フェデレーティッドユーザーやプログラムによるアクセスも、AWSアカウントへのアプリケーションの許可も、その上サーバーへの設定作業も全くないという特色があります。必要なのはAWSアカウント作成だけです。

さらにPrincipalは「Amazon」自らが認証しているため、コストを最小限に抑えられて、なおかつ利用無料枠があります。

まずは無料でサービスを試してみてください。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】