Skip to main content
BlueXP copy and sync
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

외부 HashiCorp Vault를 사용하도록 데이터 브로커 그룹을 설정합니다

기여자 netapp-bcammett netapp-ivanad

Amazon S3, Azure 또는 Google Cloud 자격 증명이 필요한 동기화 관계를 생성하는 경우 BlueXP 복사본 및 동기화 사용자 인터페이스 또는 API를 통해 이러한 자격 증명을 지정해야 합니다. 또는 데이터 브로커 그룹을 설정하여 외부 HashiCorp 볼트에서 직접 자격 증명(또는 비밀)에 액세스할 수도 있습니다.

이 기능은 Amazon S3, Azure 또는 Google Cloud 자격 증명이 필요한 동기화 관계가 있는 BlueXP 복사 및 동기화 API를 통해 지원됩니다.

1개 볼트를 준비합니다

URL을 설정하여 데이터 브로커 그룹에 자격 증명을 제공할 볼트를 준비합니다. 볼트의 비밀에 대한 URL은 _creds_로 끝나야 합니다.

2개 데이터 브로커 그룹을 준비합니다

그룹의 각 데이터 브로커에 대한 로컬 구성 파일을 수정하여 외부 볼트에서 자격 증명을 가져오도록 데이터 브로커 그룹을 준비합니다.

세 가지 API를 사용하여 동기화 관계를 생성합니다

이제 모든 것이 설정되었으므로 API 호출을 전송하여 볼트를 사용하는 동기화 관계를 만들어 비밀을 가져올 수 있습니다.

볼트를 준비합니다

BlueXP 복사본을 제공하고 URL과 볼트 내 비밀에 동기화해야 합니다. 이러한 URL을 설정하여 볼트를 준비합니다. 만들려는 동기화 관계의 각 소스 및 타겟의 자격 증명에 대한 URL을 설정해야 합니다.

URL은 다음과 같이 설정해야 합니다.

'/<path>/<requested>/<endpoint-protocol>creds'

경로

비밀에 대한 접두사 경로입니다. 이는 귀하에게 고유한 모든 가치가 될 수 있습니다.

요청 ID입니다

생성해야 하는 요청 ID입니다. 동기화 관계를 생성할 때 API POST 요청의 헤더 중 하나에 ID를 제공해야 합니다.

엔드포인트 프로토콜

정의된 대로 다음 프로토콜 중 하나입니다 "사후 관계 v2 문서에서"S3, Azure 또는 GCP(각각 대문자여야 함).

크레드

URL은 _creds_로 끝나야 합니다.

다음 예제에서는 비밀에 대한 URL을 보여 줍니다.

소스 자격 증명의 전체 URL 및 경로 예

http://example.vault.com:8200/my-path/all-secrets/hb312vdasr2/S3Creds 으로 문의하십시오

예제에서 볼 수 있듯이 접두사 경로는 _/my-path/all-sids/_이고 요청 ID는 _hb312vdasr2_이며 소스 끝점은 S3입니다.

대상 자격 증명의 전체 URL 및 경로 예

http://example.vault.com:8200/my-path/all-secrets/n32hcbnejk2/AZURECreds 으로 문의하십시오

접두사 경로는 _/my-path/all-sats/_이고, 요청 ID는 _n32hcbnejk2_이며, 대상 끝점은 Azure입니다.

데이터 브로커 그룹을 준비합니다

그룹의 각 데이터 브로커에 대한 로컬 구성 파일을 수정하여 외부 볼트에서 자격 증명을 가져오도록 데이터 브로커 그룹을 준비합니다.

단계
  1. 그룹의 데이터 브로커에 SSH를 연결합니다.

  2. /opt/netapp/databroker/config에 있는 local.json 파일을 편집합니다.

  3. enable을 * true * 로 설정하고 다음과 같이 _external-통합.hashicorp_에서 config 매개 변수 필드를 설정합니다.

    활성화됨
    • 유효한 값: TRUE/FALSE

    • Type:Boolean 을 입력합니다

    • 기본값: false

    • 참: 데이터 브로커는 외부의 HashashCorp Vault에서 비밀을 얻습니다

    • 거짓: 데이터 브로커는 로컬 볼트에 자격 증명을 저장합니다

    URL
    • 유형: string

    • 값: 외부 볼트의 URL

    경로
    • 유형: string

    • 값: 자격 증명을 사용하여 비밀번호에 대한 접두사 경로입니다

    거부 - 승인되지 않음
    • 데이터 브로커가 승인되지 않은 외부 볼트를 거부하도록 할지 여부를 결정합니다

    • Type:Boolean 을 입력합니다

    • 기본값: false

    인증 방법
    • 데이터 브로커가 외부 볼트에서 자격 증명에 액세스하기 위해 사용해야 하는 인증 방법입니다

    • 유형: string

    • 유효한 값: “AWS-IAM”/“ROLE-APP”/"GCP-IAM"

    역할 이름
    • 유형: string

    • 역할 이름(AWS-IAM 또는 GCP-IAM을 사용하는 경우)

    정전동맥(&R)
    • 유형: 문자열(APP-ROLE 사용 시)

    네임스페이스
    • 유형: string

    • 네임스페이스(필요한 경우 X-Vault-Namespace 헤더)

  4. 그룹의 다른 데이터 브로커에 대해 이 단계를 반복합니다.

AWS 역할 인증의 예

{
          “external-integrations”: {
                  “hashicorp”: {
                         “enabled”: true,
                         “url”: “https://example.vault.com:8200”,
                         “path”: ““my-path/all-secrets”,
                         “reject-unauthorized”: false,
                         “auth-method”: “aws-role”,
                         “aws-role”: {
                               “role-name”: “my-role”
                         }
                }
       }
}

GCP-IAM 인증의 예

{
"external-integrations": {
    "hashicorp": {
      "enabled": true,
      "url": http://ip-10-20-30-55.ec2.internal:8200,
      "path": "v1/secret",
      "namespace": "",
      "reject-unauthorized": true,
      "auth-method": "gcp-iam",
      "aws-iam": {
        "role-name": ""
      },
      "app-role": {
        "root_id": "",
        "secret_id": ""
      },
"gcp-iam": {
          "role-name": "my-iam-role"
      }
    }
  }
}

GCP-IAM 인증을 사용할 때 권한을 설정합니다

_GCP-IAM_인증 방법을 사용하는 경우 데이터 브로커에 다음과 같은 GCP 권한이 있어야 합니다.

- iam.serviceAccounts.signJwt

볼트의 비밀을 사용하여 새 동기화 관계를 작성합니다

이제 모든 것이 설정되었으므로 API 호출을 전송하여 볼트를 사용하는 동기화 관계를 만들어 비밀을 가져올 수 있습니다.

BlueXP 복사 및 동기화 REST API를 사용하여 관계를 게시합니다.

Headers:
Authorization: Bearer <user-token>
Content-Type: application/json
x-account-id: <accountid>
x-netapp-external-request-id-src: request ID as part of path for source credentials
x-netapp-external-request-id-trg: request ID as part of path for target credentials
Body: post relationship v2 body

POST 요청의 예:

url: https://api.cloudsync.netapp.com/api/relationships-v2
headers:
"x-account-id": "CS-SasdW"
"x-netapp-external-request-id-src": "hb312vdasr2"
"Content-Type": "application/json"
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik…"
Body:
{
"dataBrokerId": "5e6e111d578dtyuu1555sa60",
"source": {
        "protocol": "s3",
        "s3": {
                "provider": "sgws",
                "host": "1.1.1.1",
                "port": "443",
                "bucket": "my-source"
     },
"target": {
        "protocol": "s3",
        "s3": {
                "bucket": "my-target-bucket"
        }
    }
}