Jira Automation 用に AWS IAM を設定
AWS Identity and Access Management (IAM) is the mechanism AWS provides for managing permissions and resource access. It's very powerful and can be used to create fine-grained policies for any AWS resource.
Atlassian Automation では、IAM ベースの統合を使用して SNS 以外のあらゆるリソースに接続します。
これを行うには、次の操作を行う必要があります。
Atlassian Automation で使用する新しい AWS IAM ロールを作成します
Grant the Atlassian Automation AWS account access to the role using a trust policy
必要なアクションを実行できるように、ロールに必要な権限をセットアップします
IAM ロールに接続します
これによって、Atlassian Automation アカウントに対して、ロールとそのロールでアクセスできるリソースへのアクセス権が付与されます。ロールの権限がルールの実行に必要となる最小限のセットになるよう、適切に制限しましょう。
1. 新しい IAM ロールを作成します
Atlassian Automation では、atlassian-automation- で始まる名前をロールに付ける必要があります。そのため、Atlassian Automation 向けに設定されたロールがまだない場合は、新しいロールを作成する必要があります。
Sign into AWS Console.
ナビゲーション メニューで [ロール] を選択します。
[ロールを作成] を選択します。
[その他の AWS アカウント] を選択します。
Atlassian Automation AWS アカウントの ID を入力します。
[外部 ID を要求 (Require external ID)] を選択して、使用する ID を入力します
This is used to increase the security of your Connection, and is considered best practice.
この ID は、特定の ARN に対してサイト全体で一貫しているため、接続ごとに設定する必要はありません。
この ID は秘密ではありませんが、パスワード マネージャーなどを使用して生成することをお勧めします。
[次へ] をクリックします。
適用すべき権限を把握している場合は、今すぐ設定できます。そうでない場合は [次へ] をクリックします。
[ロール名] と [説明] を入力します。ロール名は
atlassian-automation-で始まる必要があります。設定を確認してから [ロールを作成] を選択します。
2. Atlassian Automation AWS アカウントにアクセス権を付与する信頼ポリシーを設定します
前のセクションのステップを実行しなかった場合 (たとえば、CloudFormation などでロールを作成する場合) は、Atlassian Automation AWS アカウントがそのロールを使用できるように許可されていることを確認する必要があります。これを行うには、AWS アカウント ID に sts:AssumeRole を付与する信頼ポリシーを指定します。
信頼ポリシーは次のようになります。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "1111XXX2222"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "<<your-external-id>>"
}
}
}
]
}このポリシーは、「<<your-external-id>> と一致する ExternalId が提供された場合にのみ、ID を持つ AWS アカウントが、このロールの AssumeRole (引き受け) を Allow (許可) する」と解釈できます。
このポリシーの最も重要な部分は次のとおりです。
Effect は
AllowですPrincipal は Atlassian Automation AWS アカウントの ID です
Action は
sts:AssumeRoleですCondition は、
sts:ExternalIdパラメーターが、選択した文字列と等しい必要があることを指定しています
3. ルールで使用するアクションに必要な権限を設定します
The resource permissions that your role will need will depend on what actions you are using in your automation rule. The general approach, though, will be to add permissions to the role in the form of an inline resource policy.
ここでは、簡単に設定できるインライン ポリシーをお勧めしますが、管理ポリシーをご希望の場合も、同じように簡単に使用できます。
It is important to define the minimum set of permissions that will allow your rules to execute.
SNS トピックにメッセージを送信するために必要な権限
アクション sns:Publish
リソース: SNS トピックの ARN
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allowpublish",
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:us-west-1:111111111111:automation-rule-topic"
}
]
}SSM ドキュメントを実行するために必要な権限
AWS リージョンを取得するには
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DescribeRegions"
],
"Resource": "*"
}
]
}SSM ドキュメントを取得して実行するには
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ssm:ListDocuments",
"ssm:GetDocument",
"ssm:StartAutomationExecution"
],
"Resource": "*"
}
]
}SSM ドキュメントで手順を実行するには
SSM ドキュメントの設定済み手順をすべて実行するための IAM ロール関連の権限を付与していることを確認してください。たとえば、SSM ドキュメントが AWS-RestartEC2Instance の場合、必要な権限は次のとおりです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:DescribeInstanceStatus"
],
"Resource": "*"
}
]
}4. IAM ロールに接続します
正しい権限でロールを設定したら、最後の手順として、自動化ルールでそのロールに接続します。
[自動化] に移動して [ルールを作成] を選択します。
ルールのトリガーを選択します。
AWS のアクションを選択します。
接続をクリックします。
プロンプトが表示されたら、使用するロールの ARN を入力します。外部 ID を使用する場合は、それも指定する必要があります。
6. [保存] をクリックします。
この内容はお役に立ちましたか?