自動化の基本
Atlassian Cloud 製品における自動化の一般的なコンセプトとベスト プラクティスを説明します。
AWS ID およびアクセス管理 (IAM) は、権限とリソース アクセスを管理するために AWS が提供するメカニズムです。非常に強力な機能であり、これを使用してどの AWS リソースでもきめ細かなポリシーを作成できます。
Atlassian Automation では、IAM ベースの統合を使用して SNS 以外のあらゆるリソースに接続します。
これを行うには、次の操作を行う必要があります。
Atlassian Automation で使用する新しい AWS IAM ロールを作成します
信頼ポリシーで、Atlassian Automation AWS アカウントにそのロールへのアクセス権を付与します
必要なアクションを実行できるように、ロールに必要な権限をセットアップします
IAM ロールに接続します
これによって、Atlassian Automation アカウントに対して、ロールとそのロールでアクセスできるリソースへのアクセス権が付与されます。ロールの権限がルールの実行に必要となる最小限のセットになるよう、適切に制限しましょう。
Atlassian Automation では、atlassian-automation- で始まる名前をロールに付ける必要があります。そのため、Atlassian Automation 向けに設定されたロールがまだない場合は、新しいロールを作成する必要があります。
AWS コンソールにサインインします。
ナビゲーション メニューで [ロール] を選択します。
[ロールを作成] を選択します。
[その他の AWS アカウント] を選択します。
Atlassian Automation AWS アカウントの ID (815843069303) を入力します。
[外部 ID を要求 (Require external ID)] を選択して、使用する ID を入力します
これは、接続の安全性を高めるために使用され、ベスト プラクティスと見なされています。
この ID は秘密ではありませんが、パスワード マネージャーなどを使用して生成することをお勧めします。
または、後で自動生成される ID を使用してこれを設定できます。
[次へ] をクリックします。
適用すべき権限を把握している場合は、今すぐ設定できます。そうでない場合は [次へ] をクリックします。
[ロール名] と [説明] を入力します。ロール名は atlassian-automation- で始まる必要があります。
設定を確認してから [ロールを作成] を選択します。
前のセクションのステップを実行しなかった場合 (たとえば、CloudFormation などでロールを作成する場合) は、Atlassian Automation AWS アカウントがそのロールを使用できるように許可されていることを確認する必要があります。これを行うには、AWS アカウント ID 815843069303 に sts:AssumeRole を付与する信頼ポリシーを指定します。
信頼ポリシーは次のようになります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "815843069303"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "<<your-external-id>>"
}
}
}
]
}
このポリシーは、「ID が 815843069303 の AWS アカウントに対して、<<your-external-id>> と一致する ExternalId が提供された場合にのみ、このロールの AssumeRole (引き受け) を Allow (許可) する」と解釈できます。
このポリシーの最も重要な部分は次のとおりです。
Effect は Allow です
Principal は Atlassian Automation AWS アカウントの ID (815843069303) です
Action は sts:AssumeRole です
Condition は、sts:ExternalId パラメーターが選択した文字列と等しい必要があることを指定します
ロールに必要なリソース権限は、自動化ルールで使用するアクションによって異なります。ただし、一般的なアプローチとしては、インライン リソース ポリシーの形式でロールに権限を追加します。
ここでは、簡単に設定できるインライン ポリシーをお勧めしますが、管理ポリシーをご希望の場合も、同じように簡単に使用できます。
ルールを実行するための最低限の権限セットを定義することが重要です。
Action: sns:Publish
Resource: SNS トピックの ARN
1
2
3
4
5
6
7
8
9
10
11
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "allowpublish",
"Effect": "Allow",
"Action": "sns:Publish",
"Resource": "arn:aws:sns:us-west-1:111111111111:automation-rule-topic"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:DescribeRegions"
],
"Resource": "*"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ssm:ListDocuments",
"ssm:GetDocument",
"ssm:StartAutomationExecution"
],
"Resource": "*"
}
]
}
SSM ドキュメントの設定済み手順をすべて実行するための IAM ロール関連の権限を付与していることを確認してください。たとえば、SSM ドキュメントが AWS-RestartEC2Instance の場合、必要な権限は次のとおりです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:DescribeInstanceStatus"
],
"Resource": "*"
}
]
}
正しい権限でロールを設定したら、最後の手順として、自動化ルールでそのロールに接続します。
[自動化] に移動して [ルールを作成] を選択します。
ルールのトリガーを選択します。
AWS のアクションを選択します。
接続をクリックします。
プロンプトが表示されたら、使用するロールの ARN を入力します。外部 ID を使用する場合は、それも指定する必要があります。
保存をクリックします。
この内容はお役に立ちましたか?