AWS 方法CodeStarIAM で動作します。 - AWS CodeStar

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS 方法CodeStarIAM で動作します。

IAM を使用して AWS へのアクセスを管理する前にCodeStarの場合、AWS で使用できる IAM 機能についてご覧ください。CodeStar。AWS の概要について説明します。CodeStarほかAWSIAM と連携するサービスは、「」を参照してください。AWSIAM と連携するサービスIAM ユーザーガイド

AWSCodeStarアイデンティティベースのポリシー

IAM のアイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションが許可または拒否される条件を指定できます。AWSCodeStarお客様に代わって複数のアイデンティティベースのポリシーを作成します。これにより、AWS が許可されます。CodeStarAWS のスコープ内でリソースを作成および管理するにはCodeStarプロジェクト。AWSCodeStarは、特定のアクション、リソース、および条件キーをサポートしています。JSON ポリシーで使用するすべての要素については、「IAM ユーザーガイド」「IAM JSON ポリシーの要素のリファレンス」を参照してください。

アクション

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの プリンシパル がどの リソース に対してどのような 条件 下で アクション を実行できるかということです。

JSON ポリシーの Action 要素は、ポリシー内のアクセスを許可または拒否するために使用できるアクションを記述します。ポリシーアクションの名前は通常、関連する AWS API 演算と同じです。一致する API 演算を持たないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要な演算もあります。これらの追加アクションは、依存アクション と呼ばれます。

このアクションは、関連付けられた操作を実行するための許可を付与するポリシーで使用されます。

AWS でのポリシーアクションCodeStarアクションの前に次のプレフィックスを使用します。codestar:。 たとえば、指定した IAM ユーザーが AWS の属性を編集できるようにするにはCodeStarプロジェクト説明 (プロジェクトの説明など) には、次のポリシーステートメントを使用できます。

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codestar:UpdateProject" ], "Resource" : "arn:aws:codestar:us-east-2:project/my-first-projec" } ] }

ポリシーステートメントには、Action または NotAction 要素を含める必要があります。AWSCodeStarは、このサービスで実行できるタスクを記述する独自のアクションのセットを定義します。

単一のステートメントに複数のアクションを指定するには、次のようにコンマで区切ります:

"Action": [ "codestar:action1", "codestar:action2"

ワイルドカード (*) を使用して複数のアクションを指定することができます。例えば、List という単語で始まるすべてのアクションを指定するには、次のアクションを含めます:

"Action": "codestar:List*"

AWS のリストを表示するにはCodeStarアクション、「」を参照してください。AWS で定義されるアクションCodeStarIAM ユーザーガイド

リソース

管理者は AWS JSON ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシーエレメントは、オブジェクトあるいはアクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource エレメントを含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルのアクセス許可 と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

操作のリスト化など、リソースレベルの許可をサポートしないアクションの場合は、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

AWSCodeStarプロジェクトリソースには、次の ARN があります。

arn:aws:codestar:region:account:project/resource-specifier

ARN の形式の詳細については、「Amazon リソースネーム (ARN) と AWS サービスの名前空間」 を参照してください。

たとえば、以下の例では AWSCodeStarプロジェクト名my-first-projecに登録済みAWSアカウント111111111111のAWSリージョンus-east-2:

arn:aws:codestar:us-east-2:111111111111:project/my-first-projec

以下では、任意の AWS を指定します。CodeStar名前で始まるプロジェクトmy-projに登録済みAWSアカウント111111111111のAWSリージョンus-east-2:

arn:aws:codestar:us-east-2:111111111111:project/my-proj*

ある程度のAWSCodeStarプロジェクトの一覧表示など、アクションは、リソースに対して実行できません。このような場合は、ワイルドカード (*) を使用する必要があります。

"LisProjects": "*"

AWS のリストを表示するにはCodeStarリソースタイプおよびその ARN については、「」を参照してください。AWS で定義されるリソースCodeStarIAM ユーザーガイド。各リソースの ARN を指定できるアクションについては、「」を参照してください。AWS で定義されるアクションCodeStar

条件キー

AWSCodeStarにはサービス固有条件キーがありませんが、いくつかのグローバル条件キーの使用がサポートされています。すべてのAWSグローバル条件キーを確認するには、IAM ユーザーガイドの「AWS グローバル条件コンテキストキー」を参照してください。

AWS の例を表示するにはCodeStarアイデンティティベースのポリシー。「」を参照してください。AWSCodeStarアイデンティティベースのポリシーの例

AWSCodeStarリソースベースのポリシー

AWSCodeStarでは、リソースベースのポリシーはサポートされていません。

AWS に基づいた認可CodeStarタグ

AWS にタグをアタッチできますCodeStarAWS へのリクエストでプロジェクトまたはタグを渡すCodeStar。タグに基づいてアクセスを管理するには、codestar:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの [Condition element] (条件要素) でタグ情報を提供します。AWS のタグ付けの詳細についてはCodeStarリソース,「」を参照してください。AWS CodeStar でプロジェクトタグを操作する

AWS へのアクセスを制限するためのアイデンティティベースのポリシーの例を表示するにはCodeStarそのプロジェクトのタグに基づくプロジェクトについては、を参照してください。AWS の表示CodeStarタグに基づいたプロジェクト

AWSCodeStarIAM ロール

IAM ロールは、特定のアクセス許可を持つ AWS アカウント内のエンティティです。

AWS は使えよCodeStarとしてIAM ユーザー、フェデレーティッドユーザー、ルートユーザー、または引き受けたロール。適切なアクセス許可を持つすべてのユーザータイプは、のプロジェクトのアクセス許可を管理できます。AWSリソースですが、AWSCodeStarIAM ユーザーのプロジェクト権限を自動的に管理します。IAM ポリシー および ロールは、プロジェクトロールに基づき、そのようなユーザーにアクセス許可を付与します。IAM コンソールを使用して、AWS を割り当てる他のポリシーを作成できます。CodeStarIAM ユーザーに対するその他のアクセス許可。

たとえば、ユーザーが AWS を表示することを許可するが、変更は許可しないとします。CodeStarプロジェクト。この場合、IAM ユーザーを AWS AWS に追加するCodeStar閲覧者ロールを持つプロジェクト。すべての AWSCodeStarプロジェクトには、プロジェクトへのアクセスを制御するのに役立つ一連のポリシーがあります。さらに、AWS AWS にアクセスできるユーザーを制御できます。CodeStar。

AWSCodeStarのアクセスは、IAM ユーザーとフェデレーティッドユーザーとでは別の方法で処理されます。IAM ユーザーのみ、チームに追加することができます。プロジェクトへのアクセス許可を IAM ユーザーに付与するには、ユーザーをプロジェクトチームに追加して、ロールをユーザーに割り当てます。プロジェクトへのアクセス許可をフェデレーティッドユーザーに付与するには、AWS を手動でアタッチします。CodeStarプロジェクトロールの管理ポリシーをフェデレーティッドユーザーのロールに。

この表は、各タイプのアクセス権で利用できるツールについて説明しています。

アクセス許可の機能 IAM ユーザー フェデレーティッドユーザー ルートユーザー
Amazon EC2 および Elastic Beanstalk プロジェクトへのリモートアクセスに使用する SSH キーの管理
AWS CodeCommit SSH アクセス
AWS で管理されている IAM ユーザーのアクセス許可CodeStar
手動で管理されるプロジェクトのアクセス許可
ユーザーはチームメンバーとしてプロジェクトに追加することができます

AWS への IAM ユーザーアクセスCodeStar

プロジェクトに IAM ユーザーを追加して、ユーザーのロールを選択すると、AWSCodeStarは、IAM ユーザーに適切なポリシーを自動的に適用します。IAM ユーザーは、IAM でポリシーやアクセス許可を直接添付または管理する必要はありません。AWS IAM ユーザーを AWS に追加する方法については、CodeStarプロジェクト、「」を参照してください。AWS CodeStar プロジェクトにチームメンバーを追加する 。AWS から IAM ユーザーを削除する方法については、CodeStarプロジェクト、「」を参照してください。AWS CodeStar プロジェクトからチームメンバーを削除する

インラインポリシーを IAM ユーザーに添付する

プロジェクトにユーザーを追加すると、AWSCodeStarは、ユーザーのロールに一致するプロジェクトの管理ポリシーを自動的にアタッチします。AWS を手動でアタッチしないでください。CodeStarIAM ユーザーへのプロジェクトの管理ポリシー。ただし、AWSCodeStarFullAccessの場合、AWS で IAM ユーザーのアクセス許可を変更するポリシーをアタッチすることはお勧めしません。CodeStarプロジェクト。独自のポリシーを作成して添付することを決定した場合は、「IAM ユーザーガイド」「IAM アイデンティティアクセス権限の追加と削除」 を参照してください。

AWS へのフェデレーティッドユーザーのアクセスCodeStar

IAM ユーザーを作成、またはルートユーザーを使用せずに、AWS Directory Service、エンタープライズユーザーディレクトリ、ウェブ ID プロバイダー、またはロールを引き受ける IAM ユーザーのユーザー ID を使用することができます。このようなユーザーは フェデレーティッドユーザー と呼ばれます。

AWS へのフェデレーティッドユーザーのアクセス権の付与CodeStarで説明されている管理ポリシーを手動でアタッチしてプロジェクトします。AWSCodeStarプロジェクトレベルのポリシーとアクセス権限ユーザーの IAM ロールに追加します。AWS AWS の後に所有者、寄稿者、または閲覧者のポリシーを添付するCodeStarプロジェクトリソースと IAM ロールを作成します。

前提条件:

  • ID プロバイダーを設定する必要があります。例えば、SAML ID プロバイダーを設定し、プロバイダーを介して AWS 認証を設定できます。ID プロバイダーの設定の詳細については、「IAM ID プロバイダーの作成」を参照してください。SAML フェデレーションの詳細については、「SAML 2.0 ベースのフェデレーションについて」を参照してください。

  • ID プロバイダーを通じてアクセスをリクエストする際に引き受けるフェデレーティッドユーザーのロールを作成済みである必要があります。フェデレーティッドユーザーがロールを引き受けられるように、STS 信頼ポリシーをロールに添付する必要があります。詳細については、「IAM ユーザーガイド」「フェデレーティッドユーザーとロール」 を参照してください。

  • AWS を作成しておく必要があります。CodeStarプロジェクトを作成し、プロジェクト ID を把握します。

ID プロバイダーのロールの作成方法については、「サードパーティーの ID プロバイダー (フェデレーション) 用のロールの作成」を参照してください。

AWSCodeStarFullAccess 管理ポリシーをフェデレーティッドユーザーのロールにアタッチする

プロジェクトを作成するためのアクセス許可をフェデレーティッドユーザーに付与するには、AWSCodeStarFullAccess 管理ポリシーを添付します。これらのステップを実行するには、ルートユーザー、アカウントの IAM 管理者ユーザー、または AdministratorAccess 管理ポリシーか同等のポリシーに関連付けられている IAM ユーザーかフェデレーティッドユーザーとして、コンソールにサインイン済みである必要があります。

注記

プロジェクト作成後、プロジェクト所有者のアクセス許可は自動的に適用されません。「プロジェクトの AWS をアタッチするCodeStarフェデレーティッドユーザーのロールに対する閲覧者/寄稿者/所有者の管理ポリシー」に示されているように、アカウントの管理者のアクセス許可を持つロールを使用して、所有者の管理ポリシーを添付します。

  1. IAM コンソールを開きます。ナビゲーションペインで、[Policies] (ポリシー) を選択します。

  2. 検索フィールドに「AWSCodeStarFullAccess」と入力します。ポリシータイプが [AWS managed] (マネージド) のポリシー名が表示されます。このポリシーを展開して、ポリシーステートメントのアクセス許可を参照することができます。

  3. ポリシーの横にある円形を選択して、[Policy Actions] (ポリシーアクション) の [Attach] (添付) を選択します。

  4. [Summary] (概要) ページで、 [Attached entities] (添付されたエンティティ) タブを選択します。[Attach] (添付) を選択します。

  5. [Attach Policy] (ポリシーの添付) ページの検索フィールドで、フェデレーティッドユーザーのロールをフィルタリングします。ロールの名前の横にあるボックスを選択し、[Attach policy] (ポリシーの添付) を選択します。[Attached entities] (添付されたエンティティ) タブに、新しいアタッチメントが表示されます。

プロジェクトの AWS をアタッチするCodeStarフェデレーティッドユーザーのロールに対する閲覧者/寄稿者/所有者の管理ポリシー

プロジェクトへのアクセス権をフェデレーティッドユーザーに付与するには、適切な所有者、寄稿者、閲覧者の管理ポリシーをユーザーのロールに添付します。管理ポリシーによって、適切なアクセス許可のレベルが指定されます。IAM ユーザーとは異なり、フェデレーティッドユーザーの管理ポリシーは手動で添付およびデタッチする必要があります。これは、AWS のチームメンバーへのプロジェクトのアクセス許可の割り当てに相当します。CodeStar。これらのステップを実行するには、ルートユーザー、アカウントの IAM 管理者ユーザー、または AdministratorAccess 管理ポリシーか同等のポリシーに関連付けられている IAM ユーザーかフェデレーティッドユーザーとして、コンソールにサインイン済みである必要があります。

前提条件:

  • フェデレーティッドユーザーが引き受けるロールを作成しているか、既存のロールを設定されている必要があります。

  • 付与するアクセス許可のレベルを把握しておく必要があります。所有者、寄稿者、閲覧者のロールに添付されている管理ポリシーは、プロジェクトのロールベースのアクセス許可を提供します。

  • AWS を使用する場合CodeStarプロジェクトが作成済みである必要があります。プロジェクトが作成されるまで、管理ポリシーは IAM で利用できません。

  1. IAM コンソールを開きます。ナビゲーションペインで、[Policies] (ポリシー) を選択します。

  2. 検索フィールドにプロジェクト ID を入力します。ポリシータイプが [Customer managed] (カスタマー管理) で、プロジェクトに一致するポリシー名が表示されます。このポリシーを展開して、ポリシーステートメントのアクセス許可を参照することができます。

  3. これらのうち、いずれかの管理ポリシーを選択します。 ポリシーの横にある円形を選択して、[Policy Actions] (ポリシーアクション) の [Attach] (添付) を選択します。

  4. [Summary] (概要) ページで、 [Attached entities] (添付されたエンティティ) タブを選択します。[Attach] (添付) を選択します。

  5. [Attach Policy] (ポリシーの添付) ページの検索フィールドで、フェデレーティッドユーザーのロールをフィルタリングします。ロールの名前の横にあるボックスを選択し、[Attach policy] (ポリシーの添付) を選択します。[Attached entities] (添付されたエンティティ) タブに、新しいアタッチメントが表示されます。

AWS デタッチCodeStarフェデレーティッドユーザーのロールの管理ポリシー

AWS を削除する前にCodeStarプロジェクトでは、フェデレーティッドユーザーのロールにアタッチした管理ポリシーを手動でデタッチする必要があります。これらのステップを実行するには、ルートユーザー、アカウントの IAM 管理者ユーザー、または AdministratorAccess 管理ポリシーか同等のポリシーに関連付けられている IAM ユーザーかフェデレーティッドユーザーとして、コンソールにサインイン済みである必要があります。

  1. IAM コンソールを開きます。ナビゲーションペインで、[Policies] (ポリシー) を選択します。

  2. 検索フィールドにプロジェクト ID を入力します。

  3. ポリシーの横にある円形を選択して、[Policy Actions] (ポリシーアクション) の [Attach] (添付) を選択します。

  4. [Summary] (概要) ページで、 [Attached entities] (添付されたエンティティ) タブを選択します。

  5. 検索フィールドで、フェデレーティッドユーザーのロールをフィルタリングします。[Detach] (デタッチ) を選択します。

AWS Cloud9 管理ポリシーをフェデレーティッドユーザーのロールに添付する

AWS Cloud9 開発環境を使用している場合、AWSCloud9User 管理ポリシーをユーザーのロールに添付することでフェデレーティッドユーザーにアクセス権を付与します。IAM ユーザーとは異なり、フェデレーティッドユーザーの管理ポリシーは手動で添付およびデタッチする必要があります。これらのステップを実行するには、ルートユーザー、アカウントの IAM 管理者ユーザー、または AdministratorAccess 管理ポリシーか同等のポリシーに関連付けられている IAM ユーザーかフェデレーティッドユーザーとして、コンソールにサインイン済みである必要があります。

前提条件:

  • フェデレーティッドユーザーが引き受けるロールを作成しているか、既存のロールを設定されている必要があります。

  • 付与するアクセス許可のレベルを把握しておく必要があります。

    • AWSCloud9User 管理ポリシーでは、ユーザーによる次の操作を許可します:

      • 独自の AWS Cloud9 開発環境を作成する。

      • 環境に関する情報を取得する。

      • 環境の設定を変更する。

    • AWSCloud9Administrator 管理ポリシーでは、自分自身または他のユーザーに対する次の操作をユーザーに許可します:

      • 環境を作成する。

      • 環境に関する情報を取得する。

      • 環境を削除する。

      • 環境の設定を変更する。

  1. IAM コンソールを開きます。ナビゲーションペインで、[Policies] (ポリシー) を選択します。

  2. 検索フィールドにポリシー名を入力します。ポリシータイプが [] の管理ポリシーが表示されます。AWS管理された。このポリシーを展開して、ポリシーステートメントのアクセス許可を参照することができます。

  3. これらのうち、いずれかの管理ポリシーを選択します。 ポリシーの横にある円形を選択して、[Policy Actions] (ポリシーアクション) の [Attach] (添付) を選択します。

  4. [Summary] (概要) ページで、 [Attached entities] (添付されたエンティティ) タブを選択します。[Attach] (添付) を選択します。

  5. [Attach Policy] (ポリシーの添付) ページの検索フィールドで、フェデレーティッドユーザーのロールをフィルタリングします。ロールの名前の横にあるボックスを選択し、[Attach Policy] (ポリシーの添付) を選択します。[Attached entities] (添付されたエンティティ) タブに、新しいアタッチメントが表示されます。

AWS Cloud9 管理ポリシーをフェデレーティッドユーザーのロールからデタッチする

AWS Cloud9 開発環境を使用している場合、アクセスを許可するポリシーをデタッチすることでフェデレーティッドユーザーのアクセスを削除できます。これらのステップを実行するには、ルートユーザー、アカウントの IAM 管理者ユーザー、または AdministratorAccess 管理ポリシーか同等のポリシーに関連付けられている IAM ユーザーかフェデレーティッドユーザーとして、コンソールにサインイン済みである必要があります。

  1. IAM コンソールを開きます。ナビゲーションペインで、[Policies] (ポリシー) を選択します。

  2. 検索フィールドにプロジェクト名を入力します。

  3. ポリシーの横にある円形を選択して、[Policy Actions] (ポリシーアクション) の [Attach] (添付) を選択します。

  4. [Summary] (概要) ページで、 [Attached entities] (添付されたエンティティ) タブを選択します。

  5. 検索フィールドで、フェデレーティッドユーザーのロールをフィルタリングします。[Detach] (デタッチ) を選択します。

AWS を使用した一時的な認証情報の使用CodeStar

テンポラリ認証情報を使用して、フェデレーションでサインイン、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。は、を呼び出して一時的なセキュリティ認証情報を取得します。AWS STSなどの API オペレーションAssumeRoleまたはGetFederationToken

AWSCodeStarは、一時的な認証情報の使用をサポートしていますが、AWSCodeStarチームメンバー機能は、フェデレーティッドアクセスでは機能しません。AWSCodeStarチームメンバー機能は、IAM ユーザーをチームメンバーとして追加することのみをサポートしています。

サービスリンクロール

サービスリンクロールを使用すると、AWS のサービスがユーザーに代わって他のサービスのリソースにアクセスし、アクションを完了することができます。サービスにリンクされたロールは、IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

AWSCodeStarは、サービスにリンクされたロールをサポートしていません。

サービスロール

この機能では、サービスロールをユーザーに代わって引き受けることをサービスに許可します。このロールにより、サービスはユーザーに代わって他のサービスのリソースにアクセスし、アクションを実行できます。サービスロールは、IAM アカウントに表示され、サービスによって所有されます。つまり、IAM 管理者は、このロールのアクセス許可を変更できます。ただし、これを行うことにより、サービスの機能が損なわれる場合があります。

AWSCodeStarではサービスロールがサポートされています。AWSCodeStarサービスロールを使用し、aws-codestar-service-role。プロジェクトのリソースを作成および管理するとき。詳細については、「IAM ユーザーガイド」[ロールの主な用語と概念」を参照してください。

重要

このサービスロールを作成するには、IAM 管理ユーザーまたはルートアカウントとしてサインインする必要があります。詳細については、「」を参照してください。初回アクセスのみ: ルートユーザーの認証情報そして最初の IAM 管理者のユーザーおよびグループの作成IAM ユーザーガイド

このロールは、AWS でプロジェクトを初めて作成するときにお客様用に作成されます。CodeStar。サービスロールは、ユーザーに代わって以下のことを行います:

  • プロジェクト作成時に選択したリソースを作成する。

  • AWS でリソースに関する情報を表示するCodeStarプロジェクトダッシュボード。

また、プロジェクトのリソースを管理するときにも、ユーザーの代わりに機能します。このポリシーステートメントの例については、「 AWSCodeStarServiceRoleポリシー」を参照してください。

さらに、AWSCodeStarは、プロジェクトタイプに応じて、複数のプロジェクト固有のサービスロールを作成します。AWS CloudFormationおよびツールチェーンのロールは、プロジェクトタイプごとに作成されます。

  • AWS CloudFormationロールは AWS を許可するCodeStarにアクセスするにはAWS CloudFormationAWS のスタックを作成および変更するにはCodeStarプロジェクト。

  • ツールチェーンのロールで AWS を許可するCodeStarにアクセスするにはAWSAWS のリソースを作成および変更するサービスCodeStarプロジェクト。