AWS CodeStar 通知のサービスにリンクされたロールの使用 - デベロッパーツールコンソール

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

AWS CodeStar 通知のサービスにリンクされたロールの使用

AWS CodeStar 通知では、 AWS Identity and Access Management (IAM) サービスにリンクされたロール を使用します。サービスにリンクされたロールは、 AWS CodeStar 通知に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは AWS CodeStar Notifications によって事前定義されており、ユーザーに代わってサービスから他の AWS のサービスを呼び出すために必要なすべてのアクセス許可が含まれています。このロールは、通知ルールを初めて作成したときに自動的に作成されます。ユーザーがロールを作成する必要はありません。

サービスにリンクされたロールを使用すると、手動でアクセス許可を追加する必要がないため、 AWS CodeStar 通知の設定が簡単になります。 AWS CodeStar 通知はサービスにリンクされたロールのアクセス許可を定義し、特に定義されている場合を除き、 AWS CodeStar 通知のみがそのロールを引き受けることができます。定義したアクセス許可には、信頼ポリシーと許可ポリシーが含まれます。この許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスにリンクされたロールを削除するには、まず関連するリソースを削除する必要があります。これにより、リソースへのアクセス許可を誤って削除することがなくなるため、 AWS CodeStar 通知リソースが保護されます。

サービスにリンクされたロールをサポートしているその他のサービスの詳細については、「IAM と連携するAWS のサービス」を参照してください。

AWS CodeStar Notifications のサービスにリンクされたロールのアクセス許可

AWS CodeStar 通知は、 AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールを使用して、ツールチェーンで発生するイベントに関する情報を取得し、指定したターゲットに通知を送信します。

AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールは、次のサービスを信頼してロールを引き受けます。

  • codestar-notifications.amazonaws.com

ロールのアクセス許可ポリシーは、指定されたリソースに対して以下のアクションを実行することを AWS CodeStar 通知に許可します。

  • アクション: CloudWatch Event rules that are named awscodestar-notifications-* 上で PutRule

  • アクション: CloudWatch Event rules that are named awscodestar-notifications-* 上で DescribeRule

  • アクション: CloudWatch Event rules that are named awscodestar-notifications-* 上で PutTargets

  • アクション: CreateTopic (create Amazon SNS topics for use with AWS CodeStar Notifications with the prefix CodeStarNotifications- が対象)

  • アクション: all comments on all pull requests in all CodeCommit repositories in the AWS account 上で GetCommentsForPullRequests

  • アクション: all comments on all commits in all CodeCommit repositories in the AWS account 上で GetCommentsForComparedCommit

  • アクション: all commits in all CodeCommit repositories in the AWS account 上で GetDifferences

  • アクション: all comments on all commits in all CodeCommit repositories in the AWS account 上で GetCommentsForComparedCommit

  • アクション: all commits in all CodeCommit repositories in the AWS account 上で GetDifferences

  • アクション: all AWS Chatbot clients in the AWS account 上で DescribeSlackChannelConfigurations

  • アクション: all AWS Chatbot clients in the AWS account 上で UpdateSlackChannelConfiguration

  • アクション: all actions in all pipelines in the AWS account 上で ListActionExecutions

  • アクション: all files in all CodeCommit repositories in the AWS account unless otherwise tagged 上で GetFile

これらのアクションは、 AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールのポリシーステートメントで確認できます。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": "arn:aws:events:*:*:rule/awscodestarnotifications-*", "Effect": "Allow" }, { "Action": [ "sns:CreateTopic" ], "Resource": "arn:aws:sns:*:*:CodeStarNotifications-*", "Effect": "Allow" }, { "Action": [ "codecommit:GetCommentsForPullRequest", "codecommit:GetCommentsForComparedCommit", "codecommit:GetDifferences", "chatbot:DescribeSlackChannelConfigurations", "chatbot:UpdateSlackChannelConfiguration", "codepipeline:ListActionExecutions" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "codecommit:GetFile" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/ExcludeFileContentFromNotifications": "true" } }, "Effect": "Allow" } ] }

サービスリンクロールの作成、編集、削除を IAM エンティティ (ユーザー、グループ、ロールなど) に許可するには、アクセス許可を設定する必要があります。詳細については、「IAM ユーザーガイド」の「サービスリンクロール権限」を参照してください。

AWS CodeStar Notifications のサービスにリンクされたロールの作成

サービスリンクロールを手動で作成する必要はありません。デベロッパーツールコンソール、または AWS CLI または SDKs の CreateNotificationRule API を使用して、通知ルールを作成できます。API を直接呼び出すこともできます。使用する方法にかかわらず、サービスにリンクされたロールが作成されます。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は、同じ方法でアカウントにロールを再作成できます。デベロッパーツールコンソール、または AWS CLI または SDKs の CreateNotificationRule API を使用して、通知ルールを作成できます。API を直接呼び出すこともできます。使用する方法にかかわらず、サービスにリンクされたロールが作成されます。

AWS CodeStar Notifications のサービスにリンクされたロールの編集

サービスにリンクされたロールを作成すると、多くのエンティティによってロールが参照される可能性があるため、名前を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。

AWS CodeStar Notifications のサービスにリンクされたロールの削除

サービスにリンクされたロールが必要な機能またはサービスが不要になった場合には、そのロールを削除することをお勧めします。そうすることで、使用していないエンティティがアクティブにモニタリングされたり、メンテナンスされたりすることがなくなります。削除する前に、サービスにリンクされたロールのリソースをクリーンアップする必要があります。 AWS CodeStar 通知の場合、これは AWS アカウントのサービスロールを使用するすべての通知ルールを削除することを意味します。

注記

リソースを削除しようとしたときに AWS CodeStar Notifications サービスがロールを使用している場合、削除が失敗する可能性があります。失敗した場合は、数分待ってから操作を再試行してください。

が使用する AWS CodeStar 通知リソースを削除するには AWSServiceRoleForCodeStarNotifications
  1. https://console.aws.amazon.com/codesuite/settings/notifications で AWS デベロッパーツールコンソールを開きます。

    注記

    通知ルールは、作成された AWS リージョンに適用されます。複数の AWS リージョンに通知ルールがある場合は、リージョンセレクタを使用して を変更します AWS リージョン。

  2. リストに表示されるすべての通知ルールを選択し、 [Delete (削除)] を選択します。

  3. 通知ルールを作成したすべての AWS リージョンで、これらのステップを繰り返します。

IAM を使用して、サービスにリンクされたロールを削除するには

IAM コンソール、または AWS Identity and Access Management API を使用して AWS CLI、 AWSServiceRoleForCodeStarNotifications サービスにリンクされたロールを削除します。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの削除」を参照してください。

AWS CodeStar Notifications サービスにリンクされたロールでサポートされているリージョン

AWS CodeStar 通知では、サービスが利用可能なすべての AWS リージョンで、サービスにリンクされたロールの使用がサポートされています。詳細については、AWS 「リージョンとエンドポイントと通知AWS CodeStar 」を参照してください。