

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

# 外部アカウントのバインディング
<a name="acm-acme-eab"></a>

外部アカウントバインディング (EABs) は、ACME クライアントが ACME エンドポイントにアカウントを登録することを許可する認証情報です。ACME クライアントは、最初にアカウントを登録せずにエンドポイントに証明書をリクエストすることはできません。また、登録には有効な EAB 認証情報が必要です。PKI 管理者が EAB を作成すると、ACME クライアントが実行できる証明書オペレーションを制御する IAM ロールにその EAB が関連付けられます。次に、管理者は EAB 認証情報を、証明書を必要とするチームまたはシステムにout-of-bandに配布します。

各 EAB は、キー識別子 (キー ID) と MAC キーを生成します。ACME クライアントは、アカウント登録時にこれらの認証情報を使用して認可を証明します。ACME アカウントが作成されると、アカウントは EAB とは独立して動作します。EAB を取り消しまたは削除しても、その EAB で作成された既存の ACME アカウントには影響しません。

## IAM ロールの要件
<a name="acm-acme-eab-iam-role"></a>

各 EAB は IAM ロールに関連付けられています。このロールは、証明書の発行時または取り消し時に ACME クライアントが実行できる操作を決定します。ロールは、次の要件を満たしている必要があります。

信頼ポリシー  
ロールは、ACME サービスプリンシパル (`acm-acme.amazonaws.com`) が引き受けることを許可する必要があります。信頼ポリシーは、`sts:AssumeRole`、`sts:TagSession`、および を付与する必要があります`sts:SetSourceIdentity`。の条件は、ACM が ACME 用に確立するセッションのみ`sts:SourceIdentity`を許可します。  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "acm-acme.amazonaws.com"
            },
            "Action": [
                "sts:AssumeRole",
                "sts:TagSession",
                "sts:SetSourceIdentity"
            ],
            "Condition": {
                "StringLikeIfExists": {
                    "sts:SourceIdentity": "acm-acme-*"
                }
            }
        }
    ]
}
```
ACM が設定するロールセッション名、ソース ID、およびセッションタグ値については、「」を参照してください[ACME 証明書自動化用の IAM](security-iam-acme.md)。

アクセス許可  
ロールには`acm:RequestCertificate`、 (発行用) または `acm:RevokeCertificate` (取り消し用）、またはその両方が必要です。これらは、標準の ACM APIs。詳細については、「[ACM での条件キーの使用](acm-conditions.md)」を参照してください。

PassRole  
EAB を作成する管理者には、ロールに対する`iam:PassRole`アクセス許可が必要です。

IAM ポリシーの完全な例については、「」を参照してください[ACME 証明書自動化用の IAM](security-iam-acme.md)。

## EAB ロールの使用方法
<a name="acm-acme-eab-role-assumption"></a>

ACME クライアントが証明書を発行または取り消すと、ACM はクライアントの EAB に関連付けられた IAM ロールを使用してオペレーションを承認します。発行と取り消しはこのロールで実行されるため、ACME は標準の ACM API のように動作します。
+ 直接 ACM API コールに使用するのと同じ IAM ポリシーと条件キーが、ACME の発行と取り消しに適用されます。
+ AWS Organizations サービスコントロールポリシー (SCPsは発行時に適用されます。
+ 発行および取り消しオペレーションは CloudTrail に記録されます。
+ ACM は、ロールを引き受けるときにロールセッション名とソース ID (およびセッションタグ) を設定します。これは、ロールの信頼ポリシーの `sts:RoleSessionName` および `sts:SourceIdentity`条件キーで参照できます。ACM が使用する値については、「」を参照してください[ACME 証明書自動化用の IAM](security-iam-acme.md)。

## 認証情報の取得
<a name="acm-acme-eab-credentials"></a>

EAB を作成したら、 を使用してその認証情報を取得します`GetAcmeExternalAccountBindingCredentials`。これにより、次が返されます。
+ **キー ID:** EAB の一意の識別子 (ACME EAB `kid`の として使用されます）。
+ **MAC キー:** アカウント登録中に HMAC 署名を作成するために使用されるシークレットキー ( として使用`hmacKey`)。

**重要**  
MAC キーをシークレットとして扱います。エンドポイントの使用を許可する ACME クライアントにのみ配布します。

## オプションの有効期限
<a name="acm-acme-eab-expiration"></a>

EAB 認証情報の有効期限を設定できます。
+ **値:** 正の整数。
+ **タイプ:** `MINUTES`、`HOURS`、または `DAYS`。

有効期限が切れる前に認証情報が使用されていない場合、認証情報は無効になります。有効期限切れが設定されていない場合、認証情報は EAB が取り消または削除されるまで有効です。

## EAB と ACME アカウントのライフサイクル
<a name="acm-acme-eab-lifecycle"></a>

ACME クライアントが EAB 認証情報を使用してアカウントを登録すると、ACME アカウントと EAB には独立したライフサイクルがあります。
+ EAB を取り消しても、それを使用して作成された既存の ACME アカウントには影響しません。
+ EAB を削除しても、アカウントは非アクティブ化されません。
+ ACME アカウントは、元の EAB が取り消された後も証明書の発行を継続できます。

**注記**  
ACME アカウントによる証明書の発行を停止するには、アカウントを直接管理します。`RevokeAcmeAccount` API を使用してアカウントを取り消すことも、アカウント所有者が ACME プロトコルを使用してアカウントを無効にすることもできます。

## 外部アカウントバインディングの作成
<a name="acm-acme-eab-create"></a>

ACM コンソールまたは CLI を使用して EAB AWS を作成できます。

### EAB を作成するには (コンソール)
<a name="acm-acme-eab-create-console"></a>

1.  AWS マネジメントコンソールにサインインし、ACM コンソールを開きます。

1. 左側のナビゲーションペインの **ACME** で、**エンドポイント**を選択します。

1. エンドポイントを選択します。

1. **外部アカウントのバインド**タブを選択します。

1. **外部アカウントバインディングの作成** を選択します。

1. **IAM ロール**の場合は、ロールの ARN を入力または選択します。ロールには正しい信頼ポリシーが必要です。

1. (オプション) 認証情報の有効期限を設定します。

1. (オプション) **タグ**で、外部アカウントのバインディングに 1 つ以上のタグを追加します。

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

1. キー ID と MAC キーをコピーします。

**重要**  
MAC キーをシークレットとして扱います。キー識別子と MAC キーは、 を呼び出すことでいつでも再取得できます`GetAcmeExternalAccountBindingCredentials`。

### EAB (AWS CLI) を作成するには
<a name="acm-acme-eab-create-cli"></a>

次のコマンドを実行して EAB を作成します。

```
aws acm create-acme-external-account-binding \
    --acme-endpoint-arn arn:aws:acm:{{region}}:{{111122223333}}:acme-endpoint/{{00000000-0000-0000-0000-000000000000}} \
    --role-arn arn:aws:iam::{{111122223333}}:role/{{AcmeIssuanceRole}} \
    --expiration '{"Value": 7, "Type": "DAYS"}'
```

次に、認証情報を取得します。

```
aws acm get-acme-external-account-binding-credentials \
    --acme-external-account-binding-arn arn:aws:acm:{{region}}:{{111122223333}}:acme-endpoint/{{00000000-0000-0000-0000-000000000000}}/acme-external-account-binding/{{22222222-2222-2222-2222-222222222222}}
```

レスポンスには、ACME クライアントに提供するキー識別子と MAC キーが含まれます。これらの認証情報は、 を呼び出すことでいつでも再取得できます`GetAcmeExternalAccountBindingCredentials`。

```
{
    "KeyId": "{{e06b7974-a684-4cc2-b4b1-1fd87ac81baa}}",
    "MacKey": "{{txvweHF1-COvXAKNlGk-58SX6ZVzEaaXaBPrwNAKCTo}}"
}
```

## 外部アカウントバインディングの管理
<a name="acm-acme-eab-manage"></a>

EABs では、次の管理オペレーションを実行できます。

説明  
ロール ARN、有効期限、作成時刻、最後に使用された EAB の詳細を表示します。

リスト  
エンドポイントのすべての EABsを表示します。

取り消し  
EAB 認証情報を無効にします。これは EAB で作成された既存の ACME アカウントには影響しません。これらのアカウントを管理するには、 `RevokeAcmeAccount` API を使用してアカウントを取り消すか、アカウント所有者に ACME プロトコルを使用してアカウントを非アクティブ化させます。

Delete  
EAB リソースを完全に削除します。EAB に登録済みの ACME アカウントは引き続き存在します。EBA を削除すると、新しい ACME アカウントが登録されなくなります。