O nível premium do Assured Open Source Software (Assured OSS) permite melhorar a segurança do código usando os pacotes OSS que o Google usa nos próprios fluxos de trabalho de desenvolvedores. Ao usar o Assured OSS, os desenvolvedores podem aproveitar a experiência e a especialização em segurança que o Google aplica para proteger as próprias dependências de código aberto.
Ao integrar o Assured OSS ao Security Command Center, você pode fazer o seguinte:
- Escolha entre milhares de pacotes selecionados e mais populares de Java e Python, incluindo projetos comuns de machine learning e inteligência artificial, como TensorFlow, Pandas e Scikit-learn.
- Configure um proxy seguro para fazer o download de todos os pacotes Java, Python e JavaScript com atestados do Assured OSS, tornando o Google um fornecedor conhecido e confiável.
- Use os SBOMs e VEX no Assured OSS, que são fornecidos em formatos padrão do setor, como SPDX e CycloneDX, para saber mais sobre seus ingredientes.
- Aumente a confiança na integridade dos pacotes que você está usando com a procedência comprovada e adulterada do Google.
- Reduza o risco de segurança, já que o Google está verificando, encontrando e corrigindo novas vulnerabilidades em pacotes selecionados.
Antes de começar
Conclua estas tarefas antes de concluir as demais tarefas desta página.
Ativar o nível Enterprise do Security Command Center
Verifique se o nível do Security Command Center Enterprise está ativado no nível da organização e se você concluiu as seis primeiras etapas no guia de configuração.
Configurar permissões no nível da organização
É necessário configurar permissões no nível da organização e do projeto.
-
Make sure that you have the following role or roles on the organization: Security Center Admin, Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the organization.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecionar uma organização.
- Clique em CONCEDER ACESSO.
-
No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar um papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
Configurar permissões no nível do projeto
-
Make sure that you have the following role or roles on the project: Service Usage Admin, Service Account Admin, Project IAM Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Acessar o IAM - Selecionar um projeto.
- Clique em CONCEDER ACESSO.
-
No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.
- Na lista Selecionar um papel, escolha um.
- Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
- Clique em Salvar.
Configurar a Google Cloud CLI
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Configurar o Assured OSS
Console
No console do Google Cloud, acesse a página Visão geral de riscos do Security Command Center.
Verifique se você está visualizando a organização em que ativou o nível do Security Command Center Enterprise.
Clique em Ver o guia de configuração.
Clique em Configurar segurança do código.
Selecione uma nova conta de serviço ou as contas de serviço atuais para adicionar as permissões do software de código aberto garantido.
Selecione o projeto do Google Cloud em que você quer localizar os recursos do Assured OSS.
Clique em Configurar o Assured OSS.
O processo de configuração conclui automaticamente o seguinte:
- Se selecionado, cria a nova conta de serviço
assuredoss@PROJECT_ID.gservicesaccount.com
. - Atribui o papel de usuário do Assured OSS à conta de serviço designada para uso com o Assured OSS.
- Atribui a função de administrador do Assured OSS à conta de usuário conectada para que ela possa configurar o serviço.
- Ativa a API Assured Open Source Software e, se ainda não estiver ativada, a API Artifact Registry.
- Configura o serviço de proxy do Assured OSS em uma instância do Artifact Registry no projeto selecionado. Um repositório é provisionado para cada linguagem (Java, Python e JavaScript). Esses repositórios podem extrair pacotes automaticamente do portfólio selecionado. Se um pacote não estiver disponível como parte do portfólio selecionado, os repositórios redirecionarão a solicitação para os repositórios canônicos. O serviço de proxy oferece suporte apenas à região dos EUA.
- Concede a você e à conta de serviço permissões para acessar metadados e notificações de pacotes de projetos de propriedade do Google.
- Se selecionado, cria a nova conta de serviço
Crie uma chave de conta de serviço para cada conta de serviço designada do Assured OSS e faça o download dela no formato JSON.
Na linha de comando da máquina local, execute o comando abaixo no arquivo de chave transferido por download para receber a string codificada em base64:
base64 KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você fez o download.Você vai precisar da string codificada em base64 ao configurar um repositório remoto para o Assured OSS.
Para fazer o download dos pacotes, use os endpoints que o Assured OSS provisiona para cada idioma. Anote esses endpoints para uso futuro.
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.- Java:
Clique em Próxima. Configure o Assured OSS com o gerenciador de repositório de artefatos da sua organização, como o JFrog Artifactory ou o Sonatype Nexus.
gcloud
Faça a autenticação no Google Cloud com uma conta de usuário que você quer usar para ativar o Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
Pesquise o projeto em que você quer localizar os recursos do Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
Substitua
PROJECT_NAME
pelo nome do projeto.Defina o projeto em que você quer localizar os recursos do Assured OSS:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo identificador do projeto.Atribua papéis à conta de usuário para configurar o Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
em que
email@domain.com
é o endereço de e-mail da sua conta de usuário.Ative o Assured OSS no projeto. Ativar o Assured OSS também ativa a API Artifact Registry.
gcloud services enable assuredoss.googleapis.com
Para criar uma nova conta de serviço para o Assured OSS em vez de usar contas de serviço atuais, siga estas etapas:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
Substitua
SERVICE_ACCOUNT_NAME
pelo nome da conta de serviço (por exemplo,assuredoss
).Configure as contas de serviço para o Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/assuredoss.user
Substitua:
SERVICE_ACCOUNT_NAME
: o nome da conta de serviço (por exemplo,assuredoss
).PROJECT_ID
: o identificador do projeto.
Configure o serviço de proxy do Assured OSS em uma instância do Artifact Registry criando repositórios do Assured OSS. Você precisa criar repositórios para todos os idiomas. O serviço de proxy do Assured OSS que provisiona os repositórios é compatível apenas com a região dos EUA.
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}'
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.Esses repositórios podem extrair pacotes automaticamente do portfólio selecionado. Se um pacote não estiver disponível como parte do portfólio selecionado, os repositórios redirecionarão a solicitação para os repositórios canônicos.
Crie uma chave de conta de serviço para cada conta de serviço do Assured OSS e faça o download dela no formato JSON.
Na linha de comando, execute o seguinte comando no arquivo de chave transferido por download para receber a string codificada em base64:
base64 KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você fez o download.Você vai precisar da string codificada em base64 ao configurar um repositório remoto para o Assured OSS.
Para fazer o download dos pacotes, use os endpoints provisionados pelo Assured OSS para cada idioma. Anote estes endpoints:
- Java:
https://us-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://us-python.pkg.dev/
PROJECT_ID
/assuredoss-python - JavaScript:
https://us-npm.pkg.dev/
PROJECT_ID
/assuredoss-javascript
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.- Java:
Configure o Assured OSS para fazer o download de pacotes com o gerenciador de repositório de artefatos da sua organização, como o JFrog Artifactory ou o Sonatype Nexus.
Se preferir, confira os pacotes Java, Python e JavaScript disponíveis:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você fez o download.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
Substitua
KEY_FILENAME.json
pelo nome da chave da conta de serviço que você fez o download.gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-javascript/packages"
Substitua
PROJECT_ID
pelo ID do projeto que você selecionou ao configurar o Assured OSS.
A seguir
- Validar sua conexão
- Fazer o download de pacotes Java
- Fazer o download de pacotes do Python
- Configurar um repositório remoto
- Verificar metadados de segurança
- Configurar notificações para atualizações de pacotes
-
-