

• AWS Systems Manager CloudWatch ダッシュボードは、2026 年 4 月 30 日以降は利用できなくなります。お客様は、これまでと同様に Amazon CloudWatch コンソールを使用して、Amazon CloudWatch ダッシュボードの表示、作成、管理を継続できます。詳細については、「[Amazon CloudWatch ダッシュボードのドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

# ドキュメントでの作業
<a name="documents-using"></a>

このセクションには、SSM ドキュメントの使用方法と操作方法に関する情報が含まれています。

**Topics**
+ [SSM ドキュメントのバージョンを比較する](comparing-versions.md)
+ [SSM ドキュメントを作成する](create-ssm-console.md)
+ [カスタム SSM ドキュメントの削除](deleting-documents.md)
+ [遠隔で ドキュメントを実行する](documents-running-remote-github-s3.md)
+ [SSM ドキュメントの共有](documents-ssm-sharing.md)
+ [SSM ドキュメントを検索する](ssm-documents-searching.md)

# SSM ドキュメントのバージョンを比較する
<a name="comparing-versions"></a>

Systems Manager ドキュメントコンソールで、AWS Systems Manager (SSM) ドキュメントのバージョン間のコンテンツの違いを比較できます。SSM ドキュメントのバージョンを比較するときは、バージョンのコンテンツの違いが強調表示されます。

**SSM ドキュメントのコンテンツを比較する (コンソール)**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. ドキュメントのリストから、コンテンツを比較するドキュメントを選択します。

1. [**Content**] (コンテンツ) タブで [**Compare versions**] (バージョンを比較) をクリックして、コンテンツを比較するドキュメントのバージョンを選択します。

# SSM ドキュメントを作成する
<a name="create-ssm-console"></a>

カスタム SSM ドキュメントのコンテンツを作成した後、[SSM ドキュメントコンテンツを書き込む](documents-creating-content.md#writing-ssm-doc-content) の説明に従って Systems Manager コンソールを使用し、コンテンツを使って SSM ドキュメントを作成できます。

**SSM ドキュメントを作成するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、[**ドキュメント**] を選択します。

1. [**Create command or session (コマンドまたはセッションの作成)**] を選択します。

1. ドキュメントの説明的な名前を入力します。

1. (オプション) [**Target type (ターゲットタイプ)**] で、ドキュメントを実行できるリソースの種類を指定します。

1. [**ドキュメントタイプ**] リストで、作成するドキュメントのタイプを選択します。

1. [**Content (コンテンツ)**] フィールドの括弧を削除した後に、先に作成したドキュメントコンテンツを貼り付けます。

1. (オプション) [**Document tags (ドキュメントタグ)**] セクションで、1 つ以上のタグキーの名前と値のペアをドキュメントに適用します。

   タグは、リソースに割り当てるオプションのメタデータです。タグを使用すると、目的、所有者、環境などのさまざまな方法でリソースを分類できます。たとえば、ドキュメントにタグを付けて、ドキュメントが実行するタスクの種類、ターゲットとするオペレーティングシステムの種類、およびドキュメントが動作する環境を指定できます。この場合、以下のキーの名前と値のペアを指定します。
   + `Key=TaskType,Value=MyConfigurationUpdate`
   + `Key=OS,Value=AMAZON_LINUX_2`
   + `Key=Environment,Value=Production`

1. [**ドキュメントの作成**] を選択してドキュメントを保存します。

# カスタム SSM ドキュメントの削除
<a name="deleting-documents"></a>

カスタム SSM ドキュメントを使用する必要がなくなった場合は、AWS Systems Manager コンソールを使用して削除できます。

**SSM ドキュメントを削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. 削除したいドキュメントを選択します。

1. [**削除**] を選択します。ドキュメントを削除するように求められたら、[**削除**] を選択します。

コマンドラインツールまたは SDK を使用して SSM ドキュメントを削除する例については、「[AWS SDK または CLI で `DeleteDocument` を使用する](example_ssm_DeleteDocument_section.md)」を参照してください。

# 遠隔で ドキュメントを実行する
<a name="documents-running-remote-github-s3"></a>

`AWS-RunDocument` 事前定義 SSM ドキュメントを使用すると、リモートの場所から AWS Systems Manager (SSM) ドキュメントを実行できます。このドキュメントでは、次の場所に保存されている SSM ドキュメントの実行がサポートされています。
+ パブリックおよびプライベート GitHub リポジトリ (GitHub Enterprise はサポートされていません)
+ Amazon S3 バケット
+ Systems Manager

AWS Systems Manager のツールである State Manager または Automation を使用してリモートドキュメントを実行することもできますが、次の手順では、Systems Manager コンソールで AWS Systems Manager Run Command を使用してリモート SSM ドキュメントを実行する方法のみを説明します。

**注記**  
`AWS-RunDocument` は、コマンドタイプの SSM ドキュメントのみを実行するために使用でき、Automation ランブックなど他のタイプは実行できません。`AWS-RunDocument` は、`aws:downloadContent` プラグインを使用します。`aws:downloadContent` の詳細については、「[`aws:downloadContent`](documents-command-ssm-plugin-reference.md#aws-downloadContent)」を参照してください。

**警告**  
`AWS-RunDocument` は、さまざまなソース (SSM ドキュメント、GitHub、S3、URL) からドキュメントコンテンツを実行できます。リモートドキュメントを実行する場合、評価される IAM アクセス許可は、リモートドキュメント `ssm:GetDocument` と `AWS-RunDocument` の `ssm:SendCommand` です。特定の SSM ドキュメントへのアクセスを拒否する IAM ポリシーがある場合、`AWS-RunDocument` アクセス許可を持つユーザーは、ドキュメントコンテンツをパラメータとして渡すことで、これらの拒否されたドキュメントを引き続き実行できます。これは、同じドキュメント固有の IAM 制限の対象にならない場合があります。  
ドキュメント実行を適切に制限するには、次のいずれかの方法を使用します。  
**許可リストで承認されたソース**: ネストされたドキュメント実行を使用する必要がある場合、SSM ドキュメントソースの `ssm:GetDocument` を制御する IAM ポリシー、Amazon S3 ソースの IAM と Amazon S3 バケットポリシー、パブリックインターネットソースのネットワーク設定 (VPC エンドポイントやセキュリティグループなど) のソースタイプごとに適切なコントロールを使用して承認されたソースのみにアクセスを制限します。
**AWS-RunDocument へのアクセスを制限する**: ネストされたドキュメント実行を防ぐために、`AWS-RunDocument` の `ssm:SendCommand`、および IAM ポリシーで `aws:runDocument`プラグインを使用するその他のすべてのドキュメントを拒否します。
**アクセス許可の境界を使用する**: IAM アクセス許可の境界を実装してユーザーの最大アクセス許可を設定し、実行方法に関係なく、ユーザーが承認されていないドキュメントを実行できないようにします。
IAM のベストプラクティスとアクセス許可の境界の詳細については、AWS Identity and Access Management ユーザーガイドの「[Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)」を参照してください。

**[開始する前に]**  
リモートドキュメントを実行する前に、次のタスクを完了する必要があります。
+ SSM コマンドドキュメントを作成し、リモートの場所に保存します。詳細については、[SSM ドキュメントコンテンツを作成する](documents-creating-content.md)を参照してください。
+ プライベート GitHub リポジトリに保存されているリモートドキュメントを実行する場合は、GitHub セキュリティアクセストークンの Systems Manager `SecureString` パラメータを作成する必要があります。SSH 経由でトークンを手動で渡すことで、プライベート GitHub リポジトリのリモートドキュメントにアクセスすることはできません。アクセストークンは、Systems Manager `SecureString` パラメータとして渡す必要があります。`SecureString` パラメータの作成の詳細については、「[Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)」を参照してください。

## リモートドキュメントを実行する (コンソール)
<a name="documents-running-remote-github-s3-console"></a>

**リモートドキュメントを実行するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Run Command]** を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**Document (ドキュメント)**] リストで、[**`AWS-RunDocument`**] を選択します。

1. [**Command parameters (コマンドパラメータ)**] で、[**Source Type (ソースタイプ)**] としてオプションを選択します。
   + **[GitHub]** を選択した場合は、**[ソース情報]** の情報を次の形式で指定します。

     ```
     {
         "owner": "owner_name",
         "repository": "repository_name",
         "path": "path_to_document",
         "getOptions":"branch:branch_name",
         "tokenInfo": "{{ssm-secure:secure-string-token}}"
     }
     ```

     例えば、次のようになります。

     ```
     {
         "owner":"TestUser",
         "repository":"GitHubTestExamples",
         "path":"scripts/python/test-script",
         "getOptions":"branch:exampleBranch",
         "tokenInfo":"{{ssm-secure:my-secure-string-token}}"
     }
     ```
**注記**  
`getOptions` は、マスター以外のブランチまたはリポジトリ内の特定のコミットからコンテンツを取得するための追加オプションです。マスターブランチで最新のコミットを使用している場合は、`getOptions` を省略できます。`branch` は、SSM ドキュメントが `master` 以外のブランチに保存されている場合にのみ必要です。  
リポジトリ内の特定の*コミット*にあるバージョンの SSM ドキュメントを使用するには、`commitID` ではなく、`getOptions` を指定して `branch` を使用します。以下に例を示します。  

     ```
     "getOptions": "commitID:bbc1ddb94...b76d3bEXAMPLE",
     ```
   + [**S3**] を選択した場合は、[**Source Info**] 情報を次の形式で指定します。

     ```
     {"path":"URL_to_document_in_S3"}
     ```

     以下に例を示します。

     ```
     {"path":"https://s3.amazonaws.com/amzn-s3-demo-bucket/scripts/ruby/mySSMdoc.json"}
     ```
   + [**SSMDocument**] を選択した場合は、[**Source Info**] 情報を次の形式で指定します。

     ```
     {"name": "document_name"}
     ```

     以下に例を示します。

     ```
     {"name": "mySSMdoc"}
     ```

1. [**Document Parameters**] フィールドに、リモート SSM ドキュメントのパラメータを入力します。例えば、`AWS-RunPowerShell` ドキュメントを実行する場合、以下を指定できます。

   ```
   {"commands": ["date", "echo \"Hello World\""]}
   ```

   `AWS-ConfigureAWSPack` ドキュメントを実行する場合は、以下を指定できます。

   ```
   {
      "action":"Install",
      "name":"AWSPVDriver"
   }
   ```

1. **[Targets]** (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[その他のパラメータ]** で、以下の操作を行います。
   + **[コメント]** に、このコマンドに関する情報を入力します。
   + **[タイムアウト (秒)]** に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

**注記**  
Run Command を使用してスクリプトを呼び出すときに使用するサーバーとインスタンスの再起動については、「[コマンド実行時の再起動の処理](send-commands-reboot.md)」を参照してください。

# SSM ドキュメントの共有
<a name="documents-ssm-sharing"></a>

AWS Systems Manager (SSM) ドキュメントは、同じ AWS リージョン のアカウントとプライベートに共有することも、パブリックに共有することもできます。ドキュメントをプライベートに共有するには、ドキュメントのアクセス許可を変更して、特定の人物が AWS アカウント ID に基づいてドキュメントにアクセスできるようにします。SSM ドキュメントをパブリックに共有するには、ドキュメントのアクセス許可を変更し、[`All`] を指定します。ドキュメントをパブリックとプライベートで同時に共有することはできません。

**警告**  
信頼できるソースの共有 SSM ドキュメントのみ使用してください。共有ドキュメントを使用するときは、使用する前にドキュメントのコンテンツを慎重に確認し、インデックスの設定がどのように変わるかを理解してください。共有ドキュメントのベストプラクティスの詳細については、「[共有 SSM ドキュメントのベストプラクティス](#best-practices-shared)」を参照してください。

**制限事項**  
SSM ドキュメントの作業を始めるときは、次の制限事項に注意してください。
+ 所有者のみがドキュメントを共有できます。
+ ドキュメントを削除するには、その前にドキュメントの共有を停止する必要があります。詳細については、「[共有 SSM ドキュメントのアクセス許可を変更する](#modify-permissions-shared)」を参照してください。
+ 最大 1000 個の でドキュメントを共有できますAWS アカウント この制限の引き上げをリクエストするには、[サポート センター](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)までお問い合わせください。[**制限のタイプ**] で、[*EC2 Systems Manager*] を選択し、リクエストの理由を入力します。
+ パブリックに最大 5 件の SSM ドキュメントを共有できます。この制限の引き上げをリクエストするには、[サポート センター](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase)までお問い合わせください。[**制限のタイプ**] で、[*EC2 Systems Manager*] を選択し、リクエストの理由を入力します。
+ ドキュメントは、同じ AWS リージョン の他のアカウントとのみ共有できます。クロスリージョン共有はサポートされていません。

**重要**  
Systems Manager において、*Amazon 所有*の SSM ドキュメントとは、Amazon Web Services 自体によって作成および管理されているドキュメントです。*Amazon 所有*のドキュメントでは、ドキュメント名に `AWS-*` のようなプレフィックスが含まれます。ドキュメントの所有者は、AWS 内の特定のユーザーアカウントではなく Amazon と見なされます。これらのドキュメントは公開されており、誰でも使用できます。

Systems Manager のService Quotas の詳細については、「[AWS Systems Manager の Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)」を参照してください。

**Topics**
+ [共有 SSM ドキュメントのベストプラクティス](#best-practices-shared)
+ [SSM ドキュメントのパブリック共有をブロックする](#block-public-access)
+ [SSM ドキュメントを共有する](#ssm-how-to-share)
+ [共有 SSM ドキュメントのアクセス許可を変更する](#modify-permissions-shared)
+ [共有 SSM ドキュメントを使用する](#using-shared-documents)

## 共有 SSM ドキュメントのベストプラクティス
<a name="best-practices-shared"></a>

共有ドキュメントを共有したり使用したりする前に、次のガイドラインを確認してください。

**機密情報を削除する**  
AWS Systems Manager (SSM) ドキュメントを慎重に確認して、機密情報があればそれを削除します。例えば、ドキュメントに AWS 認証情報が含まれていないことを確認します。特定のユーザーとドキュメントを共有する場合、そのユーザーはドキュメント内の情報を表示することができます。パブリックにドキュメントを共有する場合、誰でもドキュメント内の情報を表示することができます。

**ドキュメントのパブリック共有をブロックする**  
アカウント内のすべてのパブリック共有されている SSM ドキュメントを確認し、共有を継続するかどうかを確認します。特定のドキュメントのパブリック共有を停止するには、このトピックの [共有 SSM ドキュメントのアクセス許可を変更する](#modify-permissions-shared) セクションで説明しているように、そのドキュメントのアクセス許可設定を変更する必要があります。パブリック共有ブロック設定を有効にしても、現在パブリック共有しているドキュメントには影響しません。ユースケースでパブリック共有を有効にする必要がある場合を除き、Systems Manager ドキュメントコンソールの **[詳細設定]** セクションで、SSM ドキュメントのパブリック共有ブロック設定をオンにすることをお勧めします。この設定をオンにすると、SSM ドキュメントへの不要なアクセスを防止できます。パブリック共有のブロック設定は、アカウントレベルの設定で、各 AWS リージョン で異なる可能性があります。

**IAM 信頼ポリシーを使用して Run Command アクションを制限する**  
ドキュメントにアクセスできるユーザーに対する制限付き AWS Identity and Access Management (IAM) ポリシーを作成します。IAM ポリシーにより、ユーザーが Amazon Elastic Compute Cloud (Amazon EC2) コンソールで表示できるか、AWS Command Line Interface (AWS CLI) または AWS Tools for Windows PowerShell で `ListDocuments` を呼び出して表示できる SSM ドキュメントが決まります。このポリシーでは、SSM ドキュメントに対してユーザーが実行できるアクションも制限されます。制限付きポリシーを作成し、ユーザーが特定のドキュメントのみを表示するようにできます。詳細については、「[カスタマーマネージドポリシーの例](security_iam_id-based-policy-examples.md#customer-managed-policies)」を参照してください。

**共有 SSM ドキュメントを使用する際の注意事項**  
インスタンスで実行されるコマンドを理解するために、共有されている各ドキュメント (特にパブリックドキュメント) のコンテンツを確認します。ドキュメントは、実行後に意図的または非意図的に悪影響を及ぼすことがあります。ドキュメントが外部ネットワークを参照している場合、ドキュメントを使用する前に外部ソースを確認してください。

**ドキュメントハッシュを使用してコマンドを送信する**  
ドキュメントを共有する場合、システムは Sha-256 ハッシュを作成し、それをドキュメントに割り当てます。また、システムはドキュメントコンテンツのスナップショットを保存します。共有ドキュメントを使用してコマンドを送信するときは、コマンドでハッシュを指定して、次の条件が確実に該当するようにできます。  
+ 正しい Systems Manager ドキュメントからコマンドを実行している
+ ドキュメントが自分と共有されてからコンテンツが変更されていない
ハッシュが、指定されたドキュメントと一致しない場合、または共有ドキュメントのコンテンツが変更されている場合、コマンドは `InvalidDocument` 例外を返します。ハッシュは、外部の場所からドキュメントのコンテンツを確認することはできません。

**補間パラメータを使用してセキュリティを高める**  
SSM ドキュメントの `String` タイプのパラメータでは、パラメータと値 `interpolationType": "ENV_VAR` を使用して、パラメータ入力を潜在的に実行可能なコマンドではなく文字列リテラルとして処理することにより、コマンドインジェクション攻撃に対するセキュリティを高めます。この場合、エージェントは、パラメータの値を含む `SSM_parameter-name` という名前の環境変数を作成します。`String` タイプのパラメータを含む既存の SSM ドキュメントをすべて更新して `"interpolationType": "ENV_VAR"` を含めておくことが推奨されます。詳細については、「[SSM ドキュメントコンテンツを書き込む](documents-creating-content.md#writing-ssm-doc-content)」を参照してください。

## SSM ドキュメントのパブリック共有をブロックする
<a name="block-public-access"></a>

開始する前に、AWS アカウント でパブリック共有されている SSM ドキュメントをすべて確認し、共有を継続するかどうかを確認します。特定の SSM ドキュメントのパブリック共有を停止するには、このトピックの [共有 SSM ドキュメントのアクセス許可を変更する](#modify-permissions-shared) セクションで説明しているように、そのドキュメントのアクセス許可設定を変更する必要があります。パブリック共有ブロック設定を有効にしても、現在パブリック共有している SSM ドキュメントには影響しません。パブリック共有ブロック設定を有効にすると、追加の SSM ドキュメントをパブリック共有できなくなります。

ユースケースでパブリック共有を有効にする必要がある場合を除き、SSM ドキュメントのパブリック共有ブロック設定をオンにすることをお勧めします。この設定をオンにすると、SSM ドキュメントへの不要なアクセスを防止できます。パブリック共有のブロック設定は、アカウントレベルの設定で、各 AWS リージョン で異なる可能性があります。現在共有していない SSM ドキュメントについてパブリック共有をブロックするには、次のタスクを完了します。

### パブリック共有のブロック (コンソール)
<a name="block-public-access-console"></a>

**SSM ドキュメントのパブリック共有をブロックするには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. [**Preferences (設定)**] を選択してから、**パブリック共有のブロック**セクションにある [**編集**] を選択します。

1. [**パブリック共有のブロック**] のチェックボックスを選択してから、[**保存**]を選択します。

### パブリック共有のブロック (コマンドライン)
<a name="block-public-access-cli"></a>

AWS Command Line Interface(AWS CLI) を開く、またはローカルコンピュータの AWS Tools for Windows PowerShellを開き、以下のコマンドを実行してSSM ドキュメントのパブリック共有をブロックします。

------
#### [ Linux & macOS ]

```
aws ssm update-service-setting  \
    --setting-id /ssm/documents/console/public-sharing-permission \
    --setting-value Disable \
    --region 'The AWS リージョン you want to block public sharing in'
```

------
#### [ Windows ]

```
aws ssm update-service-setting ^
    --setting-id /ssm/documents/console/public-sharing-permission ^
    --setting-value Disable ^
    --region "The AWS リージョン you want to block public sharing in"
```

------
#### [ PowerShell ]

```
Update-SSMServiceSetting `
    -SettingId /ssm/documents/console/public-sharing-permission `
    -SettingValue Disable `
    –Region The AWS リージョン you want to block public sharing in
```

------

以下のコマンドで、設定値が更新されたことを確認します。

------
#### [ Linux & macOS ]

```
aws ssm get-service-setting   \
    --setting-id /ssm/documents/console/public-sharing-permission \
    --region The AWS リージョン you blocked public sharing in
```

------
#### [ Windows ]

```
aws ssm get-service-setting  ^
    --setting-id /ssm/documents/console/public-sharing-permission ^
    --region "The AWS リージョン you blocked public sharing in"
```

------
#### [ PowerShell ]

```
Get-SSMServiceSetting `
    -SettingId /ssm/documents/console/public-sharing-permission `
    -Region The AWS リージョン you blocked public sharing in
```

------

### IAM によるパブリック共有をブロックするためのアクセスの制限
<a name="block-public-access-changes-iam"></a>

AWS Identity and Access Management (IAM) ポリシーを作成して、ユーザーによるパブリック共有のブロック設定の変更を制限します。これにより、SSM ドキュメントへの不要なアクセスをユーザーが許可できなくなります。

以下は、ユーザーがパブリック共有をブロックする設定を更新できないようにする IAM ポリシーの例です。この例を使用するには、Amazon Web Services のアカウント ID の例を自分のアカウント ID に置き換える必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "ssm:UpdateServiceSetting",
            "Resource": "arn:aws:ssm:*:444455556666:servicesetting/ssm/documents/console/public-sharing-permission"
        }
    ]
}
```

------

## SSM ドキュメントを共有する
<a name="ssm-how-to-share"></a>

Systems Manager コンソールを使用して AWS Systems Manager (SSM) ドキュメントを共有できます。コンソールからドキュメントを共有する場合、共有できるのはドキュメントのデフォルトバージョンのみです。また、AWS Command Line Interface (AWS CLI)、AWS Tools for Windows PowerShell、または AWS SDK を使用して、`ModifyDocumentPermission` API オペレーションを呼び出すことで、プログラムで SSM ドキュメントを共有することもできます。ドキュメントを共有する前に、共有するユーザーの AWS アカウント ID を取得します。ドキュメントを共有する場合に、これらのアカウント ID を指定します。

### ドキュメントを共有する (コンソール)
<a name="share-using-console"></a>

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. ドキュメントリストで共有するドキュメントを選択し、[**詳細を表示**] を選択します。[**Permissions**] タブで自分がドキュメントの所有者であることを確認します。ドキュメントの所有者のみがドキュメントを共有できます。

1. [**Edit**] を選択します。

1. コマンドをパブリックに共有するには、[**Public**] を選択し、[**Save**] を選択します。コマンドをプライベートに共有するには、[**Private (プライベート)**] を選択し、AWS アカウント ID を入力します。次に、[**Add permission (アクセス権限の追加)**] を選択し、[**Save (保存)**] を選択します。

### ドキュメントの共有 (コマンドライン)
<a name="share-using-cli"></a>

次の手順では、コマンドラインセッションの AWS リージョン を指定する必要があります。

1. ローカルコンピュータで AWS CLI または AWS Tools for Windows PowerShell を開き、以下のコマンドを実行して認証情報を指定します。

   次のコマンドで、*[Region]* (リージョン) をユーザー自身の情報に置き換えます。サポートされている *region* 値の一覧については、「Amazon Web Services 全般のリファレンス」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある **Region** 列を参照してください。

------
#### [ Linux & macOS ]

   ```
   aws config
   
   AWS Access Key ID: [your key]
   AWS Secret Access Key: [your key]
   Default region name: region
   Default output format [None]:
   ```

------
#### [ Windows ]

   ```
   aws config
   
   AWS Access Key ID: [your key]
   AWS Secret Access Key: [your key]
   Default region name: region
   Default output format [None]:
   ```

------
#### [ PowerShell ]

   ```
   Set-AWSCredentials –AccessKey your key –SecretKey your key
   Set-DefaultAWSRegion -Region region
   ```

------

1. 次のコマンドを使用して、使用可能なすべての SSM ドキュメントの一覧を表示します。一覧には、作成したドキュメント、および自分と共有されたドキュメントが含まれます。

------
#### [ Linux & macOS ]

   ```
   aws ssm list-documents
   ```

------
#### [ Windows ]

   ```
   aws ssm list-documents
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentList
   ```

------

1. 特定のドキュメントを取得するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-document \
       --name document name
   ```

------
#### [ Windows ]

   ```
   aws ssm get-document ^
       --name document name
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocument `
       –Name document name
   ```

------

1. ドキュメントの説明を表示するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-document \
       --name document name
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-document ^
       --name document name
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentDescription `
       –Name document name
   ```

------

1. ドキュメントのアクセス権限を表示するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-document-permission \
       --name document name \
       --permission-type Share
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-document-permission ^
       --name document name ^
       --permission-type Share
   ```

------
#### [ PowerShell ]

   ```
   Get-SSMDocumentPermission `
       –Name document name `
       -PermissionType Share
   ```

------

1. ドキュメントのアクセス権限を変更して共有するには、次のコマンドを使用します。アクセス権限を編集するには、ドキュメントの所有者である必要があります。オプションで、特定の AWS アカウント ID と共有するドキュメントの場合は、`--shared-document-version` パラメータを使用して共有するドキュメントのバージョンを指定できます。バージョンを指定しない場合、ドキュメント の `Default` バージョンが共有されます。ドキュメントをパブリックに (`all` と) 共有する場合は、指定したドキュメントのすべてのバージョンがデフォルトで共有されます。次のコマンド例は、特定の個人の AWS アカウント ID に基づいて、その個人とドキュメントをプライベートに共有します。

------
#### [ Linux & macOS ]

   ```
   aws ssm modify-document-permission \
       --name document name \
       --permission-type Share \
       --account-ids-to-add AWS アカウント ID
   ```

------
#### [ Windows ]

   ```
   aws ssm modify-document-permission ^
       --name document name ^
       --permission-type Share ^
       --account-ids-to-add AWS アカウント ID
   ```

------
#### [ PowerShell ]

   ```
   Edit-SSMDocumentPermission `
       –Name document name `
       -PermissionType Share `
       -AccountIdsToAdd AWS アカウント ID
   ```

------

1. 次のコマンドを使用してドキュメントをパブリックに共有します。
**注記**  
ドキュメントをパブリックに (`all` と) 共有する場合は、指定したドキュメントのすべてのバージョンがデフォルトで共有されます。

------
#### [ Linux & macOS ]

   ```
   aws ssm modify-document-permission \
       --name document name \
       --permission-type Share \
       --account-ids-to-add 'all'
   ```

------
#### [ Windows ]

   ```
   aws ssm modify-document-permission ^
       --name document name ^
       --permission-type Share ^
       --account-ids-to-add "all"
   ```

------
#### [ PowerShell ]

   ```
   Edit-SSMDocumentPermission `
       -Name document name `
       -PermissionType Share `
       -AccountIdsToAdd ('all')
   ```

------

## 共有 SSM ドキュメントのアクセス許可を変更する
<a name="modify-permissions-shared"></a>

コマンドを共有する場合、AWS Systems Manager (SSM) ドキュメントへのアクセス権を削除するか、SSM ドキュメントを削除するまで、そのコマンドを表示および使用できます。ただし、共有されている限り、ドキュメントを削除することはできません。ドキュメントを削除する前に、共有を停止する必要があります。

### ドキュメント共有の停止 (コンソール)
<a name="unshare-using-console"></a>

**ドキュメント共有の停止**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. ドキュメントリストで共有を停止するドキュメントを選択し、**[詳細]** を選択します。**[アクセス許可]** セクションで自分がドキュメントの所有者であることを確認します。ドキュメントの所有者のみが、ドキュメントの共有を停止できます。

1. [**Edit**] を選択します。

1. [**X**] を選択してコマンドへのアクセス権を取り消す AWS アカウント ID を削除し、[**Save**] を選択します。

### ドキュメントの共有の停止 (コマンドライン)
<a name="unshare-using-cli"></a>

ローカルコンピュータで AWS CLI または AWS Tools for Windows PowerShell を開き、次のコマンドを実行してコマンドの共有を停止します。

------
#### [ Linux & macOS ]

```
aws ssm modify-document-permission \
    --name document name \
    --permission-type Share \
    --account-ids-to-remove 'AWS アカウント ID'
```

------
#### [ Windows ]

```
aws ssm modify-document-permission ^
    --name document name ^
    --permission-type Share ^
    --account-ids-to-remove "AWS アカウント ID"
```

------
#### [ PowerShell ]

```
Edit-SSMDocumentPermission `
    -Name document name `
    -PermissionType Share `
    –AccountIdsToRemove AWS アカウント ID
```

------

## 共有 SSM ドキュメントを使用する
<a name="using-shared-documents"></a>

AWS Systems Manager (SSM) ドキュメントを共有すると、システムは Amazon リソースネーム (ARN) を生成して、コマンドに割り当てます。Systems Manager コンソールから共有ドキュメントを選択して実行する場合、ARN は表示されません。ただし、Systems Manager コンソール以外の方法を使用して共有 SSM ドキュメントを実行する場合は、`DocumentName` リクエストパラメータにドキュメントの完全な ARN を指定する必要があります。コマンドを実行してドキュメントをリストすると、SSM ドキュメントの完全な ARN が表示されます。

**注記**  
AWS のパブリックドキュメント (先頭に `AWS-*` が付くドキュメント)、または自己所有のドキュメントに ARN を指定する必要はありません。

### 共有 SSM ドキュメントを使用する (コマンドライン)
<a name="using-shared-documents-cli"></a>

 **すべてのパブリック SSM ドキュメントをリスト表示するには** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents \
    --filters Key=Owner,Values=Public
```

------
#### [ Windows ]

```
aws ssm list-documents ^
    --filters Key=Owner,Values=Public
```

------
#### [ PowerShell ]

```
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
$filter.Key = "Owner"
$filter.Values = "Public"

Get-SSMDocumentList `
    -Filters @($filter)
```

------

 **自分と共有されているプライベート SSM ドキュメントをリスト表示するには** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents \
    --filters Key=Owner,Values=Private
```

------
#### [ Windows ]

```
aws ssm list-documents ^
    --filters Key=Owner,Values=Private
```

------
#### [ PowerShell ]

```
$filter = New-Object Amazon.SimpleSystemsManagement.Model.DocumentKeyValuesFilter
$filter.Key = "Owner"
$filter.Values = "Private"

Get-SSMDocumentList `
    -Filters @($filter)
```

------

 **使用できるすべての SSM ドキュメントをリスト表示するには** 

------
#### [ Linux & macOS ]

```
aws ssm list-documents
```

------
#### [ Windows ]

```
aws ssm list-documents
```

------
#### [ PowerShell ]

```
Get-SSMDocumentList
```

------

 **自分と共有されている SSM ドキュメントについての情報を入手するには** 

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------
#### [ PowerShell ]

```
Get-SSMDocumentDescription `
    –Name arn:aws:ssm:us-east-2:12345678912:document/documentName
```

------

 **共有 SSM ドキュメントを実行するには** 

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName \
    --instance-ids ID
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name arn:aws:ssm:us-east-2:12345678912:document/documentName ^
    --instance-ids ID
```

------
#### [ PowerShell ]

```
Send-SSMCommand `
    –DocumentName arn:aws:ssm:us-east-2:12345678912:document/documentName `
    –InstanceIds ID
```

------

# SSM ドキュメントを検索する
<a name="ssm-documents-searching"></a>

AWS Systems Manager (SSM) ドキュメントストアでは、フリーテキスト検索やフィルターによる検索を使用して、SSM ドキュメントを検索することができます。また、頻繁に使用する SSM ドキュメントを見つけるのに役立つように、ドキュメントをお気に入りに追加することもできます。ここでは、これらを使用する方法について説明します。

## フリーテキスト検索の使用
<a name="ssm-documents-searching-free-text"></a>

Systems Manager の [**ドキュメント**] ページの検索ボックスでは、フリーテキスト検索がサポートされています。フリーテキスト検索では、入力した検索語を各 SSM ドキュメントのドキュメント名と比較します。例えば、「**ansible**」という 1 つの検索語を入力すると、Systems Manager はこの語を含むすべての SSM ドキュメントを返します。複数の検索語を入力すると、Systems Manager は `OR` ステートメントを使用して検索します。例えば、**ansible** と **linux** を指定すると、名前に*どちらか*の検索語を含むすべてのドキュメントが返されます。

フリーテキスト検索用語を入力して [**Platform type**] (プラットフォームタイプ) などの検索オプションを選択する場合は、検索が `AND` 文を使用して、名前に指定したキーワードが含まれ、かつ指定したプラットフォームタイプのすべてのドキュメントを返します。

**注記**  
フリーテキスト検索では、次の点に注意してください。  
フリーテキスト検索では、大文字と小文字は区別*されません*。
検索語は 3～20 文字にする必要があります。
フリーテキスト検索では、検索語を 5 つまで使用できます。
検索語の間にスペースを入れると、検索時にスペースが含まれます。
フリーテキスト検索は、[**Document type (ドキュメントタイプ)**] や [**Platform type (プラットフォームタイプ)**] などの他の検索オプションと組み合わせることができます。
[**Document name prefix (ドキュメント名のプレフィックス)**] フィルターとフリーテキスト検索は一緒に使用できません。

**SSM ドキュメントを検索するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. 検索ボックスに検索語を入力し、Enter キーを押します。

### AWS CLI を使用したドキュメントのフリーテキスト検索の実行
<a name="ssm-documents-searching-free-text-cli"></a>

**CLI を使用してドキュメントのフリーテキスト検索を実行するには**

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 1 つの検索語でドキュメントのフリーテキスト検索を実行するには、次のコマンドを実行します。このコマンドの *search\$1term* を使用する検索語に置き換えてください。

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="search_term"
   ```

   以下に例を示します。

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="aws-asg" --region us-east-2
   ```

   複数の検索語を使用して `AND` 演算で検索するには、次のコマンドを実行します。このコマンドの *search\$1term\$11* と *search\$1term\$12* を使用する検索語に置き換えてください。

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="search_term_1","search_term_2","search_term_3" --region us-east-2
   ```

   以下に例を示します。

   ```
   aws ssm list-documents --filters Key="SearchKeyword",Values="aws-asg","aws-ec2","restart" --region us-east-2
   ```

## フィルターの使用
<a name="ssm-documents-searching-filters"></a>

Systems Manager の [**Documents (ドキュメント)**] ページの検索ボックスを選択すると、以下のフィルターが自動的に表示されます。
+ [Document name prefix (ドキュメント名のプレフィックス)]
+ [Platform types (プラットフォームタイプ)]
+ [Document type (ドキュメントタイプ)]
+ タグキー

![\[SSM ドキュメントページのフィルターオプション\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/ssm-documents-filters-1.png)


1 つのフィルターを使用して、SSM ドキュメントを検索できます。より具体的な SSM ドキュメントのセットを返す場合は、複数のフィルターを適用できます。次の図は、[**Platform types (プラットフォームタイプ)**] フィルターと [**Document name prefix (ドキュメント名のプレフィックス)**] フィルターを使用した検索の例を示しています。

![\[SSM ドキュメントページで複数のフィルターオプションを適用します。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/ssm-documents-filters-2.png)


複数のフィルターを適用すると、Systems Manager は選択したフィルターに基づいて異なる検索ステートメントで検索します。
+ *同じ*フィルター ([**Document name prefix (ドキュメント名のプレフィックス)**] など) を複数回適用すると、Systems Manager は `OR` ステートメントを使用して検索します。例えば、1 つ目の [**Document name prefix (ドキュメント名のプレフィックス)**] フィルターに「**AWS**」を指定し、2 つ目の [**Document name prefix (ドキュメント名のプレフィックス)**] フィルターに「**Lambda**」を指定した場合、検索ではプレフィックスが「`AWS`」のすべてのドキュメントとプレフィックスが「`Lambda`」のすべてのドキュメントが返されます。
+ *異なる*フィルターを適用する場合 ([**Document name prefix**] (ドキュメント名プレフィックス) と [**Platform types**] (プラットフォームタイプ) など)、Systems Manager は検索に `AND` ステートメントを使用します。例えば、[**Document name prefix**] (ドキュメント名プレフィックス) のフィルターに **AWS** を使用し、[**Platform types**] (プラットフォームタイプ) のフィルターに **Linux** を指定した場合、検索結果は「`AWS`」のプレフィックスが付いたドキュメントのうち、Linux プラットフォーム固有のものをすべて表示します。

**注記**  
フィルターを使用する検索では、大文字と小文字は区別されます。

## ドキュメントのお気に入りへの追加
<a name="favorite-documents"></a>

頻繁に使用する SSM ドキュメントを見つけやすいように、ドキュメントをお気に入りに追加してください。1 つのドキュメントタイプ、AWS アカウント および AWS リージョン 1 つにつき、最大 20 のドキュメントをお気に入りに追加できます。ドキュメント AWS マネジメントコンソール からお気に入りを選択、変更、表示できます。次の手順は、お気に入りを選択、変更、表示する方法について説明します。

**SSM ドキュメントをお気に入りにするには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. お気に入りにしたいドキュメント名の横にある星のアイコンを選択します。

**SSM ドキュメントをお気に入りから削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. お気に入りから削除するドキュメント名の横にある星アイコンを選択解除します。

**ドキュメント AWS マネジメントコンソール からお気に入りを表示するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[ドキュメント]** を選択します。

1. **[お気に入り]** タブを選択します。